summary refs log tree commit diff stats
path: root/worker/imap/worker.go
Commit message (Collapse)AuthorAgeFilesLines
* lib/msgstore: debounce directoryUpdateRequestsReto Brunner2020-02-251-0/+2
| | | | | | | | Apparently sending an event for every incoming messageInfo slows down the application significantly. Therefore this slows down the emmision rate, on the cost of being out of date in some cases.
* imap: fix double closing idleStopReto Brunner2020-02-161-2/+4
| | | | | | The idle restart code is at the end of handleMessage in the worker. However if an unsupported msg comes in, we returned early, skipping the re-init. That lead to a crash due to double closing idleStop in the next iteration.
* Fix: oauthbearer runtime errorFrode Aannevik2019-10-161-6/+7
| | | | | | | | | | | | Configure an oauthbearer source without a token_endpoint parameter would panic due to nil pointer dereference Example source=imaps+oauthbearer://frode.aa%40gmail.com@imap.gmail.com:993 source-cred-cmd=pass oatuh2 frode.aa@gmail.com token_endpoint is not required as it will use the provided password as access_token when it is not set
* imap worker: do not copy mailbox status mutexWagner Riffel2019-08-261-2/+3
| | | | Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
* Don't print imap errors to uiJelle Besseling2019-08-081-0/+1
| | | | | | | | This fixes ~sircmpwn/aerc2#245. This sets up the imap client to send error messages to the logger of the worker. Errors now end up in the bottom status line. https://todo.sr.ht/~sircmpwn/aerc2/245
* Register worker in init.Reto Brunner2019-07-191-2/+8
| | | | | This allows backends which can't always be compiled due to missing dependencies (say libnotmuch) to be compiled conditionally with buildflags.
* Support imaps with oauthbearer authentication (Gmail)Frode Aannevik2019-07-111-6/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | imaps+oauthbearer://user:token@host?token_endpoint=... - the config Source password is used as access token if no token_endpoint parameter is set - the config Source password is used as refresh token if token_endpoint parameter is set, and used to exchange with an access token The implementation has only been tested with Gmail. source = imaps+oauthbearer://{username}:{refersh_token}@imap.gmail.com:993? \ client_id=XX&\ client_secret=XX&\ token_endpoint=https%3A%2F%2Faccounts.google.com%2Fo%2Foauth2%2Ftoken client credentials created with https://console.developers.google.com/apis/credentials refresh token created with https://github.com/google/gmail-oauth2-tools/blob/master/python/oauth2.py rel: https://todo.sr.ht/~sircmpwn/aerc2/42
* Factor IMAP-specific structs out of UI modelsBen Burwell2019-07-081-3/+3
| | | | | | | Before, we were using several IMAP-specific concepts to represent information being displayed in the UI. Factor these structures out of the IMAP package to make it easier for other backends to provide the required information.
* Factor UI models out of the worker message packageBen Burwell2019-07-081-12/+17
| | | | | | | | 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.
* worker/imap: rig up search directory handlerDrew DeVault2019-06-241-0/+2
|
* imap: respect the folder config optionReto Brunner2019-06-141-1/+3
|
* Add :read and :unread commandsDrew DeVault2019-06-091-0/+2
|
* Update our message flags when server updates themDrew DeVault2019-06-091-0/+12
|
* Add archive commandRobert Günzler2019-06-091-0/+2
| | | | | | | | | | | | | | | 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.
* Load IMAP worker for imap+insecureDrew DeVault2019-05-201-2/+1
|
* asdfDrew DeVault2019-05-201-42/+2
|
* s/aerc2/aerc/gDrew DeVault2019-05-171-1/+1
|
* Copy sent emails to the Sent folderDrew DeVault2019-05-151-0/+4
| | | | Or rather, to a user-specified folder
* Implement :copy (aka :cp)Drew DeVault2019-05-141-0/+2
|
* Handle external message deletionsDrew DeVault2019-05-131-0/+7
|
* Handle incoming emails gracefullyDrew DeVault2019-05-131-3/+20
|
* Rename FetchMessageBodies to FetchFullMessagesDrew DeVault2019-03-311-2/+2
|
* Make the message viewer real, part oneDrew DeVault2019-03-311-0/+2
|
* Add body fetching support codeDrew DeVault2019-03-291-0/+2
|
* Implement :delete-messageDrew DeVault2019-03-201-1/+5
|
* Display message subjects in message listDrew DeVault2019-03-141-0/+2
|
* Fetch valid UIDs from server after opening dirDrew DeVault2019-03-101-3/+9
|
* Add name to DirectoryInfo messagesDrew DeVault2019-01-131-1/+2
|
* Issue IMAP SELECT commandDrew DeVault2019-01-131-1/+19
|
* Refactoring; consume listing responseDrew DeVault2018-02-011-21/+18
|
* Implement (most of) mailbox listingDrew DeVault2018-02-011-3/+3
|
* Reduce boilerplate in worker/UIDrew DeVault2018-02-011-34/+15
|
* Add certificate approval flowDrew DeVault2018-01-311-26/+55
|
* Improve loggingDrew DeVault2018-01-311-5/+23
|
* Connect to IMAP server, login and idleemersion2018-01-141-11/+111
|
* Move worker into account tabDrew DeVault2018-01-111-7/+2
|
* Renderer scaffoldingDrew DeVault2018-01-101-2/+0
|
* Misc idiomatic fixesemersion2018-01-101-5/+5
|
* Sleep main and worker loops on idleDrew DeVault2018-01-101-1/+2
|
* Parse account configurationDrew DeVault2018-01-091-3/+3
|
* Initial pass on worker/UI message passingDrew DeVault2018-01-091-0/+58