aboutsummaryrefslogtreecommitdiff
path: root/worker/types
AgeCommit message (Collapse)Author
2020-02-29remove the dirInfoUpdateRequest functionalityReto Brunner
The notmuch worker followed suit in handling the dirInfo submission manually. That removes the last user so we might as well remove the functionality.
2020-02-16Request DirInfo whenever the unread count may have changedReto Brunner
Actions such as read / unread or the addition of new messages do change the read/unread/recent count. Hence we request an update from the workers. Workers going over the network should probably cache the information and invalidate it only if necessary
2020-01-05FetchBodyParts: decode source in the workersReto Brunner
Previously the workers returned a mixture of decoded / encoded parts. This lead to a whole bunch of issues. This commit changes the msgviewer and the commands to assume parts to already be decoded
2019-12-21add LabelList eventReto Brunner
2019-09-20Add sorting functionalityJeffas
There is a command and config option. The criteria are a list of the sort criterion and each can be individually reversed. This only includes support for sorting in the maildir backend currently. The other backends are not supported in this patch.
2019-09-12Add modify-labels commandReto Brunner
This adds the event type as well as the command implementation, but no backend supports it yet.
2019-08-29extract search criteria parsing into the backendsReto Brunner
2019-07-11#190 Handle gmail duplicate folderDaniel Bridges
2019-07-08Use []uint32 instead of imap.SeqSetBen Burwell
A sequence-set is an IMAP-specific implementation detail. Throughout the UI, aerc simply operates using lists of opaque identifiers. In order to loosen the coupling between the UI and IMAP in particular, replace most usages of imap.SeqSet with []uint32, leaving the translation to a SeqSet to the IMAP backend as needed.
2019-07-08Factor UI models out of the worker message packageBen Burwell
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.
2019-06-24worker/imap: implement searchDrew DeVault
2019-06-09Add :read and :unread commandsDrew DeVault
2019-06-09Add archive commandRobert Günzler
Adds an archive command that moves the current message into the folder specified in the account config entry. Supports three layouts at this point: - flat: puts all messages next to each other - year: creates a folder per year - month: same as above, plus folders per month This also adds a "-p" argument to "cp" and "mv" that works like "--parents" on mkdir(1). We use this to auto-create the directories for the archive layout.
2019-06-07implements ability to view headers in message viewYash Srivastav
2019-06-02Remove worker callbacks when Done is receivedDrew DeVault
2019-05-20Flesh out multipart switcherDrew DeVault
2019-05-20Verify TLS certificatesDrew DeVault
I was partway done implementing a UI for users to approve untrusted certs with, but let's just make them configure their servers right instead.
2019-05-19worker/types/worker: remove mutexSimon Ser
Worker.callbacks contains two types of callbacks: some are action callbacks, some are message callbacks. Each of those is access from one side of the communication channel (UI goroutine vs. worker goroutine). Instead of using a channel, we can use two different maps for each kind. This simplifies the code and also ensures we don't call an action callback instead of a message callback (or the other way around).
2019-05-19worker/types/worker: make ID allocation atomicSimon Ser
Message IDs are allocated for both messages from UI to workers and the other way around. Hence, the global nextId variable is accessed from multiple goroutines. Instead, use atomic to access the global counter.
2019-05-19worker/types/worker: set ID before sending messageSimon Ser
The previous code set the message ID after sending it, which could result in the receiver reading the ID before it's set.
2019-05-17s/aerc2/aerc/gDrew DeVault
2019-05-15Copy sent emails to the Sent folderDrew DeVault
Or rather, to a user-specified folder
2019-05-14Implement move, mv commandsDrew DeVault
2019-05-14Implement :copy (aka :cp)Drew 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.
2019-03-31Rename FetchMessageBodies to FetchFullMessagesDrew DeVault
2019-03-31Don't parse mail in worker; send a reader insteadDrew DeVault
2019-03-31Pull BodyStructure up from IMAP workerDrew DeVault
2019-03-29Add body fetching support codeDrew DeVault
2019-03-20Implement :delete-messageDrew DeVault
2019-03-14Implement message store side of message fetchingDrew DeVault
2019-03-10Fetch valid UIDs from server after opening dirDrew DeVault
2019-01-13Add name to DirectoryInfo messagesDrew DeVault
2019-01-13Issue IMAP SELECT commandDrew DeVault
2018-02-01Refactoring; consume listing responseDrew DeVault
2018-02-01Implement (most of) mailbox listingDrew DeVault
2018-02-01Improve loggingDrew DeVault
2018-02-01Reduce boilerplate in worker/UIDrew DeVault
2018-01-31Add certificate approval flowDrew DeVault
2018-01-14Connect to IMAP server, login and idleemersion
2018-01-11Move worker into account tabDrew DeVault
2018-01-09Initial pass on worker/UI message passingDrew DeVault