Commit graph

25 commits

Author SHA1 Message Date
Alex McGrath 1988b2a158 make path to themes configurable via ldflags 2021-09-12 12:01:29 +02:00
j3s b5fcf10c44 Repoint repository references to new location 2020-11-20 07:38:10 -05:00
Drew DeVault 1992880454 Add theme-specific error page 2020-11-19 10:09:05 -05:00
Drew DeVault 86579bb478 Remove async SMTP queue 2020-11-13 10:33:19 -05:00
Drew DeVault a393429f01 Implement JavaScript UI for attachments
This one is a bit of a doozy. A summary of the changes:

- Session has grown storage for attachments which have been uploaded but
  not yet sent.
- The list of attachments on a message is refcounted so that we can
  clean up the temporary files only after it's done with - i.e. after
  copying to Sent and after all of the SMTP attempts are done.
- Abandoned attachments are cleared out on process shutdown.

Future work:
- Add a limit to the maximum number of pending attachments the user can
  have in the session.
- Periodically clean out abandoned attachments?
2020-10-29 15:18:36 -04:00
Drew DeVault b93b2bafa5 Rig up dowork event queue and graceful termination 2020-10-23 13:30:29 -04:00
Drew DeVault 9465f8db6d
login: set encrypted "remember me" token 2020-05-20 19:07:47 +02:00
Simon Ser b891a95fcf
Rename project to alps 2020-05-13 14:07:44 +02:00
Simon Ser 3cfd0b942b
cmd: print HTTP requests when -debug is enabled 2020-02-25 15:14:55 +01:00
Simon Ser 8299617ebc
Turn message part viewers into plugins 2020-02-12 15:41:00 +01:00
Simon Ser 13f5414691
cmd/koushin: add -debug flag 2020-02-11 18:39:52 +01:00
Simon Ser 5b78cdc104
plugins/caldav: new plugin
For now it can only list events for the current month.

References: https://todo.sr.ht/~sircmpwn/koushin/60
2020-02-05 18:14:26 +01:00
Simon Ser 6a6ece03e4
plugins/carddav: new plugin
A new minimal CardDAV plugin is introduced. It injects a list of e-mail
addresses in the e-mail compose view.

References: https://todo.sr.ht/~sircmpwn/koushin/7
2020-02-05 12:21:54 +01:00
Simon Ser b58c15d121
Extract Lua infrastructure into a plugin 2020-01-20 22:04:50 +01:00
Simon Ser db328bf7c3
Generalize upstream server URLs
koushin now takes a list of upstream URLs instead of an IMAP and SMTP
URL. This allows to specify upstream server URLs for plugins. In the
future, this will allow for auto-discovering upstream servers based on a
single domain name.

References: https://todo.sr.ht/~sircmpwn/koushin/49
2020-01-20 12:00:04 +01:00
Reto Brunner d5124c9645
Hide echo banner 2020-01-17 00:26:13 +01:00
Simon Ser 171da51289
cmd/koushin: add -addr flag 2020-01-08 12:01:50 +01:00
Simon Ser ad1d2ee7f4
Implement plugin/template reload on SIGUSR1
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
2020-01-08 11:50:29 +01:00
Simon Ser 3d8569d185
cmd/koushin: reload on SIGUSR1
References: https://todo.sr.ht/~sircmpwn/koushin/43
2020-01-08 11:02:39 +01:00
Simon Ser f6758264b2
Make New return the Server
This will be useful to implement hot reload.
2020-01-08 10:38:33 +01:00
Simon Ser d897eeee5c
Introduce base plugin
This plugin offers base IMAP/SMTP functionality.

References: https://todo.sr.ht/~sircmpwn/koushin/39
2019-12-16 12:52:44 +01:00
Simon Ser e94b1311de
Add basic theme support
References: https://todo.sr.ht/~sircmpwn/koushin/1
2019-12-04 18:30:01 +01:00
Simon Ser ae79f99876
Parse SMTP URL from CLI 2019-12-03 15:21:59 +01:00
Simon Ser 8b84d81f9b
Add initial login logic 2019-12-02 17:24:19 +01:00
Simon Ser a1a067e6de
Add HTTP server boilerplate 2019-12-02 15:31:00 +01:00