aerc/worker/imap
Tim Culverhouse 9fdc7acf5b cache: fetch flags from UI
When cached headers are fetched, an action is posted back to the Worker
to immediately fetch the flags for the message from the server (we can't
know the flags state, therefore it's not cached). When scrolling, a lag
occurs when loading cached headers because the n+1 message has to wait
for the flag request to return before the cached headers are retrieved.

Collect the message UIDs in the UI that need flags, and fetch them based
off a debounce timer in a single request. Post the action from the UI to
eliminate an (ugly) go routine in the worker.

Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
2022-09-20 21:10:35 +02:00
..
cache.go cache: fetch flags from UI 2022-09-20 21:10:35 +02:00
checkmail.go logging: use level-based logger functions 2022-07-23 22:52:15 +02:00
configure.go lint: work nicely with wrapped errors (errorlint) 2022-08-04 21:58:04 +02:00
connect.go lint: remove redundant returns (S1023) 2022-08-04 21:57:45 +02:00
create.go go vet: composite literal uses unkeyed fields 2022-03-18 13:33:16 +01:00
fetch.go lint: work nicely with wrapped errors (errorlint) 2022-08-04 21:58:04 +02:00
flags.go imap: prevent deadlock from posting actions to self 2022-09-20 00:03:36 +02:00
idler.go lint: homogenize operations and minor fixes (gocritic) 2022-08-04 21:58:01 +02:00
imap.go go.mod: change base git url 2021-11-05 10:21:45 +01:00
list.go lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
movecopy.go imap: implement MoveMessages handling 2022-08-22 15:46:53 +02:00
observer.go lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
open.go lint: ensure errors are at least logged (errcheck) 2022-08-04 21:57:57 +02:00
remove.go go vet: composite literal uses unkeyed fields 2022-03-18 13:33:16 +01:00
search.go lint: homogenize operations and minor fixes (gocritic) 2022-08-04 21:58:01 +02:00
seqmap.go imap: create copy of uids to retain sort order 2022-08-22 15:46:49 +02:00
seqmap_test.go imap: create copy of uids to retain sort order 2022-08-22 15:46:49 +02:00
worker.go imap: implement MoveMessages handling 2022-08-22 15:46:53 +02:00