util: fetch message headers for nil messages

Fix large archive operations that covers messages in the store with
unfetched headers. Commit e5ad877af5 ("msgstore: fetch missing headers
in visual mode") fixed this for the visual selection mode but omitted
the case when 'mark -a' is used to mark all messages.

Signed-off-by: Koni Marti <koni.marti@gmail.com>
Acked-by: Robin Jarry <robin@jarry.cc>
This commit is contained in:
Koni Marti 2022-08-08 22:21:43 +02:00 committed by Robin Jarry
parent 22e6c9e4fa
commit 16dbb94221
3 changed files with 28 additions and 6 deletions
commands/msg

View file

@ -2,6 +2,7 @@ package msg
import (
"errors"
"time"
"git.sr.ht/~rjarry/aerc/commands"
"git.sr.ht/~rjarry/aerc/lib"
@ -11,10 +12,16 @@ import (
type helper struct {
msgProvider widgets.ProvidesMessages
statusInfo func(string)
}
func newHelper(aerc *widgets.Aerc) *helper {
return &helper{aerc.SelectedTabContent().(widgets.ProvidesMessages)}
return &helper{
msgProvider: aerc.SelectedTabContent().(widgets.ProvidesMessages),
statusInfo: func(s string) {
aerc.PushStatus(s, 10*time.Second)
},
}
}
func (h *helper) markedOrSelectedUids() ([]uint32, error) {
@ -46,5 +53,5 @@ func (h *helper) messages() ([]*models.MessageInfo, error) {
if err != nil {
return nil, err
}
return commands.MsgInfoFromUids(store, uid)
return commands.MsgInfoFromUids(store, uid, h.statusInfo)
}