Commit graph

178 commits

Author SHA1 Message Date
Simon Ser 8299617ebc
Turn message part viewers into plugins 2020-02-12 15:41:00 +01:00
Simon Ser 892f1fa581
Remove outdated TODO 2020-02-12 01:23:11 +01:00
Simon Ser 2733dcd528
themes/sourcehut: display username in navbar 2020-02-12 01:20:21 +01:00
Simon Ser 73d54ca35c
themes/sourcehut: remove mail nav from settings 2020-02-12 00:41:40 +01:00
Simon Ser 6115ce7b1d
themes/sourcehut: add CardDAV templates, improve nav 2020-02-12 00:40:23 +01:00
Simon Ser 30a26051aa
contrib/hotreload: be quiet 2020-02-12 00:29:51 +01:00
Simon Ser 3a3887b358
plugins/carddav: cache addressbook home set path 2020-02-11 19:14:05 +01:00
Simon Ser 13f5414691
cmd/koushin: add -debug flag 2020-02-11 18:39:52 +01:00
Simon Ser e59ad57e32
docs: add an example Go plugin 2020-02-11 18:23:48 +01:00
Simon Ser e09a837569
docs: add a basic example Lua plugin 2020-02-11 17:56:15 +01:00
Simon Ser 0a56365672
docs/themes-and-plugins: extract from README 2020-02-11 17:42:10 +01:00
Simon Ser 02b59bc365
docs/cli: new page 2020-02-11 17:40:18 +01:00
Simon Ser 3c391fa81d
contrib: add hotreload script 2020-02-11 17:37:58 +01:00
Simon Ser 82304a78d6
plugins/caldav: add missing event.html template 2020-02-11 17:14:43 +01:00
Simon Ser 19548694e0
themes/sourcehut: sync with latest base plugin 2020-02-11 17:14:01 +01:00
Simon Ser 97eef13db4
Rename Session.connect to Session.connectIMAP 2020-02-10 17:21:34 +01:00
Simon Ser 9fe20a604c
plugins/caldav: add pagination to calendar view 2020-02-05 18:57:16 +01:00
Simon Ser a1b43cc5a8
plugins/caldav: add basic event view 2020-02-05 18:39:53 +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 1bd930f043
plugins/carddav: add basic contacts view 2020-02-05 14:58:56 +01:00
Simon Ser 3263a89185
plugins/carddav: accept "carddavs" and "carddav+insecure" URL schemes 2020-02-05 13:56:18 +01:00
Simon Ser ad256906e0
plugins/carddav: sanity check URL on startup 2020-02-05 13:52:52 +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 6ea7cd9134
plugins/base: add icons for attachments/re/fwd/starred 2020-02-05 11:58:53 +01:00
Simon Ser 651872ef7d
plugins/base/imap: disable full-text search for now
It's too slow on servers where indexes aren't enabled.

References: https://todo.sr.ht/~sircmpwn/koushin/23
2020-02-05 11:37:01 +01:00
Simon Ser f08ecb9cef
Update echo to 504f39abaf320
This fixes an OpenBSD issue.

Closes: https://todo.sr.ht/~sircmpwn/koushin/50
2020-02-03 19:35:14 +01:00
Simon Ser 6940a826b5
readme: add short description
Closes: https://todo.sr.ht/~sircmpwn/koushin/59
2020-01-30 11:20:56 +01:00
Simon Ser 4d68400036
plugins/base: add settings page
Add a settings page where the user can change the number of messages
displayed per page.
2020-01-28 20:04:33 +01:00
Simon Ser bdf1a8b02b
koushin: add Store interface
References: https://todo.sr.ht/~sircmpwn/koushin/5
2020-01-28 20:04:18 +01:00
Simon Ser c0b4998b38
koushin: rename Session.locker to imapLocker 2020-01-28 15:41:18 +01:00
Simon Ser 85c01b87a9
plugins/base: support attachments in drafts
References: https://todo.sr.ht/~sircmpwn/koushin/16
2020-01-28 12:30:07 +01:00
Simon Ser 50046b62ac
plugins/base: use BodyStructure.Walk instead of custom logic 2020-01-28 11:15:10 +01:00
Simon Ser b325933a8b
Add .editorconfig 2020-01-24 20:59:35 +01:00
Simon Ser 3384c39a17
plugins/base: delete previous draft 2020-01-24 20:27:05 +01:00
Simon Ser d31c56ec98
plugins/base: edit drafts
Note that attachments will be lost. This is a TODO.
2020-01-24 20:07:29 +01:00
Simon Ser 2e367efe58
plugins/base: add fallback if SPECIAL-USE is unsupported 2020-01-24 18:01:01 +01:00
Simon Ser bfc617b702
plugins/base: save message as draft 2020-01-24 17:49:50 +01:00
Simon Ser 267999b6e5
Update docs with new RegisterPluginLoader function 2020-01-21 13:40:55 +01:00
Simon Ser baae776247
readme: fix example usage 2020-01-21 13:38:47 +01:00
Simon Ser 3347e69480
Use %q to quote values in format strings 2020-01-20 22:06:47 +01:00
Simon Ser 9fdccc3a4b
Rename template.go to renderer.go 2020-01-20 22:05:42 +01:00
Simon Ser b58c15d121
Extract Lua infrastructure into a plugin 2020-01-20 22:04:50 +01:00
Simon Ser efa0816333
Add Server.Logger 2020-01-20 22:03:05 +01:00
Simon Ser 01983eb7b5
Introduce PluginLoaderFunc
This allows registered plugins to execute code when loaded. This will
also allow the Lua support code to be a plugin.

Closes: https://todo.sr.ht/~sircmpwn/koushin/54
2020-01-20 21:37:28 +01:00
Simon Ser d19c17c6d5
go fmt 2020-01-20 20:27:49 +01:00
Simon Ser 589b303f9f
plugins/base: append outgoing messages to Sent mailbox
And mark original message as answered.

Closes: https://todo.sr.ht/~sircmpwn/koushin/15
2020-01-20 20:25:41 +01:00
Simon Ser 3340fcd63d
Check IMAP/SMTP servers on startup
Closes: https://todo.sr.ht/~sircmpwn/koushin/46
2020-01-20 18:46:50 +01:00
Simon Ser 3bf17752ab
plugins/base: remove external resources URLs, sanitize CSS 2020-01-20 18:28:49 +01:00
Simon Ser b9a180b154
Disable DNS prefetching 2020-01-20 18:26:22 +01:00
Simon Ser a66ef1059b
Make the text/* part content a []byte 2020-01-20 16:20:16 +01:00