aerc/widgets
Tim Culverhouse 556f346f96 msgviewer: simplify filter and pager command handling
Refactor the filtering and paging logic to use several fewer goroutines.
Fixes data race condition with the timing of filter -> pager ->
terminal, can be found when switching message views fast.

Check if filter -> pager process is currently running before calling it
to start again. Fixes data race between fetching message body and
terminal starting. Both can initiate the copying process, and for long
running filters and fast message fetching, it is possible to have
fetched a message but still be running the filter when the terminal
starts.

Move StripAnsi to it's own file in lib/parse, similar to the hyperlinks
parser.

Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
2022-10-18 22:20:37 +02:00
..
account-wizard.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
account.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
aerc.go compose: warn before sending without attachment 2022-10-17 22:41:00 +02:00
authinfo.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
compose.go compose: warn before sending without attachment 2022-10-17 22:41:00 +02:00
dialog.go widgets: add dialog interface 2022-08-22 09:30:37 +02:00
dirlist.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
dirtree.go dirtree: fix build errors 2022-08-22 09:57:23 +02:00
exline.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
getpasswd.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
headerlayout.go go.mod: change base git url 2021-11-05 10:21:45 +01:00
listbox.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
msglist.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
msgviewer.go msgviewer: simplify filter and pager command handling 2022-10-18 22:20:37 +02:00
pgpinfo.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
providesmessage.go msgviewer: open http links from messages 2022-06-14 22:12:48 +02:00
scrollable.go lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
selector.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
spinner.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
status.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
tabhost.go Implement style configuration. 2020-08-06 21:42:06 +02:00
terminal.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00