aboutsummaryrefslogtreecommitdiff
path: root/worker/worker.go
AgeCommit message (Collapse)Author
2019-07-12Add maildir backend workerBen Burwell
Add the initial implementation of a backend for Maildir accounts. Much of the functionality required is implemented in the go-message and go-maildir libraries, so we use them as much as possible. The maildir worker hooks into a new maildir:// URL scheme in the accounts.conf file which points to a container of several maildir directories. From there, the OpenDirectory, FetchDirectoryContents, etc messages work on subdirectories. This is implemented as a Container struct which handles mapping between the symbolic email folder names and UIDs to the concrete directories and file names.
2019-05-20Load IMAP worker for imap+insecureDrew DeVault
2019-05-17s/aerc2/aerc/gDrew DeVault
2019-04-27worker/types: fix Worker.Callbacks race conditionSimon Ser
Worker.Process* functions were called in different goroutines than Worker.Post*. Protect the map with a mutex. Also make the map unexported to prevent external unprotected accesses. Worker.Process* functions used to delete items from the map. However they didn't delete the element they retrieved: callbacks[msg.InResponseTo()] was read while callbacks[msg] was deleted. I'm not sure I understand why. I tried to delete the element that was accessed - but this broke everything (UI froze at "Connecting..."). I don't believe any elements were actually removed from the map, so the new code just doesn't remove anything.
2018-06-12Apply gofmtDrew DeVault
2018-06-12fallthrough in worker selectionMarkus Ongyerth
2018-02-01Reduce boilerplate in worker/UIDrew DeVault
2018-01-31Improve loggingDrew DeVault
2018-01-11Move worker into account tabDrew DeVault
2018-01-10Misc idiomatic fixesemersion
2018-01-09Parse account configurationDrew DeVault
2018-01-09Initial pass on worker/UI message passingDrew DeVault