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
800a83059d
readme: sync with new Lua API
2019-12-09 17:55:52 +01:00
Simon Ser
76599232dc
Add a Lua API to set template filters
2019-12-09 17:54:24 +01:00
Simon Ser
f42cb45457
Change Lua API to koushin.on_render
2019-12-09 17:25:02 +01:00
Simon Ser
9617b412e8
Make render data static
...
This makes sure fields filled by vanilla koushin keep the right type. A
new Extra field allows plugins to attach their own data.
This also makes it easier to write Go plugins, which would have trouble
working with interface{}.
2019-12-09 16:17:36 +01:00
Simon Ser
4f74722c14
Add basic support for plugins
2019-12-09 16:05:40 +01:00
Simon Ser
a176409933
Drop define in templates
...
Just use the full filename instead, this is simpler and more explicit.
2019-12-09 15:00:01 +01:00
Simon Ser
61ffc105fd
Use imap.BodyStructure.Filename and imap.Address.Address
...
The former fixes encoding issues in filenames. The latter is just for
brevity.
2019-12-09 13:45:15 +01:00
Simon Ser
d1d4380957
Extract HTTP handlers in separate file
2019-12-04 20:55:08 +01:00
Simon Ser
7c0b906092
Add .gitignore
2019-12-04 18:36:59 +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
a2349050d0
Add separator between Prev and Next links
2019-12-03 19:51:44 +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
b386d1c2bb
Fix mailbox view when empty
...
This fixes the second part of #14 .
References: https://todo.sr.ht/~sircmpwn/koushin/14
2019-12-03 17:52:56 +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
c3fd390b1a
Set imap.CharsetReader
...
This adds support for additional charsets when parsing e.g. subject
lines.
2019-12-03 17:35:04 +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
ec03c60dff
Import go-message charsets package
...
Enables support for non-UTF8 charsets.
Closes: https://todo.sr.ht/~sircmpwn/koushin/18
2019-12-03 17:03:57 +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
1194b98e54
Fix EOF on message view
2019-12-03 15:06:29 +01:00
Simon Ser
2d3cce64da
Fix format string
2019-12-03 14:48:43 +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
Drew DeVault
e62b48caa8
Correct license ownership
2019-12-03 07:48:25 -05:00
Simon Ser
4c52849539
Show last 50 messages in mailbox view
2019-12-03 13:25:35 +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
ed50cef3cf
Linkify message part tree
2019-12-03 11:36:53 +01:00
Simon Ser
4cbe2fde9d
go fmt
2019-12-03 11:12:26 +01:00
Simon Ser
61f2f3e139
Print body structure tree
2019-12-03 11:11:49 +01:00
Simon Ser
80eeaeeb1e
Add missing public/message.html
2019-12-02 19:55:52 +01:00
Simon Ser
25c63d0530
Add basic message view
2019-12-02 19:53:09 +01:00
Simon Ser
fce17c9733
Linkify mailbox list
2019-12-02 18:29:06 +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
594bb2ec19
Add synchronization to connection pool
2019-12-02 17:40:53 +01:00
Simon Ser
85f8530fd3
Evict connection pool entry on logout
2019-12-02 17:36:43 +01:00
Simon Ser
c62703985e
readme: add IMAP URL to usage
2019-12-02 17:32:44 +01:00
Simon Ser
640bd49731
List mailboxes
2019-12-02 17:31:34 +01:00