aboutsummaryrefslogtreecommitdiff
path: root/worker/worker.go
AgeCommit message (Collapse)Author
2019-07-19Register worker in init.Reto Brunner
This allows backends which can't always be compiled due to missing dependencies (say libnotmuch) to be compiled conditionally with buildflags.
2019-07-17maildir: Watch for new messagesBen Burwell
When a directory is opened, start watching its "new" subdirectory for incoming messages using the fsnotify library. When creation events are detected, run the Unseen routine to move the message from new to cur and add new UIDs to the store, updating the UI's list of directory contents as we go.
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