Skip to content

E2E: Fix sidebar unread indicators (@wip cluster A) #139

Description

@mjkatgithub

Planning

Goal

Fix sidebar unread state so inactive channels show data-unread="true" when
another user posts, clear on open, survive reload, and aggregate mentions on
the space rail.

Scope

  • Unread indicator for inactive channel
  • Opening channel clears unread indicator
  • Unread indicator survives reload
  • Mention unread aggregates on the space rail
  • Remove @wip when green

Branch

bug/e2e-wip-unread

Acceptance criteria

  • All four cluster A scenarios pass without @wip.
  • Green mention/unread scenarios still pass.

Test checklist

E2E

  • Unread / mention scenarios in chat.feature

Unit (if composables change)

  • npm run test:unit for unread helpers

Notes

Root cause: hasUnread relied on Matrix NotificationCountType.Total, which
stays zero for normal group messages under default push rules; mentions
(Highlight) already worked.

Fix: activity-based fallback in roomUnread.ts (getEventReadUpTo vs latest
foreign message, including encrypted via getLastLiveEvent); mute rooms skip
fallback; useRoomUnread passes userId, notification level, and refreshes on
sync/unread-notification events. E2E steps select Home + scoped sidebar locators
(unread + I open the seeded test room). @wip removed from four cluster A
scenarios.

Verified: 6/6 targeted unread E2E green; full lane 36/40 (all cluster A +
mention regression pass; 4 unrelated flakes incl. create-space rail).

Docs: N/A — logic in existing unread modules.

Metadata

Metadata

Assignees

Projects

Status
In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions