Commit graph

63 commits

Author SHA1 Message Date
Simon Ser b891a95fcf
Rename project to alps 2020-05-13 14:07:44 +02:00
Simon Ser 4cf5ad68af
plugins/base: always show INBOX first 2020-03-27 13:19:26 +01:00
Simon Ser 5af6c6adc1
plugins/base: wrap MailboxInfo and MailboxStatus
This allows us to extend these and expose helpers for templates and
plugins.
2020-03-27 10:45:43 +01:00
Simon Ser f6959346ee
plugins/base: allow redirect param to be a form param 2020-03-27 10:27:37 +01:00
Simon Ser 9b804005b4
plugins/base: add redirect param to move/delete/flag endpoints 2020-03-27 10:24:19 +01:00
Simon Ser 9eac0b453a
plugins/base: allow to specify move/flag params via query 2020-03-19 17:25:52 +01:00
Simon Ser b61e40f363
plugins/base: allow move/delete/flag operations to take multiple UIDs 2020-03-19 16:43:27 +01:00
Simon Ser fe73f2022c
plugins/base: add action param to handleSetFlags
This alows to add/remove flags instead of setting them.
2020-03-18 21:10:40 +01:00
Simon Ser a455fc8ddd
plugins/base: fix IMAMessage.PartByPath with nil path 2020-03-18 19:44:18 +01:00
Simon Ser be3ab9bdd5
plugins/base: disallow replying to text/html parts 2020-03-18 15:08:36 +01:00
Simon Ser ae8658f468
plugins/base: add route to forward messages
Only inline forwarding is supported for now.

References: https://todo.sr.ht/~sircmpwn/koushin/37
2020-03-18 15:01:15 +01:00
Simon Ser c96903f3f1
plugins/base: replace MessageRenderData.PartPath with Part 2020-02-25 16:38:29 +01:00
Simon Ser 8c4fd20e27
Revert "plugins/viewhtml: convert mailto links"
This reverts commit 02faf6174b.

This commit doesn't work, because it's applied to <img> tags. Making it
handle <a> tags doesn't work either because bluemonday will strip any
target="_blank" attributes, making the compose form open in the
<iframe>. Let's just revert this whole commit for now.
2020-02-25 15:37:47 +01:00
Simon Ser 02faf6174b
plugins/viewhtml: convert mailto links 2020-02-25 14:06:10 +01:00
Simon Ser 7af7d73700
plugins/base: add message URL and Content-Id helpers 2020-02-25 10:46:55 +01:00
Simon Ser 8299617ebc
Turn message part viewers into plugins 2020-02-12 15:41:00 +01:00
Simon Ser 1bd930f043
plugins/carddav: add basic contacts view 2020-02-05 14:58:56 +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 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 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 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 3bf17752ab
plugins/base: remove external resources URLs, sanitize CSS 2020-01-20 18:28:49 +01:00
Simon Ser a66ef1059b
Make the text/* part content a []byte 2020-01-20 16:20:16 +01:00
Simon Ser 8d248bc32f
Extract HTML sanitizer to its own file 2020-01-20 16:20:16 +01:00
Simon Ser d745f98bb7
Add polyfill for browsers not supporting srcdoc 2020-01-20 16:20:15 +01:00
Simon Ser efaf6fd444
Open e-mail links in new tab 2020-01-20 16:20:15 +01:00
Simon Ser 721c3ce3eb
Resize e-mail iframe with content 2020-01-20 16:20:15 +01:00
Simon Ser af5ffd12f9
Add support for HTML parts 2020-01-20 16:20:15 +01:00
Dejan Strbac 15a77185b4
Include flags when fetching items over IMAP 2020-01-16 13:34:10 +01:00
Simon Ser 24718f1ac4
Redirect to original URL after login 2020-01-10 17:29:37 +01:00
Simon Ser 97b314b6e7
Add Server.Reload
This only reloads templates for now. In the future it'll also reload
Lua plugins.
2020-01-08 10:52:28 +01:00
Simon Ser d36ec520aa
Fix extra comma in address list 2019-12-18 17:07:10 +01:00
Simon Ser 8c4587f477
Fix header missing from raw e-mail download 2019-12-18 16:57:53 +01:00
Simon Ser 80da410c3b
Implement paging for search 2019-12-17 16:23:51 +01:00
Simon Ser f106c1125f
Make Go plugin handlers take a *Context
Take a *Context instead of a echo.Context. This saves a type assertion
in each handler.
2019-12-17 15:19:37 +01:00
Simon Ser ca3672df2a
Add RenderData interface
This allows Go plugins to easily inject global data.
2019-12-17 15:01:15 +01:00
Simon Ser d8a875a5f7
Rename RenderData to BaseRenderData
RenderData will be used for an interface.
2019-12-17 13:27:20 +01:00
Simon Ser 38d73f5771
Use Context.FormParams 2019-12-17 13:09:25 +01:00
Simon Ser e2d70ba6ca
Linkify address lists 2019-12-17 13:02:38 +01:00
Simon Ser 0c21c501ff
Redirect / to INBOX 2019-12-17 12:44:13 +01:00
Simon Ser 2a2a48c7fa
Add a form to set message flags
References: https://todo.sr.ht/~sircmpwn/koushin/36
2019-12-17 12:42:04 +01:00