Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Factor IMAP-specific structs out of UI models | Ben Burwell | 2019-07-08 | 3 | -8/+83 |
| | | | | | | | Before, we were using several IMAP-specific concepts to represent information being displayed in the UI. Factor these structures out of the IMAP package to make it easier for other backends to provide the required information. | ||||
* | Use []uint32 instead of imap.SeqSet | Ben Burwell | 2019-07-08 | 4 | -11/+25 |
| | | | | | | | | A sequence-set is an IMAP-specific implementation detail. Throughout the UI, aerc simply operates using lists of opaque identifiers. In order to loosen the coupling between the UI and IMAP in particular, replace most usages of imap.SeqSet with []uint32, leaving the translation to a SeqSet to the IMAP backend as needed. | ||||
* | Factor UI models out of the worker message package | Ben Burwell | 2019-07-08 | 3 | -30/+49 |
| | | | | | | | | Before, the information needed to display different parts of the UI was tightly coupled to the specific messages being sent back and forth to the backend worker. Separating out a models package allows us to be more specific about exactly what a backend is able to and required to provide for the UI. | ||||
* | Sort out dirstore once and for all | Drew DeVault | 2019-07-04 | 1 | -13/+0 |
| | |||||
* | worker/imap: rig up search directory handler | Drew DeVault | 2019-06-24 | 1 | -0/+2 |
| | |||||
* | worker/imap: implement search | Drew DeVault | 2019-06-24 | 1 | -0/+16 |
| | |||||
* | imap: block until directory list is fully received | Drew DeVault | 2019-06-14 | 1 | -0/+1 |
| | | | | This fixes issues with INBOX mysteriously not being present at times | ||||
* | imap: respect the folder config option | Reto Brunner | 2019-06-14 | 2 | -1/+16 |
| | |||||
* | Add :read and :unread commands | Drew DeVault | 2019-06-09 | 2 | -0/+19 |
| | |||||
* | Update our message flags when server updates them | Drew DeVault | 2019-06-09 | 2 | -2/+34 |
| | |||||
* | Add archive command | Robert Günzler | 2019-06-09 | 2 | -0/+24 |
| | | | | | | | | | | | | | | | Adds an archive command that moves the current message into the folder specified in the account config entry. Supports three layouts at this point: - flat: puts all messages next to each other - year: creates a folder per year - month: same as above, plus folders per month This also adds a "-p" argument to "cp" and "mv" that works like "--parents" on mkdir(1). We use this to auto-create the directories for the archive layout. | ||||
* | Fetch headers w/peek to leave emails unread | Yash Srivastav | 2019-06-08 | 1 | -0/+1 |
| | |||||
* | implements ability to view headers in message view | Yash Srivastav | 2019-06-07 | 1 | -1/+20 |
| | |||||
* | Wait for listing to complete before sending Done | Drew DeVault | 2019-06-02 | 1 | -0/+3 |
| | |||||
* | Don't send Done until finished fetching messages | Drew DeVault | 2019-06-02 | 1 | -0/+3 |
| | |||||
* | Skip non selectable mailboxes in directory listing | Reto Brunner | 2019-05-26 | 1 | -0/+13 |
| | | | | | | | | | | | | | | | | If a MailboxInfo has the attribute \Noselect, it is not possible to use this name as a selectable mailbox. Therefore it should not be passed to the directory handlers. The issue pops up if one has a hierarchy like this: INBOX INBOX/lists/stuff INBOX/lists/otherStuff Even though lists is not a valid inbox (doesn't contain mail, only other maildirs) it will show up in the directory listing, when we iterate over the MailboxInfo. It does have the corresponding attribute set though and we can simply filter it out. | ||||
* | Load IMAP worker for imap+insecure | Drew DeVault | 2019-05-20 | 1 | -2/+1 |
| | |||||
* | Flesh out multipart switcher | Drew DeVault | 2019-05-20 | 1 | -1/+1 |
| | |||||
* | asdf | Drew DeVault | 2019-05-20 | 1 | -42/+2 |
| | |||||
* | s/aerc2/aerc/g | Drew DeVault | 2019-05-17 | 6 | -6/+6 |
| | |||||
* | Copy sent emails to the Sent folder | Drew DeVault | 2019-05-15 | 2 | -0/+31 |
| | | | | Or rather, to a user-specified folder | ||||
* | Implement :copy (aka :cp) | Drew DeVault | 2019-05-14 | 2 | -0/+18 |
| | |||||
* | Handle external message deletions | Drew DeVault | 2019-05-13 | 1 | -0/+7 |
| | |||||
* | Handle incoming emails gracefully | Drew DeVault | 2019-05-13 | 2 | -3/+23 |
| | |||||
* | worker/imap: use the IMAP connection from a single goroutine | Simon Ser | 2019-04-29 | 3 | -86/+77 |
| | | | | | | | | | | | | | Unfortunately, the IMAP protocol hasn't been designed to be used from multiple goroutines at the same time. For instance, if you fetch twice the same message from two different goroutines, it's not possible to tell whether the response is for one receiver or the other. For this reason, go-imap clients aren't safe to use from multiple goroutines. This commit changes the IMAP workers to be synchronous again (a command is executed only after the previous one has completed). To use IMAP from different threads, popular clients (e.g. Thunderbird) typically open multiple connections. | ||||
* | Make message viewer real, part two | Drew DeVault | 2019-03-31 | 1 | -11/+14 |
| | |||||
* | Rename FetchMessageBodies to FetchFullMessages | Drew DeVault | 2019-03-31 | 2 | -12/+12 |
| | |||||
* | Make the message viewer real, part one | Drew DeVault | 2019-03-31 | 2 | -6/+28 |
| | |||||
* | Don't parse mail in worker; send a reader instead | Drew DeVault | 2019-03-31 | 1 | -10/+2 |
| | |||||
* | Pull BodyStructure up from IMAP worker | Drew DeVault | 2019-03-31 | 1 | -4/+6 |
| | |||||
* | Add body fetching support code | Drew DeVault | 2019-03-29 | 2 | -15/+48 |
| | |||||
* | Implement :delete-message | Drew DeVault | 2019-03-20 | 4 | -1/+50 |
| | |||||
* | Display message subjects in message list | Drew DeVault | 2019-03-14 | 2 | -0/+48 |
| | |||||
* | Implement message store side of message fetching | Drew DeVault | 2019-03-14 | 1 | -7/+2 |
| | |||||
* | Fetch valid UIDs from server after opening dir | Drew DeVault | 2019-03-10 | 2 | -3/+43 |
| | |||||
* | Add name to DirectoryInfo messages | Drew DeVault | 2019-01-13 | 1 | -1/+2 |
| | |||||
* | Issue IMAP SELECT command | Drew DeVault | 2019-01-13 | 2 | -1/+39 |
| | |||||
* | Tidy up list.go | Drew DeVault | 2018-02-02 | 1 | -22/+15 |
| | |||||
* | Refactoring; consume listing response | Drew DeVault | 2018-02-01 | 2 | -25/+26 |
| | |||||
* | Implement (most of) mailbox listing | Drew DeVault | 2018-02-01 | 2 | -3/+40 |
| | |||||
* | Reduce boilerplate in worker/UI | Drew DeVault | 2018-02-01 | 1 | -34/+15 |
| | |||||
* | Add certificate approval flow | Drew DeVault | 2018-01-31 | 1 | -26/+55 |
| | |||||
* | Improve logging | Drew DeVault | 2018-01-31 | 1 | -5/+23 |
| | |||||
* | Connect to IMAP server, login and idle | emersion | 2018-01-14 | 1 | -11/+111 |
| | |||||
* | Move worker into account tab | Drew DeVault | 2018-01-11 | 1 | -7/+2 |
| | |||||
* | Renderer scaffolding | Drew DeVault | 2018-01-10 | 1 | -2/+0 |
| | |||||
* | Misc idiomatic fixes | emersion | 2018-01-10 | 1 | -5/+5 |
| | |||||
* | Sleep main and worker loops on idle | Drew DeVault | 2018-01-10 | 1 | -1/+2 |
| | |||||
* | Parse account configuration | Drew DeVault | 2018-01-09 | 1 | -3/+3 |
| | |||||
* | Initial pass on worker/UI message passing | Drew DeVault | 2018-01-09 | 1 | -0/+58 |