aboutsummaryrefslogtreecommitdiff
path: root/worker/imap/list.go
AgeCommit message (Collapse)Author
2019-06-24worker/imap: implement searchDrew DeVault
2019-06-14imap: block until directory list is fully receivedDrew DeVault
This fixes issues with INBOX mysteriously not being present at times
2019-06-14imap: respect the folder config optionReto Brunner
2019-06-02Wait for listing to complete before sending DoneDrew DeVault
2019-05-26Skip non selectable mailboxes in directory listingReto Brunner
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.
2019-05-17s/aerc2/aerc/gDrew DeVault
2019-04-29worker/imap: use the IMAP connection from a single goroutineSimon Ser
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.
2018-02-02Tidy up list.goDrew DeVault
2018-02-01Refactoring; consume listing responseDrew DeVault
2018-02-01Implement (most of) mailbox listingDrew DeVault