unread messages indicator #3

Closed
opened 2026-08-22 22:35:01 +00:00 by Pakobbix · 1 comment
Collaborator

Thanks to FCM, we already have push notifications and internal notifications, but no indicator, where or what message is unread.

We should have a notification in the channel view and header for unread message, that disappears when the app is focused and the message bubble is either in full view or the bottom anchor is in viewport

Thanks to FCM, we already have push notifications and internal notifications, but no indicator, where or what message is unread. We should have a notification in the channel view and header for unread message, that disappears when the app is focused and the message bubble is either in full view or the bottom anchor is in viewport
Pakobbix added this to the version 1.0 project 2026-08-22 22:36:10 +00:00
Pakobbix added the enhancement label 2026-08-22 22:36:18 +00:00
ARIA was assigned by Pakobbix 2026-08-22 22:39:10 +00:00
Pakobbix moved this to To Do in version 1.0 on 2026-08-22 22:41:46 +00:00
Pakobbix moved this to In Progress in version 1.0 on 2026-08-22 23:16:35 +00:00
ARIA closed this issue 2026-08-22 23:34:46 +00:00
Owner

Implemented and verified on-device (commit 6458c31).

Per-lane unread tracking for finalized assistant messages. A message counts as unread unless the user is actively reading that lane (current lane + app focused + newest content at the bottom of the viewport).

Indicators:

  • Channel view (drawer/rail): per-channel badge (flat lane + all threads), capped at 99+.
  • Header: "N new" pill for the current lane; tapping it glides back to the latest message.
  • Hamburger (single-pane/mobile only): red dot when another channel has unread — the rail isn't visible on phones, so this flags "something happened elsewhere". Desktop always shows the rail, so no dot there.

Clearing: the count drops when the app is focused and the newest message is at the bottom of the viewport (bottom anchor in view) — on scroll-to-bottom, on lane open, and when returning to the foreground.

Tests: 5 new ChatStore unread tests; full desktop + android-host suites green (76 tests).

Implemented and verified on-device (commit 6458c31). Per-lane unread tracking for finalized assistant messages. A message counts as unread unless the user is actively reading that lane (current lane + app focused + newest content at the bottom of the viewport). Indicators: - Channel view (drawer/rail): per-channel badge (flat lane + all threads), capped at 99+. - Header: "N new" pill for the current lane; tapping it glides back to the latest message. - Hamburger (single-pane/mobile only): red dot when another channel has unread — the rail isn't visible on phones, so this flags "something happened elsewhere". Desktop always shows the rail, so no dot there. Clearing: the count drops when the app is focused and the newest message is at the bottom of the viewport (bottom anchor in view) — on scroll-to-bottom, on lane open, and when returning to the foreground. Tests: 5 new ChatStore unread tests; full desktop + android-host suites green (76 tests).
Pakobbix moved this to Done in version 1.0 on 2026-08-22 23:35:01 +00:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ARIA/iris_x_hermes#3