Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Copy unsent messages to Outbox | 2020-10-30 | 3 | -12/+87 | ||
| | | | | | | | | | | | 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 | |||||
* | compose: don't fail on 0 attachments | 2020-10-30 | 1 | -1/+5 | ||
| | ||||||
* | Implement JavaScript UI for attachments | 2020-10-29 | 2 | -2/+95 | ||
| | | | | | | | | | | | | | | | | 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? | |||||
* | Replace parts tree with attachment list | 2020-10-23 | 1 | -5/+23 | ||
| | ||||||
* | message.html: add tab to view raw email | 2020-10-23 | 1 | -1/+5 | ||
| | ||||||
* | message.html: add tabs to select html/plaintext | 2020-10-23 | 1 | -0/+23 | ||
| | ||||||
* | Send outgoing emails asyncronously | 2020-10-23 | 1 | -3/+8 | ||
| | ||||||
* | Implement broader search functionality | 2020-10-23 | 2 | -26/+163 | ||
| | ||||||
* | plugins/base/imap: fetch flags on search | 2020-10-22 | 1 | -1/+1 | ||
| | ||||||
* | Generalize sidebar categorization logic | 2020-10-22 | 1 | -87/+100 | ||
| | ||||||
* | Categorize and normalize folder listing | 2020-10-22 | 2 | -15/+75 | ||
| | ||||||
* | Handle case where server does not return body | 2020-10-22 | 1 | -1/+6 | ||
| | | | | | | This was causing a nil pointer dereference before. Fixes ~migadu/alps#121. | |||||
* | remove exec bit from plugins/base/imap.go | 2020-08-11 | 1 | -0/+0 | ||
| | ||||||
* | Set Message-Id header | 2020-08-05 | 1 | -1/+2 | ||
| | ||||||
* | base HTML: fix nil on emails without a text part | 2020-07-13 | 1 | -1/+1 | ||
| | | | | | | | P.a. to 50e131244ad78fd1e4c216770ff69471a6fcb03b which solved https://todo.sr.ht/~emersion/alps/100 Closes: https://todo.sr.ht/~emersion/alps/102 | |||||
* | Fix nil render data on invalid password | 2020-07-07 | 1 | -9/+10 | ||
| | | | | | | 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 | |||||
* | Stay on the same page after moving a message | 2020-06-29 | 1 | -1/+1 | ||
| | ||||||
* | Workaround template functions not loaded | 2020-06-10 | 1 | -0/+21 | ||
| | | | | | | | This is a hacky workaround to make things work until we find a better solution. Closes: https://todo.sr.ht/~emersion/alps/96 | |||||
* | base: don't use Client.Mailbox | 2020-05-28 | 2 | -8/+7 | ||
| | | | | | | | 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 | |||||
* | Add INBOX unread count on mailbox/message pages | 2020-05-21 | 1 | -2/+20 | ||
| | ||||||
* | login: set encrypted "remember me" token | 2020-05-20 | 1 | -1/+19 | ||
| | ||||||
* | Replace IMAPMessage.TextPartName with TextPart | 2020-05-20 | 2 | -24/+17 | ||
| | ||||||
* | mailbox: show unseen message count in page title | 2020-05-20 | 1 | -0/+4 | ||
| | ||||||
* | plugins/base: Add missing nil check for getMailboxByType | 2020-05-18 | 1 | -0/+3 | ||
| | | | | Fixes panic if there is no usable Sent folder. | |||||
* | mailbox: set title to "Inbox" rather than "INBOX" | 2020-05-13 | 1 | -1/+6 | ||
| | ||||||
* | plugins/base: fix mailbox unread count | 2020-05-13 | 2 | -12/+29 | ||
| | ||||||
* | Use context-appropriate title for mbox/msg view | 2020-05-13 | 1 | -9/+10 | ||
| | ||||||
* | Add <meta refresh> to mailbox view | 2020-05-13 | 5 | -5/+5 | ||
| | | | | | | | | | | This causes the mailbox to automatically reload the page every 60 seconds, without JavaScript. This also updates the base template data to include the full URL, and replaces the earlier "Path" field with a pre-split array of path components, which is more immediately useful to most templates given the limitations of string munging with text/template primitives. | |||||
* | Rename project to alps | 2020-05-13 | 13 | -52/+52 | ||
| | ||||||
* | plugins/base: always show INBOX first | 2020-03-27 | 1 | -0/+6 | ||
| | ||||||
* | plugins/base: wrap MailboxInfo and MailboxStatus | 2020-03-27 | 2 | -15/+35 | ||
| | | | | | This allows us to extend these and expose helpers for templates and plugins. | |||||
* | plugins/base: allow redirect param to be a form param | 2020-03-27 | 1 | -7/+11 | ||
| | ||||||
* | plugins/base: add redirect param to move/delete/flag endpoints | 2020-03-27 | 1 | -1/+10 | ||
| | ||||||
* | plugins/base: allow to specify move/flag params via query | 2020-03-19 | 1 | -2/+19 | ||
| | ||||||
* | plugins/base: allow move/delete/flag operations to take multiple UIDs | 2020-03-19 | 3 | -16/+53 | ||
| | ||||||
* | plugins/base: add action param to handleSetFlags | 2020-03-18 | 2 | -2/+17 | ||
| | | | | This alows to add/remove flags instead of setting them. | |||||
* | plugins/base: fix IMAMessage.PartByPath with nil path | 2020-03-18 | 1 | -0/+3 | ||
| | ||||||
* | plugins/base: disallow replying to text/html parts | 2020-03-18 | 1 | -1/+1 | ||
| | ||||||
* | plugins/base: add route to forward messages | 2020-03-18 | 2 | -21/+100 | ||
| | | | | | | Only inline forwarding is supported for now. References: https://todo.sr.ht/~sircmpwn/koushin/37 | |||||
* | plugins/base: replace MessageRenderData.PartPath with Part | 2020-02-25 | 3 | -14/+41 | ||
| | ||||||
* | Revert "plugins/viewhtml: convert mailto links" | 2020-02-25 | 1 | -1/+0 | ||
| | | | | | | | | | This reverts commit 02faf6174b3d94efd1ee3cc842b55001639a8983. 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. | |||||
* | plugins/viewhtml: convert mailto links | 2020-02-25 | 1 | -0/+1 | ||
| | ||||||
* | plugins/base: add message URL and Content-Id helpers | 2020-02-25 | 1 | -12/+54 | ||
| | ||||||
* | Turn message part viewers into plugins | 2020-02-12 | 8 | -245/+45 | ||
| | ||||||
* | plugins/carddav: add basic contacts view | 2020-02-05 | 1 | -1/+1 | ||
| | ||||||
* | plugins/base: add icons for attachments/re/fwd/starred | 2020-02-05 | 1 | -7/+13 | ||
| | ||||||
* | plugins/base/imap: disable full-text search for now | 2020-02-05 | 1 | -2/+27 | ||
| | | | | | | It's too slow on servers where indexes aren't enabled. References: https://todo.sr.ht/~sircmpwn/koushin/23 | |||||
* | plugins/base: add settings page | 2020-01-28 | 5 | -7/+100 | ||
| | | | | | Add a settings page where the user can change the number of messages displayed per page. | |||||
* | plugins/base: support attachments in drafts | 2020-01-28 | 4 | -6/+143 | ||
| | | | | References: https://todo.sr.ht/~sircmpwn/koushin/16 | |||||
* | plugins/base: use BodyStructure.Walk instead of custom logic | 2020-01-28 | 1 | -46/+20 | ||
| |