diff options
author | Reto Brunner <reto@labrat.space> | 2020-02-19 08:37:20 +0100 |
---|---|---|
committer | Reto Brunner <reto@labrat.space> | 2020-02-19 08:37:20 +0100 |
commit | d44bdc9fb99463081fa622589f7432191dd8b30d (patch) | |
tree | 969cc47ed46cda3ec7437544cd0d67069efdae21 /lib | |
parent | bcab8de07272699e218bafb1c37c1871f3640336 (diff) |
Revert "Only fetch the directory contents when we are switching directories"
This reverts commit bd4df530095ee343778a59120a9e641c01010b0f.
I did not properly untangle the opening / dirlist update of each other.
This interferes with the imap worker, hence the revert
Diffstat (limited to 'lib')
-rw-r--r-- | lib/msgstore.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/msgstore.go b/lib/msgstore.go index 737ba4d..ae58aaf 100644 --- a/lib/msgstore.go +++ b/lib/msgstore.go @@ -31,6 +31,8 @@ type MessageStore struct { resultIndex int filter bool + defaultSortCriteria []*types.SortCriterion + // Map of uids we've asked the worker to fetch onUpdate func(store *MessageStore) // TODO: multiple onUpdate handlers onUpdateDirs func() @@ -44,6 +46,7 @@ type MessageStore struct { func NewMessageStore(worker *types.Worker, dirInfo *models.DirectoryInfo, + defaultSortCriteria []*types.SortCriterion, triggerNewEmail func(*models.MessageInfo), triggerDirectoryChange func()) *MessageStore { @@ -57,6 +60,8 @@ func NewMessageStore(worker *types.Worker, bodyCallbacks: make(map[uint32][]func(io.Reader)), headerCallbacks: make(map[uint32][]func(*types.MessageInfo)), + defaultSortCriteria: defaultSortCriteria, + pendingBodies: make(map[uint32]interface{}), pendingHeaders: make(map[uint32]interface{}), worker: worker, @@ -172,6 +177,9 @@ func (store *MessageStore) Update(msg types.WorkerMessage) { switch msg := msg.(type) { case *types.DirectoryInfo: store.DirInfo = *msg.Info + store.worker.PostAction(&types.FetchDirectoryContents{ + SortCriteria: store.defaultSortCriteria, + }, nil) update = true case *types.DirectoryContents: newMap := make(map[uint32]*models.MessageInfo) |