diff --git a/commands/msg/archive.go b/commands/msg/archive.go index ebe63ff..e1ff9a6 100644 --- a/commands/msg/archive.go +++ b/commands/msg/archive.go @@ -54,6 +54,7 @@ func (Archive) Execute(aerc *widgets.Aerc, args []string) error { } archiveDir := acct.AccountConfig().Archive store.Next() + store.ClearVisualMark() acct.Messages().Invalidate() var uidMap map[string][]uint32 @@ -90,6 +91,7 @@ func (Archive) Execute(aerc *widgets.Aerc, args []string) error { aerc.PushError(msg.Error.Error()) success = false wg.Done() + store.Remark() } }) } diff --git a/commands/msg/delete.go b/commands/msg/delete.go index ce5c4ca..d90132a 100644 --- a/commands/msg/delete.go +++ b/commands/msg/delete.go @@ -44,6 +44,7 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error { } //caution, can be nil next := findNextNonDeleted(uids, store) + store.ClearVisualMark() store.Delete(uids, func(msg types.WorkerMessage) { switch msg := msg.(type) { case *types.Done: @@ -79,8 +80,10 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error { } acct.Messages().Invalidate() case *types.Error: + store.Remark() aerc.PushError(msg.Error.Error()) case *types.Unsupported: + store.Remark() // notmuch doesn't support it, we want the user to know aerc.PushError(" error, unsupported for this worker") } diff --git a/commands/msg/move.go b/commands/msg/move.go index 098227e..d88a36f 100644 --- a/commands/msg/move.go +++ b/commands/msg/move.go @@ -62,6 +62,7 @@ func (Move) Execute(aerc *widgets.Aerc, args []string) error { aerc.RemoveTab(h.msgProvider) } store.Next() + store.ClearVisualMark() acct.Messages().Invalidate() joinedArgs := strings.Join(args[optind:], " ") store.Move(uids, joinedArgs, createParents, func( @@ -71,6 +72,7 @@ func (Move) Execute(aerc *widgets.Aerc, args []string) error { case *types.Done: aerc.PushStatus("Message moved to "+joinedArgs, 10*time.Second) case *types.Error: + store.Remark() aerc.PushError(msg.Error.Error()) } })