DanS and Claude Opus 4.8
100ed01469
feat(chat): unread count + sidebar badge (Q1)
...
Track a per-conversation "last seen" watermark (message timestamp) on App:
- chatUnreadCount() sums incoming messages newer than each conversation's
watermark; surfaced as SidebarStatus.chatUnreadCount → a badge on the Chat nav
item (mirrors the History/Peers badges).
- Viewing a thread marks it seen (markChatConversationSeen while displayed).
- Baseline on load: existing stored messages are marked seen, so only messages
that arrive while the app is open badge as unread.
- Wiped in resetChatSession so unread state never leaks across a wallet switch.
In-memory only (resets on app restart); persistence is a later refinement.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-16 15:56:58 -05:00
..
2026-07-07 18:58:54 -05:00
2026-02-27 00:26:01 -06:00
2026-07-14 17:15:24 -05:00
2026-07-14 18:17:13 -05:00
2026-07-01 15:02:15 -05:00
2026-05-05 03:22:14 -05:00
2026-07-12 15:11:35 -05:00
2026-06-10 19:50:44 -05:00
2026-07-02 17:29:12 -05:00
2026-04-29 12:47:57 -05:00
2026-07-02 17:29:12 -05:00
2026-04-29 12:47:57 -05:00
2026-07-02 20:18:02 -05:00
2026-02-27 00:26:01 -06:00
2026-07-05 15:08:59 -05:00
2026-02-27 00:26:01 -06:00
2026-07-13 22:37:26 -05:00
2026-07-16 15:56:58 -05:00
2026-07-16 15:40:19 -05:00
2026-07-01 18:22:35 -05:00
2026-07-05 14:00:16 -05:00
2026-07-05 13:09:23 -05:00
2026-07-13 11:16:55 -05:00
2026-07-13 11:07:49 -05:00
2026-07-12 17:49:02 -05:00
2026-07-12 17:49:02 -05:00
2026-07-01 20:11:44 -05:00
2026-07-01 20:11:44 -05:00
2026-07-01 18:22:35 -05:00
2026-07-01 18:22:35 -05:00
2026-07-01 18:52:15 -05:00
2026-07-01 18:52:15 -05:00
2026-07-01 18:46:06 -05:00
2026-07-01 18:46:06 -05:00
2026-04-29 12:47:57 -05:00
2026-04-29 12:47:57 -05:00
2026-07-15 23:09:04 -05:00
2026-07-13 11:32:35 -05:00
2026-07-01 17:58:29 -05:00
2026-07-01 17:58:29 -05:00
2026-07-05 17:04:58 -05:00
2026-07-15 12:45:18 -05:00
2026-07-15 11:11:06 -05:00
2026-07-10 17:42:57 -05:00
2026-07-14 16:33:52 -05:00
2026-03-17 18:49:46 -05:00
2026-07-13 21:43:53 -05:00
2026-07-13 21:43:53 -05:00
2026-07-13 21:22:41 -05:00
2026-07-13 21:22:41 -05:00
2026-07-10 14:26:40 -05:00
2026-07-15 11:55:11 -05:00
2026-07-14 20:10:49 -05:00
2026-07-14 18:37:22 -05:00
2026-02-27 00:26:01 -06:00
2026-02-27 00:26:01 -06:00
2026-07-15 12:45:18 -05:00
2026-07-03 20:47:33 -05:00
2026-07-05 15:09:08 -05:00
2026-07-05 15:09:08 -05:00
2026-07-05 15:09:08 -05:00
2026-06-10 16:57:09 -05:00
2026-07-04 18:48:08 -05:00
2026-06-10 15:47:34 -05:00
2026-07-04 19:25:20 -05:00
2026-06-10 18:42:16 -05:00
2026-04-29 12:47:57 -05:00
2026-04-29 12:47:57 -05:00
2026-07-05 12:53:46 -05:00
2026-07-01 14:35:33 -05:00
2026-04-29 12:47:57 -05:00
2026-04-29 12:47:57 -05:00
2026-07-09 16:20:41 -05:00
2026-04-01 17:06:05 -05:00
2026-07-05 15:08:43 -05:00
2026-06-07 11:09:27 -05:00
2026-07-05 15:08:59 -05:00
2026-02-27 00:26:01 -06:00
2026-07-14 20:10:49 -05:00
2026-02-27 00:26:01 -06:00
2026-07-05 15:08:43 -05:00
2026-02-27 00:26:01 -06:00
2026-07-14 14:51:02 -05:00
2026-07-14 17:15:24 -05:00
2026-07-14 17:15:24 -05:00
2026-07-07 18:58:54 -05:00
2026-07-14 17:58:11 -05:00
2026-07-07 16:57:54 -05:00
2026-07-04 21:41:42 -05:00
2026-02-27 00:26:01 -06:00
2026-07-14 18:37:22 -05:00
2026-07-14 18:37:22 -05:00
2026-07-05 15:08:59 -05:00
2026-02-27 00:26:01 -06:00
2026-07-04 23:33:48 -05:00
2026-02-27 00:26:01 -06:00
2026-07-14 17:40:59 -05:00
2026-07-14 17:15:24 -05:00
2026-07-15 16:47:17 -05:00
2026-07-10 17:56:59 -05:00