Commit graph

344 commits

Author SHA1 Message Date
Drew DeVault
8cc742f45d Fix issues with to/from headers 2020-11-19 13:06:38 -05:00
Drew DeVault
61cdb93e48 s/email/text/ in To & From fields
type="email" does not validate RFC 2822 address lists
2020-11-19 12:40:39 -05:00
Drew DeVault
797b426ec6 Add "Full name" option to settings
This provides the name portion of your From header in the compose view.
2020-11-19 11:48:12 -05:00
Drew DeVault
51498a2dc3 JS enhancements to encourage bottom-posting 2020-11-19 11:41:47 -05:00
Drew DeVault
a1e8bcc561 Implement message signature setting 2020-11-19 11:35:57 -05:00
Drew DeVault
a5d2af2c4e Remove "this email was deleted by another client"
I was on the fence about adding this in the first place. The state of an
email being \Deleted but still in this inbox is unusual, and unlikely to
occur unless the user is already somewhat knowledgable about IMAP and
utilizing power-user-level tooling which could cause the situation to
arise. Alps does not target that kind of user, so this can be hidden.
2020-11-19 11:24:58 -05:00
Drew DeVault
cb37df882e Add notices on action completion 2020-11-19 11:17:40 -05:00
Drew DeVault
405c18d213 Convert HTML to plaintext for forwarding & replies 2020-11-19 10:52:18 -05:00
Drew DeVault
2fb78cad97 Fix name of HTML tab in HTML-only emails 2020-11-19 10:43:18 -05:00
Drew DeVault
2430473dbc Comment out subscription buttons
This probably doesn't make sense to prioritize on the last day of
development in this billing phase.
2020-11-19 10:36:09 -05:00
Drew DeVault
8771ddeb2d Add favicons for alps theme 2020-11-19 10:26:26 -05:00
Drew DeVault
1992880454 Add theme-specific error page 2020-11-19 10:09:05 -05:00
Drew DeVault
5087e4b327 Improve "attachments exceed max size" error message 2020-11-19 09:30:46 -05:00
Drew DeVault
297afc5ce6 Limit total size of unsent attachments 2020-11-19 09:28:10 -05:00
Drew DeVault
7b3e580fe4 Workaround for MISSING_MAILBOX@MISSING_DOMAIN 2020-11-13 13:42:27 -05:00
Drew DeVault
1565a335db alps/compose.html: fix autofocus on wrong field 2020-11-13 13:32:07 -05:00
Drew DeVault
1d0630dde9 Design work for mailbox subscriptions 2020-11-13 13:23:29 -05:00
Drew DeVault
18ad982c53 Remove leftover outbox handling 2020-11-13 13:19:44 -05:00
Drew DeVault
fa102822bb HTML image proxy: handle missing Content-Length
This is less than ideal, but we still won't end up over-reading because
we're using a LimitedReader here.
2020-11-13 12:45:39 -05:00
Drew DeVault
2611bee170 Humanize message list dates 2020-11-13 12:28:46 -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
12547e2654 compose.html: add font awesome license 2020-11-13 11:08:04 -05:00
Drew DeVault
fe32c53a17 Improve UI while emails are being sent 2020-11-13 11:05:10 -05:00
Drew DeVault
86579bb478 Remove async SMTP queue 2020-11-13 10:33:19 -05:00
Drew DeVault
0d1cca191b alps/compose.html: fix message ID 2020-11-13 10:33:16 -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
231626a31a alps: implement forwarding attachments 2020-11-12 11:21:14 -05:00
Drew DeVault
a5fe1e358e Carry Message-ID forward through compose process 2020-11-12 11:21:06 -05:00
Drew DeVault
5a8d1572b1 Set SameSite and Secure on cookies 2020-11-05 10:35:27 -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
62e7cf8933 Rig up button to remove attachments 2020-10-30 13:50:43 -04:00
Drew DeVault
417d9bbd64 Implement folder creation UI 2020-10-30 13:41:25 -04:00
Drew DeVault
2bef9425fb Simplify & fix bugs with select all functionality 2020-10-30 13:10:26 -04:00
Drew DeVault
6a6ea3e63b message view: add print button & stylesheet 2020-10-30 12:53: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
8bd829962f attachments.js: discard unused drag events 2020-10-29 17:38:06 -04:00
Drew DeVault
26e6e66b04 attachments.js: remove unused variables 2020-10-29 15:30:55 -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
4904207269 Replace parts tree with attachment list 2020-10-23 16:08:40 -04:00
Drew DeVault
09d19169da alps theme: consoldate tab active/hover styles
Fixes some visual weirdness in an edge case
2020-10-23 15:35:20 -04:00
Drew DeVault
3db443c1df message.html: add tab to view raw email 2020-10-23 15:32:59 -04:00
Drew DeVault
bd91b3eacf Fix errors arising from short-circuit assumption
The and/or operators in text/template don't short-circuit, so this
seemingly benign change caused a breakage when not fully tested.
2020-10-23 15:19:16 -04:00
Drew DeVault
64b16f4a50 message.html: add tabs to select html/plaintext 2020-10-23 15:15:46 -04:00
Drew DeVault
f97f38d4a9 Send outgoing emails asyncronously 2020-10-23 14:15:07 -04:00
Drew DeVault
b93b2bafa5 Rig up dowork event queue and graceful termination 2020-10-23 13:30:29 -04:00
Drew DeVault
8764397b7d alps theme: fix borders on each unread row
This addresses an oversight from when the fifth column (flags) was
introduced.
2020-10-23 12:03:23 -04:00