Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Close Lua plugins on reload | Simon Ser | 2020-01-10 | 1 | -2/+11 | |
| | ||||||
* | cmd/koushin: add -addr flag | Simon Ser | 2020-01-08 | 1 | -1/+3 | |
| | ||||||
* | readme: document hot reload | Simon Ser | 2020-01-08 | 1 | -0/+6 | |
| | ||||||
* | Implement plugin/template reload on SIGUSR1 | Simon Ser | 2020-01-08 | 3 | -39/+60 | |
| | | | | | | | | There's no way around having a global mutex, because we need to update the HTTP routes when reloading plugins. During reload we need to lock the whole server. Closes: https://todo.sr.ht/~sircmpwn/koushin/43 | |||||
* | cmd/koushin: reload on SIGUSR1 | Simon Ser | 2020-01-08 | 1 | -1/+16 | |
| | | | | References: https://todo.sr.ht/~sircmpwn/koushin/43 | |||||
* | Add Server.Reload | Simon Ser | 2020-01-08 | 3 | -16/+36 | |
| | | | | | This only reloads templates for now. In the future it'll also reload Lua plugins. | |||||
* | Make New return the Server | Simon Ser | 2020-01-08 | 2 | -6/+7 | |
| | | | | This will be useful to implement hot reload. | |||||
* | themes/sourcehut: add search input to mailbox view | Simon Ser | 2019-12-25 | 3 | -0/+14 | |
| | ||||||
* | Fix extra comma in address list | Simon Ser | 2019-12-18 | 1 | -1/+1 | |
| | ||||||
* | 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. |