Skip to content

fix(channels): mobile channel rows don't show the unread badge #155

Description

@dborup

Summary

On mobile widths the channel list shows no unread badge. The unread count is kept in state (e.g. unread: 3 survives a refresh with #153), but the mobile row renderer never displays it. Found while reviewing #153; pre-existing on master.

Where (master e829d1ea)

public/channels.js:

Proposed fix

Render the same badge in the mobile row (e.g. in .ch-row-line1 next to the time, or on the avatar), with the same text (99+ cap), title and aria-label, escaped as on desktop and styled with existing CSS variables. Clear it when the channel is opened, as on desktop.

Acceptance criteria

  • A channel with unread > 0 shows the badge at mobile width (e.g. 390 px); none at 0.
  • The badge updates when a live-decrypted message arrives for a channel that is not open, and clears when it is opened.
  • Unit test for the mobile renderer and a Playwright check at mobile width; desktop unchanged.

Activity

  1. added a commit that references this issue on Oct 5, 2026
  2. dborup commented on Oct 5, 2026

    @dborup
    OwnerAuthor

    Fixed by #225 (merged as aff158c7).

    Mobile channel rows (renderChannelRowMobile) now show the same unread badge as desktop:

    • a 99+ cap, plus title and aria-label;
    • escaped, and styled with CSS variables;
    • updated by live decrypts, and cleared when the channel is opened.

    Desktop is unchanged. Covered by unit tests and a Playwright check at 390 px.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions