Simon Ser
a9a607b9b2
Allow plugins to add new routes
...
References: https://todo.sr.ht/~sircmpwn/koushin/6
2019-12-10 16:00:53 +01:00
Simon Ser
c5afd1a61b
Reconnect to IMAP server when logged out
...
The session manager has been upgraded to deal with reconnections.
Each session has its own expiration timer. Each time a request is
received, the expiration timer is reset.
A session can be closed (this is used when the user wants to logout).
When the IMAP connection is closed by the server, it's set to nil in the
session. The next time an IMAP command needs to be issued, the
connection is re-established.
Closes: https://todo.sr.ht/~sircmpwn/koushin/30
2019-12-09 19:35:15 +01:00
Simon Ser
7702925497
Make SessionManager create the IMAP client
...
This will allow SessionManager to re-connect when the IMAP server logs
the user out.
2019-12-09 18:35:51 +01:00
Simon Ser
efd401bfbf
Rename ConnPool to SessionManager
2019-12-09 18:16:31 +01:00
Simon Ser
76599232dc
Add a Lua API to set template filters
2019-12-09 17:54:24 +01:00
Simon Ser
4f74722c14
Add basic support for plugins
2019-12-09 16:05:40 +01:00
Simon Ser
d1d4380957
Extract HTTP handlers in separate file
2019-12-04 20:55:08 +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
4ab5fb7f65
Make message view's Back link set the mailbox page
...
This allows to go back and forth between the mailbox view and the
message view.
References: https://todo.sr.ht/~sircmpwn/koushin/22
2019-12-03 20:06:43 +01:00
Simon Ser
8de93c50d2
Add basic pagination to message list
...
References: https://todo.sr.ht/~sircmpwn/koushin/22
2019-12-03 19:49:04 +01:00
Simon Ser
6344806755
Fix missing OutgoingMessage.InReplyTo assignment
2019-12-03 18:54:04 +01:00
Simon Ser
e90d4579ae
Add basic support for multiple recipients
2019-12-03 18:46:18 +01:00
Simon Ser
a103309935
Add support for replying to a message
2019-12-03 18:41:23 +01:00
Simon Ser
b7be271560
Add empty CSS stylesheet
...
References: https://todo.sr.ht/~sircmpwn/koushin/19
2019-12-03 17:42:33 +01:00
Simon Ser
a4729060be
Escape mailbox names in URLs
...
Closes: https://todo.sr.ht/~sircmpwn/koushin/14
2019-12-03 17:31:53 +01:00
Simon Ser
48d6d5d227
Add session lock
...
HTTP requests can be processed in parallel, but we only have one IMAP
connection per session.
Closes: https://todo.sr.ht/~sircmpwn/koushin/12
2019-12-03 17:18:17 +01:00
Simon Ser
36923a0dc2
Pre-fill composer with sender address
2019-12-03 16:46:03 +01:00
Simon Ser
89cebfd819
Add basic SMTP support
2019-12-03 16:27:49 +01:00
Simon Ser
702719c072
Save username/password in session
...
This is required for authenticating with the SMTP server when composing
a new message.
2019-12-03 15:44:24 +01:00
Simon Ser
ae79f99876
Parse SMTP URL from CLI
2019-12-03 15:21:59 +01:00
Simon Ser
96646c8324
Add context to errors
2019-12-03 14:48:11 +01:00
Simon Ser
9f6b086f62
Add compose view
2019-12-03 14:34:15 +01:00
Simon Ser
f4808eb4c5
Add logout route
2019-12-03 13:24:46 +01:00
Simon Ser
23e3e85251
Set HTTP error handler
2019-12-03 13:17:51 +01:00
Simon Ser
be14524c33
Display & download any message part
2019-12-03 13:07:25 +01:00
Simon Ser
33b8679f1c
Extract string conversion functions
2019-12-03 11:54:43 +01:00
Simon Ser
4cbe2fde9d
go fmt
2019-12-03 11:12:26 +01:00
Simon Ser
25c63d0530
Add basic message view
2019-12-02 19:53:09 +01:00
Simon Ser
39629b0740
Add basic message list
2019-12-02 18:21:45 +01:00
Simon Ser
e9d31b0940
Extract IMAP functions into separate file
2019-12-02 17:58:19 +01:00
Simon Ser
640bd49731
List mailboxes
2019-12-02 17:31:34 +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