Drew DeVault
18ad982c53
Remove leftover outbox handling
2020-11-13 13:19:44 -05:00
Drew DeVault
6ecb243620
Fix duplicate drafts on repeated saves
2020-11-13 12:19:46 -05:00
Drew DeVault
1321cea241
Redirect to edit draft after saving message
2020-11-13 11:55:56 -05:00
Drew DeVault
86579bb478
Remove async SMTP queue
2020-11-13 10:33:19 -05:00
Drew DeVault
5268eba101
Notify server when user discards attachment
2020-11-12 12:09:51 -05:00
Drew DeVault
aad5f44f6c
Display server errors on attachment upload
2020-11-12 12:09:41 -05:00
Drew DeVault
a5fe1e358e
Carry Message-ID forward through compose process
2020-11-12 11:21:06 -05:00
Drew DeVault
643047402d
Don't crash if Outbox is not present
...
Fixes #133
2020-11-05 10:03:45 -05:00
Drew DeVault
e4daf0778d
Implement mailbox deletion
2020-10-30 15:21:33 -04:00
Drew DeVault
417d9bbd64
Implement folder creation UI
2020-10-30 13:41:25 -04:00
Drew DeVault
cbeacf9d06
Copy unsent messages to Outbox
...
This patch:
1. Copies unsent messages to the outbox before attempting to deliver
them with SMTP
2. Deletes those messages once they're sent, or leaves them if an error
occured
3. Updates the message list to make it obvious when there are unsent
messages in the outbox
2020-10-30 11:47:23 -04:00
Drew DeVault
d325628cb2
compose: don't fail on 0 attachments
2020-10-30 10:23:57 -04:00
Drew DeVault
a393429f01
Implement JavaScript UI for attachments
...
This one is a bit of a doozy. A summary of the changes:
- Session has grown storage for attachments which have been uploaded but
not yet sent.
- The list of attachments on a message is refcounted so that we can
clean up the temporary files only after it's done with - i.e. after
copying to Sent and after all of the SMTP attempts are done.
- Abandoned attachments are cleared out on process shutdown.
Future work:
- Add a limit to the maximum number of pending attachments the user can
have in the session.
- Periodically clean out abandoned attachments?
2020-10-29 15:18:36 -04:00
Drew DeVault
3db443c1df
message.html: add tab to view raw email
2020-10-23 15:32:59 -04:00
Drew DeVault
f97f38d4a9
Send outgoing emails asyncronously
2020-10-23 14:15:07 -04:00
Drew DeVault
6ba418c9b2
Generalize sidebar categorization logic
2020-10-22 13:03:50 -04:00
Drew DeVault
9e2c420461
Categorize and normalize folder listing
2020-10-22 12:29:55 -04:00
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
2020-07-07 12:47:18 +02:00
Zach DeCook
0aff774c5d
Stay on the same page after moving a message
2020-06-29 16:31:48 +02:00
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
2020-05-28 12:09:44 +02:00
Simon Ser
9a7acd2791
Add INBOX unread count on mailbox/message pages
2020-05-21 19:19:17 +02:00
Drew DeVault
9465f8db6d
login: set encrypted "remember me" token
2020-05-20 19:07:47 +02:00
Drew DeVault
2d86413876
mailbox: show unseen message count in page title
2020-05-20 15:28:36 +02:00
Drew DeVault
aab1f866f6
mailbox: set title to "Inbox" rather than "INBOX"
2020-05-13 19:49:20 +02:00
Simon Ser
3036cc4436
plugins/base: fix mailbox unread count
2020-05-13 18:18:13 +02:00
Drew DeVault
3d1f278fae
Use context-appropriate title for mbox/msg view
2020-05-13 17:00:47 +02:00
Simon Ser
b891a95fcf
Rename project to alps
2020-05-13 14:07:44 +02: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
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
8299617ebc
Turn message part viewers into plugins
2020-02-12 15:41:00 +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
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
bfc617b702
plugins/base: save message as draft
2020-01-24 17:49:50 +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
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