Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix header missing from raw e-mail download | Simon Ser | 2019-12-18 | 1 | -1/+11 |
| | |||||
* | Add a default CSP | Simon Ser | 2019-12-18 | 1 | -0/+7 |
| | | | | | Disallows loading external ressources. Providers can override it with their reverse proxy settings. | ||||
* | Implement paging for search | Simon Ser | 2019-12-17 | 3 | -16/+30 |
| | |||||
* | Document that plugins don't have access to passwords | Simon Ser | 2019-12-17 | 1 | -0/+3 |
| | |||||
* | Make Go plugin handlers take a *Context | Simon Ser | 2019-12-17 | 2 | -38/+25 |
| | | | | | Take a *Context instead of a echo.Context. This saves a type assertion in each handler. | ||||
* | Add Context to Plugin.Inject | Simon Ser | 2019-12-17 | 4 | -7/+7 |
| | | | | This allows to access the request metadata and the session from injectors. | ||||
* | Add RenderData interface | Simon Ser | 2019-12-17 | 5 | -27/+57 |
| | | | | This allows Go plugins to easily inject global data. | ||||
* | Rename RenderData to BaseRenderData | Simon Ser | 2019-12-17 | 2 | -12/+12 |
| | | | | RenderData will be used for an interface. | ||||
* | Allow Go Plugins to inject template data | Simon Ser | 2019-12-17 | 1 | -0/+21 |
| | |||||
* | Allow Lua plugins to inject all templates | Simon Ser | 2019-12-17 | 2 | -2/+9 |
| | |||||
* | Use Context.FormParams | Simon Ser | 2019-12-17 | 1 | -2/+4 |
| | |||||
* | Linkify address lists | Simon Ser | 2019-12-17 | 3 | -12/+17 |
| | |||||
* | Redirect / to INBOX | Simon Ser | 2019-12-17 | 1 | -0/+4 |
| | |||||
* | Add a form to set message flags | Simon Ser | 2019-12-17 | 6 | -24/+133 |
| | | | | References: https://todo.sr.ht/~sircmpwn/koushin/36 | ||||
* | plugins/base: extract route registration into function | Simon Ser | 2019-12-17 | 2 | -28/+30 |
| | |||||
* | themes/sourcehut: use formatdate template func | Simon Ser | 2019-12-17 | 1 | -2/+2 |
| | |||||
* | Add envelope metadata to message view | Simon Ser | 2019-12-17 | 3 | -11/+52 |
| | |||||
* | Improve docs | Simon Ser | 2019-12-17 | 3 | -8/+33 |
| | |||||
* | Add button to delete message | Simon Ser | 2019-12-16 | 3 | -0/+47 |
| | | | | | | Maybe we should add a confirmation step in the future. References: https://todo.sr.ht/~sircmpwn/koushin/36 | ||||
* | Add form to move messages | Simon Ser | 2019-12-16 | 5 | -2/+59 |
| | | | | References: https://todo.sr.ht/~sircmpwn/koushin/36 | ||||
* | Update deps | Simon Ser | 2019-12-16 | 2 | -33/+25 |
| | |||||
* | Export IMAPMessage | Simon Ser | 2019-12-16 | 2 | -16/+16 |
| | | | | This is a public type other plugins and templates may want to access. | ||||
* | Add attachments support to composer | Simon Ser | 2019-12-16 | 3 | -9/+57 |
| | | | | Closes: https://todo.sr.ht/~sircmpwn/koushin/13 | ||||
* | go fmt | Simon Ser | 2019-12-16 | 3 | -4/+4 |
| | |||||
* | Use <label> in compose form | Simon Ser | 2019-12-16 | 2 | -9/+12 |
| | |||||
* | Add basic search | Simon Ser | 2019-12-16 | 5 | -9/+74 |
| | | | | Closes: https://todo.sr.ht/~sircmpwn/koushin/23 | ||||
* | Add line break to login form | Simon Ser | 2019-12-16 | 1 | -0/+1 |
| | |||||
* | Replace Session.ConnectSMTP with Session.DoSMTP | Simon Ser | 2019-12-16 | 2 | -16/+19 |
| | | | | | This gives more flexibility in Session for optimizations, e.g. keep the SMTP connection around for some time if possible. | ||||
* | Rename Session.Do to Session.DoIMAP | Simon Ser | 2019-12-16 | 2 | -6/+6 |
| | |||||
* | Remove the public/ directory | Simon Ser | 2019-12-16 | 15 | -7/+18 |
| | | | | | Now that all templates are provided by plugins, there's no need to have a public/ directory. Themes can be in /themes instead of /public/themes. | ||||
* | Introduce base plugin | Simon Ser | 2019-12-16 | 22 | -450/+521 |
| | | | | | | This plugin offers base IMAP/SMTP functionality. References: https://todo.sr.ht/~sircmpwn/koushin/39 | ||||
* | Add an API for Go plugins | Simon Ser | 2019-12-16 | 3 | -1/+111 |
| | | | | References: https://todo.sr.ht/~sircmpwn/koushin/39 | ||||
* | gitignore: don't ignore sourcehut theme | Simon Ser | 2019-12-12 | 1 | -2/+3 |
| | |||||
* | Add simple Sourcehut-based theme | Drew DeVault | 2019-12-12 | 11 | -4/+5967 |
| | |||||
* | Fix undefined ErrSessionExpired | Simon Ser | 2019-12-12 | 2 | -2/+2 |
| | | | | Fixes: f07ab5263246 ("Add docs") | ||||
* | Add docs | Simon Ser | 2019-12-11 | 4 | -4/+26 |
| | |||||
* | Allow plugins to provide their own templates | Simon Ser | 2019-12-11 | 4 | -8/+27 |
| | |||||
* | readme: add godoc badge | Simon Ser | 2019-12-11 | 1 | -0/+2 |
| | |||||
* | Export Server.{Sessions,Plugins} | Simon Ser | 2019-12-11 | 4 | -13/+12 |
| | | | | And unexport a few internal functions. | ||||
* | Unexport NewSessionManager | Simon Ser | 2019-12-11 | 2 | -2/+2 |
| | | | | This isn't intended to be used by plugins. | ||||
* | Export Context.SetSession, unexport Session.Token | Simon Ser | 2019-12-11 | 3 | -10/+10 |
| | | | | | | | I'm uneasy exposing the token to plugins, I prefer to hide it if possible to prevent mis-use. This change allows plugins to logout users. | ||||
* | Export Context | Simon Ser | 2019-12-11 | 3 | -29/+34 |
| | | | | This allows plugins to access it. | ||||
* | Add plugins/ to .gitignore | Simon Ser | 2019-12-10 | 1 | -0/+1 |
| | |||||
* | go fmt | Simon Ser | 2019-12-10 | 3 | -17/+17 |
| | |||||
* | Introduce GlobalRenderData and RenderData | Simon Ser | 2019-12-10 | 2 | -7/+40 |
| | | | | | | | | GlobalRenderData contains some global metadata that can be obtained from any template. RenderData is a base type for template data. It contains a Global field with global metadata and an Extra field for plugins. | ||||
* | Load all themes on startup | Simon Ser | 2019-12-10 | 1 | -13/+54 |
| | | | | This is the first step to allow each user to have a different theme. | ||||
* | readme: add link to mailing list & issue tracker | Simon Ser | 2019-12-10 | 1 | -0/+5 |
| | |||||
* | Rename Plugin.Render to Plugin.Inject | Simon Ser | 2019-12-10 | 3 | -3/+3 |
| | | | | | This function doesn't render anything, it just adds extra data to the template data. | ||||
* | Extract Lua plugin logic into separate file | Simon Ser | 2019-12-10 | 2 | -151/+158 |
| | |||||
* | Allow plugins to add new routes | Simon Ser | 2019-12-10 | 3 | -0/+40 |
| | | | | References: https://todo.sr.ht/~sircmpwn/koushin/6 |