Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Copy unsent messages to Outbox | Drew DeVault | 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 | Drew DeVault | 2020-10-30 | 1 | -1/+5 |
| | |||||
* | Implement JavaScript UI for attachments | Drew DeVault | 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 | Drew DeVault | 2020-10-23 | 1 | -5/+23 |
| | |||||
* | message.html: add tab to view raw email | Drew DeVault | 2020-10-23 | 1 | -1/+5 |
| | |||||
* | message.html: add tabs to select html/plaintext | Drew DeVault | 2020-10-23 | 1 | -0/+23 |
| | |||||
* | Send outgoing emails asyncronously | Drew DeVault | 2020-10-23 | 1 | -3/+8 |
| | |||||
* | Implement broader search functionality | Drew DeVault | 2020-10-23 | 2 | -26/+163 |
| | |||||
* | plugins/base/imap: fetch flags on search | Drew DeVault | 2020-10-22 | 1 | -1/+1 |
| | |||||
* | Generalize sidebar categorization logic | Drew DeVault | 2020-10-22 | 1 | -87/+100 |
| | |||||
* | Categorize and normalize folder listing | Drew DeVault | 2020-10-22 | 2 | -15/+75 |
| | |||||
* | Handle case where server does not return body | Drew DeVault | 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 | Reto Brunner | 2020-08-11 | 1 | -0/+0 |
| | |||||
* | Set Message-Id header | Jesse Olson | 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 | Simon Ser | 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 | Zach DeCook | 2020-06-29 | 1 | -1/+1 |
| | |||||
* | Workaround template functions not loaded | Simon Ser | 2020-06-10 | 3 | -24/+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 | Simon Ser | 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 | Simon Ser | 2020-05-21 | 1 | -2/+20 |
| | |||||
* | plugins/caldav: add basic day view | Simon Ser | 2020-05-21 | 1 | -10/+81 |
| | |||||
* | caldav: add page titles to all routes | Drew DeVault | 2020-05-20 | 1 | -3/+7 |
| | |||||
* | alps theme: add layout for calendar event update | Drew DeVault | 2020-05-20 | 1 | -0/+2 |
| | |||||
* | plugins/caldav: add time inputs in event create/update form | Simon Ser | 2020-05-20 | 3 | -15/+38 |
| | |||||
* | go fmt | Simon Ser | 2020-05-20 | 1 | -4/+4 |
| | |||||
* | login: set encrypted "remember me" token | Drew DeVault | 2020-05-20 | 1 | -1/+19 |
| | |||||
* | alps theme: initial layout for calendar | Drew DeVault | 2020-05-20 | 1 | -0/+60 |
| | |||||
* | alps theme: add contact edit/create | Drew DeVault | 2020-05-20 | 1 | -0/+2 |
| | |||||
* | alps theme: add contact details page | Drew DeVault | 2020-05-20 | 1 | -1/+3 |
| | |||||
* | plugins/caldav: fix duplicate event after edit | Simon Ser | 2020-05-20 | 1 | -1/+1 |
| | |||||
* | Drop unnecessary "log" import | Simon Ser | 2020-05-20 | 1 | -1/+0 |
| | |||||
* | plugins/caldav: edit event descriptions | Simon Ser | 2020-05-20 | 2 | -0/+15 |
| | |||||
* | plugins/caldav: add route to delete event | Simon Ser | 2020-05-20 | 2 | -1/+25 |
| | |||||
* | plugins/caldav: add link to edit event | Simon Ser | 2020-05-20 | 1 | -0/+1 |
| | |||||
* | Replace IMAPMessage.TextPartName with TextPart | Simon Ser | 2020-05-20 | 2 | -24/+17 |
| | |||||
* | mailbox: show unseen message count in page title | Drew DeVault | 2020-05-20 | 1 | -0/+4 |
| | |||||
* | plugins/base: Add missing nil check for getMailboxByType | fox.cpp | 2020-05-18 | 1 | -0/+3 |
| | | | | Fixes panic if there is no usable Sent folder. | ||||
* | plugins/caldav: remove statements not used | Wagner Riffel | 2020-05-18 | 1 | -10/+0 |
| | | | | Signed-off-by: Wagner Riffel <wgrriffel@gmail.com> | ||||
* | mailbox: set title to "Inbox" rather than "INBOX" | Drew DeVault | 2020-05-13 | 1 | -1/+6 |
| | |||||
* | plugins/caldav: add form to create new events | Simon Ser | 2020-05-13 | 4 | -0/+149 |
| | |||||
* | plugins/caldav: fix event list URLs | Simon Ser | 2020-05-13 | 1 | -1/+1 |
| | |||||
* | plugins/base: fix mailbox unread count | Simon Ser | 2020-05-13 | 2 | -12/+29 |
| | |||||
* | plugins/carddav: add route to delete a contact | Simon Ser | 2020-05-13 | 2 | -0/+21 |
| | |||||
* | plugins/caldav: introduce helper CalendarObject type | Simon Ser | 2020-05-13 | 3 | -5/+21 |
| | |||||
* | Use context-appropriate title for mbox/msg view | Drew DeVault | 2020-05-13 | 1 | -9/+10 |
| | |||||
* | Add <meta refresh> to mailbox view | Drew DeVault | 2020-05-13 | 10 | -10/+10 |
| | | | | | | | | | | 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. | ||||
* | plugins/caldav: switch to path-based URLs | Simon Ser | 2020-05-13 | 2 | -17/+26 |
| | | | | | UIDs are not first-class WebDAV citizens and would require two roundtrips for most operations. | ||||
* | Rename project to alps | Simon Ser | 2020-05-13 | 31 | -145/+145 |
| | |||||
* | plugins/base: always show INBOX first | Simon Ser | 2020-03-27 | 1 | -0/+6 |
| | |||||
* | plugins/base: wrap MailboxInfo and MailboxStatus | Simon Ser | 2020-03-27 | 2 | -15/+35 |
| | | | | | This allows us to extend these and expose helpers for templates and plugins. |