Drew DeVault
6ba418c9b2
Generalize sidebar categorization logic
vor 3 Jahren
Drew DeVault
9e2c420461
Categorize and normalize folder listing
vor 3 Jahren
Simon Ser
92b3016196
Fix nil render data on invalid password
This would cause this error:
template: head.html:7:15: executing "head.html" at <index .Global.Path 0>: error calling index: index of untyped nil
vor 3 Jahren
Zach DeCook
0aff774c5d
Stay on the same page after moving a message
vor 3 Jahren
Simon Ser
522454e009
base: don't use Client.Mailbox
The information returned by Client.Mailbox may be out-of-date. Instead,
retrieve the mailbox status from the server each time.
Closes: https://todo.sr.ht/~emersion/alps/80
vor 4 Jahren
Simon Ser
9a7acd2791
Add INBOX unread count on mailbox/message pages
vor 4 Jahren
Drew DeVault
9465f8db6d
login: set encrypted "remember me" token
vor 4 Jahren
Drew DeVault
2d86413876
mailbox: show unseen message count in page title
vor 4 Jahren
Drew DeVault
aab1f866f6
mailbox: set title to "Inbox" rather than "INBOX"
vor 4 Jahren
Simon Ser
3036cc4436
plugins/base: fix mailbox unread count
vor 4 Jahren
Drew DeVault
3d1f278fae
Use context-appropriate title for mbox/msg view
vor 4 Jahren
Simon Ser
b891a95fcf
Rename project to alps
vor 4 Jahren
Simon Ser
5af6c6adc1
plugins/base: wrap MailboxInfo and MailboxStatus
This allows us to extend these and expose helpers for templates and
plugins.
vor 4 Jahren
Simon Ser
f6959346ee
plugins/base: allow redirect param to be a form param
vor 4 Jahren
Simon Ser
9b804005b4
plugins/base: add redirect param to move/delete/flag endpoints
vor 4 Jahren
Simon Ser
9eac0b453a
plugins/base: allow to specify move/flag params via query
vor 4 Jahren
Simon Ser
b61e40f363
plugins/base: allow move/delete/flag operations to take multiple UIDs
vor 4 Jahren
Simon Ser
fe73f2022c
plugins/base: add action param to handleSetFlags
This alows to add/remove flags instead of setting them.
vor 4 Jahren
Simon Ser
be3ab9bdd5
plugins/base: disallow replying to text/html parts
vor 4 Jahren
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
vor 4 Jahren
Simon Ser
c96903f3f1
plugins/base: replace MessageRenderData.PartPath with Part
vor 4 Jahren
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.
vor 4 Jahren
Simon Ser
02faf6174b
plugins/viewhtml: convert mailto links
vor 4 Jahren
Simon Ser
8299617ebc
Turn message part viewers into plugins
vor 4 Jahren
Simon Ser
4d68400036
plugins/base: add settings page
Add a settings page where the user can change the number of messages
displayed per page.
vor 4 Jahren
Simon Ser
85c01b87a9
plugins/base: support attachments in drafts
References: https://todo.sr.ht/~sircmpwn/koushin/16
vor 4 Jahren
Simon Ser
3384c39a17
plugins/base: delete previous draft
vor 4 Jahren
Simon Ser
d31c56ec98
plugins/base: edit drafts
Note that attachments will be lost. This is a TODO.
vor 4 Jahren
Simon Ser
bfc617b702
plugins/base: save message as draft
vor 4 Jahren
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
vor 4 Jahren
Simon Ser
3bf17752ab
plugins/base: remove external resources URLs, sanitize CSS
vor 4 Jahren
Simon Ser
a66ef1059b
Make the text/* part content a []byte
vor 4 Jahren
Simon Ser
8d248bc32f
Extract HTML sanitizer to its own file
vor 4 Jahren
Simon Ser
efaf6fd444
Open e-mail links in new tab
vor 4 Jahren
Simon Ser
721c3ce3eb
Resize e-mail iframe with content
vor 4 Jahren
Simon Ser
af5ffd12f9
Add support for HTML parts
vor 4 Jahren
Simon Ser
24718f1ac4
Redirect to original URL after login
vor 4 Jahren
Simon Ser
8c4587f477
Fix header missing from raw e-mail download
vor 4 Jahren
Simon Ser
80da410c3b
Implement paging for search
vor 4 Jahren
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.
vor 4 Jahren
Simon Ser
ca3672df2a
Add RenderData interface
This allows Go plugins to easily inject global data.
vor 4 Jahren
Simon Ser
d8a875a5f7
Rename RenderData to BaseRenderData
RenderData will be used for an interface.
vor 4 Jahren
Simon Ser
38d73f5771
Use Context.FormParams
vor 4 Jahren
Simon Ser
e2d70ba6ca
Linkify address lists
vor 4 Jahren
Simon Ser
0c21c501ff
Redirect / to INBOX
vor 4 Jahren
Simon Ser
2a2a48c7fa
Add a form to set message flags
References: https://todo.sr.ht/~sircmpwn/koushin/36
vor 4 Jahren
Simon Ser
3aea768cad
plugins/base: extract route registration into function
vor 4 Jahren
Simon Ser
e78d2db3ea
Improve docs
vor 4 Jahren
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
vor 4 Jahren
Simon Ser
1841609fbc
Add form to move messages
References: https://todo.sr.ht/~sircmpwn/koushin/36
vor 4 Jahren