From 0acb28645fe73d488b82d2915add6c262028bbe3 Mon Sep 17 00:00:00 2001 From: Jeff Martin Date: Fri, 21 Aug 2020 11:58:30 -0700 Subject: handle message unknown charset error This change handles message parse errors by printing the error when the user tries to view the message. Specifically only handling unknown charset errors in this patch, but there are many types of invalid messages that can be handled in this way. aerc currently leaves certain messages in the msglist in the pending (spinner) state, and I'm unable to view or modify the message. aerc also only prints parse errors with message when they are initially loaded. This UX is a little better, because you can still see the header info about the message, and if you try to view it, you will see the specific error. --- commands/account/view.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'commands') diff --git a/commands/account/view.go b/commands/account/view.go index b421666..d52ce5b 100644 --- a/commands/account/view.go +++ b/commands/account/view.go @@ -38,6 +38,10 @@ func (ViewMessage) Execute(aerc *widgets.Aerc, args []string) error { if deleted { return nil } + if msg.Error != nil { + aerc.PushError(msg.Error.Error()) + return nil + } lib.NewMessageStoreView(msg, store, aerc.DecryptKeys, func(view lib.MessageView, err error) { if err != nil { -- cgit 1.4.1-2-gfad0