Simon Ser
b891a95fcf
Rename project to alps
4 anni fa
Simon Ser
5af6c6adc1
plugins/base: wrap MailboxInfo and MailboxStatus
This allows us to extend these and expose helpers for templates and
plugins.
4 anni fa
Simon Ser
f6959346ee
plugins/base: allow redirect param to be a form param
4 anni fa
Simon Ser
9b804005b4
plugins/base: add redirect param to move/delete/flag endpoints
4 anni fa
Simon Ser
9eac0b453a
plugins/base: allow to specify move/flag params via query
4 anni fa
Simon Ser
b61e40f363
plugins/base: allow move/delete/flag operations to take multiple UIDs
4 anni fa
Simon Ser
fe73f2022c
plugins/base: add action param to handleSetFlags
This alows to add/remove flags instead of setting them.
4 anni fa
Simon Ser
be3ab9bdd5
plugins/base: disallow replying to text/html parts
4 anni fa
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
4 anni fa
Simon Ser
c96903f3f1
plugins/base: replace MessageRenderData.PartPath with Part
4 anni fa
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.
4 anni fa
Simon Ser
02faf6174b
plugins/viewhtml: convert mailto links
4 anni fa
Simon Ser
8299617ebc
Turn message part viewers into plugins
4 anni fa
Simon Ser
4d68400036
plugins/base: add settings page
Add a settings page where the user can change the number of messages
displayed per page.
4 anni fa
Simon Ser
85c01b87a9
plugins/base: support attachments in drafts
References: https://todo.sr.ht/~sircmpwn/koushin/16
4 anni fa
Simon Ser
3384c39a17
plugins/base: delete previous draft
4 anni fa
Simon Ser
d31c56ec98
plugins/base: edit drafts
Note that attachments will be lost. This is a TODO.
4 anni fa
Simon Ser
bfc617b702
plugins/base: save message as draft
4 anni fa
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
4 anni fa
Simon Ser
3bf17752ab
plugins/base: remove external resources URLs, sanitize CSS
4 anni fa
Simon Ser
a66ef1059b
Make the text/* part content a []byte
4 anni fa
Simon Ser
8d248bc32f
Extract HTML sanitizer to its own file
4 anni fa
Simon Ser
efaf6fd444
Open e-mail links in new tab
4 anni fa
Simon Ser
721c3ce3eb
Resize e-mail iframe with content
4 anni fa
Simon Ser
af5ffd12f9
Add support for HTML parts
4 anni fa
Simon Ser
24718f1ac4
Redirect to original URL after login
4 anni fa
Simon Ser
8c4587f477
Fix header missing from raw e-mail download
4 anni fa
Simon Ser
80da410c3b
Implement paging for search
4 anni fa
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.
4 anni fa
Simon Ser
ca3672df2a
Add RenderData interface
This allows Go plugins to easily inject global data.
4 anni fa
Simon Ser
d8a875a5f7
Rename RenderData to BaseRenderData
RenderData will be used for an interface.
4 anni fa
Simon Ser
38d73f5771
Use Context.FormParams
4 anni fa
Simon Ser
e2d70ba6ca
Linkify address lists
4 anni fa
Simon Ser
0c21c501ff
Redirect / to INBOX
4 anni fa
Simon Ser
2a2a48c7fa
Add a form to set message flags
References: https://todo.sr.ht/~sircmpwn/koushin/36
4 anni fa
Simon Ser
3aea768cad
plugins/base: extract route registration into function
4 anni fa
Simon Ser
e78d2db3ea
Improve docs
4 anni fa
Simon Ser
a425e17b0e
Add button to delete message
Maybe we should add a confirmation step in the future.
References: https://todo.sr.ht/~sircmpwn/koushin/36
4 anni fa
Simon Ser
1841609fbc
Add form to move messages
References: https://todo.sr.ht/~sircmpwn/koushin/36
4 anni fa
Simon Ser
4449416357
Export IMAPMessage
This is a public type other plugins and templates may want to access.
4 anni fa
Simon Ser
08b259bd50
Add attachments support to composer
Closes: https://todo.sr.ht/~sircmpwn/koushin/13
4 anni fa
Simon Ser
1c5e17472d
Add basic search
Closes: https://todo.sr.ht/~sircmpwn/koushin/23
4 anni fa
Simon Ser
622f00fe06
Replace Session.ConnectSMTP with Session.DoSMTP
This gives more flexibility in Session for optimizations, e.g. keep the
SMTP connection around for some time if possible.
4 anni fa
Simon Ser
d01c85616a
Rename Session.Do to Session.DoIMAP
4 anni fa
Simon Ser
d897eeee5c
Introduce base plugin
This plugin offers base IMAP/SMTP functionality.
References: https://todo.sr.ht/~sircmpwn/koushin/39
4 anni fa
Simon Ser
e54a359acb
Export Server.{Sessions,Plugins}
And unexport a few internal functions.
4 anni fa
Simon Ser
86359156ee
Export Context.SetSession, unexport Session.Token
I'm uneasy exposing the token to plugins, I prefer to hide it if
possible to prevent mis-use.
This change allows plugins to logout users.
4 anni fa
Simon Ser
d8f411176f
Export Context
This allows plugins to access it.
4 anni fa
Simon Ser
835e9e5033
go fmt
4 anni fa
Simon Ser
3748b4413e
Introduce GlobalRenderData and RenderData
GlobalRenderData contains some global metadata that can be obtained from
any template.
RenderData is a base type for template data. It contains a Global field
with global metadata and an Extra field for plugins.
4 anni fa