aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorReto Brunner <reto@labrat.space>2020-02-19 08:37:20 +0100
committerReto Brunner <reto@labrat.space>2020-02-19 08:37:20 +0100
commitd44bdc9fb99463081fa622589f7432191dd8b30d (patch)
tree969cc47ed46cda3ec7437544cd0d67069efdae21 /lib
parentbcab8de07272699e218bafb1c37c1871f3640336 (diff)
downloadaerc-d44bdc9fb99463081fa622589f7432191dd8b30d.tar.gz
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.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/msgstore.go b/lib/msgstore.go
index 737ba4d3..ae58aaf4 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)