summary refs log tree commit diff stats
path: root/worker/imap/list.go
Commit message (Collapse)AuthorAgeFilesLines
* Factor UI models out of the worker message packageBen Burwell2019-07-081-3/+6
| | | | | | | | 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 allDrew DeVault2019-07-041-13/+0
|
* worker/imap: implement searchDrew DeVault2019-06-241-0/+16
|
* imap: block until directory list is fully receivedDrew DeVault2019-06-141-0/+1
| | | | This fixes issues with INBOX mysteriously not being present at times
* imap: respect the folder config optionReto Brunner2019-06-141-0/+13
|
* Wait for listing to complete before sending DoneDrew DeVault2019-06-021-0/+3
|
* Skip non selectable mailboxes in directory listingReto Brunner2019-05-261-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.
* s/aerc2/aerc/gDrew DeVault2019-05-171-1/+1
|
* worker/imap: use the IMAP connection from a single goroutineSimon Ser2019-04-291-13/+11
| | | | | | | | | | | | | 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.
* Tidy up list.goDrew DeVault2018-02-021-22/+15
|
* Refactoring; consume listing responseDrew DeVault2018-02-011-4/+8
|
* Implement (most of) mailbox listingDrew DeVault2018-02-011-0/+37