feat(mail): Sort pinned messages first in inbox (gt-ngu1)

Add Pinned field to BeadsMessage and sort pinned messages before
unpinned ones in listBeads(). Within each group, sort by newest first.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-20 17:53:52 -08:00
parent 4c060f4aaa
commit f6ff533891
3 changed files with 11 additions and 0 deletions
+8
View File
@@ -104,6 +104,14 @@ func (m *Mailbox) listBeads() ([]*Message, error) {
return nil, err
}
// Sort pinned messages first, then by timestamp (newest first)
sort.Slice(beadsMsgs, func(i, j int) bool {
if beadsMsgs[i].Pinned != beadsMsgs[j].Pinned {
return beadsMsgs[i].Pinned // pinned comes first
}
return beadsMsgs[i].CreatedAt.After(beadsMsgs[j].CreatedAt)
})
// Convert to GGT messages
var messages []*Message
for _, bm := range beadsMsgs {