fix: messages that arrive while asleep or locked stay unread

A conversation left open under the lock screen or a dark display no longer
counts as read: the counters and the lock screen's tally go up, and on
waking (L2: on unlocking) the conversation reopens on its first unread
under the "New" line, a typed draft kept.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-10-08 23:41:40 +02:00
co-authored by Claude Opus 5.5
parent 92e379e05c
commit e09a90b325
6 changed files with 57 additions and 5 deletions
@@ -131,6 +131,8 @@ public:
void simCompose(const char* text); // the open thread's field: this text, keyboard up
void simDm(); // the first chat contact's thread
void simUnread(); // read and new messages to open on
void simSleep(bool on) { if (on) sleep(); else wake(); }
void simLock(bool on) { if (on) lockScreen(); else unlockScreen(); }
void simSend() { sendFromCompose(); } // the field, sent
// Navigation map (NavMap.h)
void navTargetsPopup();
@@ -427,6 +429,7 @@ private:
void refreshNode();
void buildThread();
void threadOpenAt(int first);
void reopenThreadIfUnread();
void refreshThread();
void refreshThreadAges();
uint32_t threadSignature() const;