From 956f1366a538f4cbd0f300083871196c4c759d44 Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Wed, 18 Sep 2019 10:21:45 -0400 Subject: [PATCH] Revert "Fix out-of-order messages by sorting as we display" This reverts commit ac99d9ed62644cf0259bdd79481b28c3fbcef650. --- lib/msgstore.go | 2 +- widgets/msglist.go | 31 ------------------------------- 2 files changed, 1 insertion(+), 32 deletions(-) diff --git a/lib/msgstore.go b/lib/msgstore.go index 73c79e7..1f18fbf 100644 --- a/lib/msgstore.go +++ b/lib/msgstore.go @@ -13,7 +13,7 @@ type MessageStore struct { Deleted map[uint32]interface{} DirInfo models.DirectoryInfo Messages map[uint32]*models.MessageInfo - // List of known UIDs, order is not important + // Ordered list of known UIDs uids []uint32 selected int diff --git a/widgets/msglist.go b/widgets/msglist.go index b7c921c..5c2d2f4 100644 --- a/widgets/msglist.go +++ b/widgets/msglist.go @@ -3,7 +3,6 @@ package widgets import ( "fmt" "log" - "sort" "github.com/gdamore/tcell" "github.com/mattn/go-runewidth" @@ -28,34 +27,6 @@ type MessageList struct { aerc *Aerc } -type msgSorter struct { - uids []uint32 - store *lib.MessageStore -} - -func (s *msgSorter) Len() int { - return len(s.uids) -} - -func (s *msgSorter) Less(i, j int) bool { - msgI := s.store.Messages[s.uids[i]] - msgJ := s.store.Messages[s.uids[j]] - if msgI == nil && msgJ == nil { - return false // doesn't matter which order among nulls - } else if msgI == nil && msgJ != nil { - return true // say i is before j so we sort i to bottom - } else if msgI != nil && msgJ == nil { - return false // say i is after j so we sort j to bottom - } - return msgI.InternalDate.Before(msgJ.InternalDate) -} - -func (s *msgSorter) Swap(i, j int) { - tmp := s.uids[i] - s.uids[i] = s.uids[j] - s.uids[j] = tmp -} - func NewMessageList(conf *config.AercConfig, logger *log.Logger, aerc *Aerc) *MessageList { ml := &MessageList{ conf: conf, @@ -97,8 +68,6 @@ func (ml *MessageList) Draw(ctx *ui.Context) { row int = 0 ) uids := store.Uids() - sorter := msgSorter{uids: uids, store: store} - sort.Stable(&sorter) for i := len(uids) - 1 - ml.scroll; i >= 0; i-- { uid := uids[i]