Planning
Goal
Fix own member presence indicator so away/offline states are not stuck on
bg-green-500 in E2E.
Scope
- Member presence indicator: away
- Member presence indicator: offline
- Remove
@wip on outline examples when green
Branch
bug/e2e-wip-presence
Acceptance criteria
Test checklist
E2E
Unit
Notes
Root cause: startClient advertised online on sync (disablePresence: false);
member list lacked presence reactivity; settings apply could read stale
presenceValue ref when Playwright changed the select.
Fix: disablePresence on all startClient calls; setPresence('online')
only on fresh login (session restore leaves server presence untouched);
resolveRawMemberPresence + localStorage preference +
useMemberPresenceVersion; settings apply reads DOM select value;
E2E waits for stored preference and Synapse rate-limit backoff.
Docs: N/A — app composable + E2E step hardening.
Planning
Goal
Fix own member presence indicator so away/offline states are not stuck on
bg-green-500in E2E.Scope
@wipon outline examples when greenBranch
bug/e2e-wip-presenceAcceptance criteria
@wip.Test checklist
E2E
Member presence indicator reflects standard statusoutlineUnit
memberPresence.spec.ts+matrixPresencePreference.spec.tsNotes
Root cause:
startClientadvertised online on sync (disablePresence: false);member list lacked presence reactivity; settings apply could read stale
presenceValueref when Playwright changed the select.Fix:
disablePresenceon allstartClientcalls;setPresence('online')only on fresh login (session restore leaves server presence untouched);
resolveRawMemberPresence+ localStorage preference +useMemberPresenceVersion; settings apply reads DOM select value;E2E waits for stored preference and Synapse rate-limit backoff.
Docs: N/A — app composable + E2E step hardening.