aboutsummaryrefslogtreecommitdiffstats
path: root/worker/imap/list.go
Commit message (Collapse)AuthorAgeFilesLines
* lint: apply new formatting rulesMoritz Poldrack2022-08-011-1/+0
| | | | | | | Run `make fmt`. Signed-off-by: Moritz Poldrack <git@moritz.sh> Acked-by: Robin Jarry <robin@jarry.cc>
* logging: use level-based logger functionsRobin Jarry2022-07-231-2/+2
| | | | | | | | | | | | Do not pass logger objects around anymore. Shuffle some messages to make them consistent with the new logging API. Avoid using %v when a more specific verb exists for the argument types. The loggers are completely disabled (i.e. Sprintf is not even called) by default. They are only enabled when redirecting stdout to a file. Signed-off-by: Robin Jarry <robin@jarry.cc> Acked-by: Moritz Poldrack <moritz@poldrack.dev>
* logging: added a log on panicMoritz Poldrack2022-03-231-0/+3
| | | | | | | | | | | | | Since panics still regularly "destroy" the terminal, it is hard to get a stack trace for panics you do not anticipate. This commit adds a panic handler that automatically creates a logfile inside the current working directory. It has to be added to every goroutine that is started and will repair the terminal on a panic. Signed-off-by: Moritz Poldrack <git@moritz.sh> Acked-by: Robin Jarry <robin@jarry.cc>
* go vet: composite literal uses unkeyed fieldsMoritz Poldrack2022-03-181-1/+1
| | | | | | | | This commit fixes all occurrences of the abovementioned lint-error in the codebase. Signed-off-by: Moritz Poldrack <git@moritz.sh> Acked-by: Robin Jarry <robin@jarry.cc>
* go.mod: change base git urlRobin Jarry2021-11-051-2/+2
| | | | | | | I'm not sure what are the implications but it seems required. Link: https://github.com/golang/go/issues/20883 Signed-off-by: Robin Jarry <robin@jarry.cc>
* extract search criteria parsing into the backendsReto Brunner2019-08-291-8/+20
|
* 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