aerc/worker/imap
Tim Culverhouse e7a51f5524 backends: send MessageInfoError on header fetching error
When an error is encountered fetching a header, the backends respond
with a type.Error worker message. On receipt of this message, the UI
deletes all pending headers. The headers are all requested again as they
remain on the screen, resulting in an infinite request loop - and an
infinite logging loop. The user only ever sees the spinner unless they
check the logs.

A previous commit intended to fix this, however it introduced a
regression where any message that was part of the fetch request would
also be marked as erroneous. This commit is reverted with commit
2aad2fea7d36 ("msgstore: revert 9fdc7acf5b48").

Send an erroneous message info message from the backend when an error is
encountered for a specific UID.

Fixes: 01f80721e2 ("msgstore: post MessageInfo on erroneous fetch")
Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
2022-09-25 11:54:27 +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 backends: send MessageInfoError on header fetching error 2022-09-25 11:54:27 +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