Commit graph

51 commits

Author SHA1 Message Date
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
Simon Ser
8b84d81f9b
Add initial login logic 2019-12-02 17:24:19 +01:00