aboutsummaryrefslogtreecommitdiff
path: root/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Copy unsent messages to OutboxDrew DeVault2020-10-303-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 attachmentsDrew DeVault2020-10-301-1/+5
|
* Implement JavaScript UI for attachmentsDrew DeVault2020-10-292-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 listDrew DeVault2020-10-231-5/+23
|
* message.html: add tab to view raw emailDrew DeVault2020-10-231-1/+5
|
* message.html: add tabs to select html/plaintextDrew DeVault2020-10-231-0/+23
|
* Send outgoing emails asyncronouslyDrew DeVault2020-10-231-3/+8
|
* Implement broader search functionalityDrew DeVault2020-10-232-26/+163
|
* plugins/base/imap: fetch flags on searchDrew DeVault2020-10-221-1/+1
|
* Generalize sidebar categorization logicDrew DeVault2020-10-221-87/+100
|
* Categorize and normalize folder listingDrew DeVault2020-10-222-15/+75
|
* Handle case where server does not return bodyDrew DeVault2020-10-221-1/+6
| | | | | | This was causing a nil pointer dereference before. Fixes ~migadu/alps#121.
* remove exec bit from plugins/base/imap.goReto Brunner2020-08-111-0/+0
|
* Set Message-Id headerJesse Olson2020-08-051-1/+2
|
* base HTML: fix nil on emails without a text partнаб2020-07-131-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 passwordSimon Ser2020-07-071-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 messageZach DeCook2020-06-291-1/+1
|
* Workaround template functions not loadedSimon Ser2020-06-103-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.MailboxSimon Ser2020-05-282-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 pagesSimon Ser2020-05-211-2/+20
|
* plugins/caldav: add basic day viewSimon Ser2020-05-211-10/+81
|
* caldav: add page titles to all routesDrew DeVault2020-05-201-3/+7
|
* alps theme: add layout for calendar event updateDrew DeVault2020-05-201-0/+2
|
* plugins/caldav: add time inputs in event create/update formSimon Ser2020-05-203-15/+38
|
* go fmtSimon Ser2020-05-201-4/+4
|
* login: set encrypted "remember me" tokenDrew DeVault2020-05-201-1/+19
|
* alps theme: initial layout for calendarDrew DeVault2020-05-201-0/+60
|
* alps theme: add contact edit/createDrew DeVault2020-05-201-0/+2
|
* alps theme: add contact details pageDrew DeVault2020-05-201-1/+3
|
* plugins/caldav: fix duplicate event after editSimon Ser2020-05-201-1/+1
|
* Drop unnecessary "log" importSimon Ser2020-05-201-1/+0
|
* plugins/caldav: edit event descriptionsSimon Ser2020-05-202-0/+15
|
* plugins/caldav: add route to delete eventSimon Ser2020-05-202-1/+25
|
* plugins/caldav: add link to edit eventSimon Ser2020-05-201-0/+1
|
* Replace IMAPMessage.TextPartName with TextPartSimon Ser2020-05-202-24/+17
|
* mailbox: show unseen message count in page titleDrew DeVault2020-05-201-0/+4
|
* plugins/base: Add missing nil check for getMailboxByTypefox.cpp2020-05-181-0/+3
| | | | Fixes panic if there is no usable Sent folder.
* plugins/caldav: remove statements not usedWagner Riffel2020-05-181-10/+0
| | | | Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
* mailbox: set title to "Inbox" rather than "INBOX"Drew DeVault2020-05-131-1/+6
|
* plugins/caldav: add form to create new eventsSimon Ser2020-05-134-0/+149
|
* plugins/caldav: fix event list URLsSimon Ser2020-05-131-1/+1
|
* plugins/base: fix mailbox unread countSimon Ser2020-05-132-12/+29
|
* plugins/carddav: add route to delete a contactSimon Ser2020-05-132-0/+21
|
* plugins/caldav: introduce helper CalendarObject typeSimon Ser2020-05-133-5/+21
|
* Use context-appropriate title for mbox/msg viewDrew DeVault2020-05-131-9/+10
|
* Add <meta refresh> to mailbox viewDrew DeVault2020-05-1310-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 URLsSimon Ser2020-05-132-17/+26
| | | | | UIDs are not first-class WebDAV citizens and would require two roundtrips for most operations.
* Rename project to alpsSimon Ser2020-05-1331-145/+145
|
* plugins/base: always show INBOX firstSimon Ser2020-03-271-0/+6
|
* plugins/base: wrap MailboxInfo and MailboxStatusSimon Ser2020-03-272-15/+35
| | | | | This allows us to extend these and expose helpers for templates and plugins.