CI / Build & Quality Checks (push) Skipped
CI / Secret scan (gitleaks) (push) Skipped
CI / Playwright smoke (e2e) (push) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 48s
CI / Build & Quality Checks (pull_request) Successful in 3m31s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Playwright smoke (e2e) (pull_request) Successful in 17m34s
Reported: after changing your status it did not appear in the members drawer until you switched rooms. The SDK creates our own User object with `new User()` instead of User.createUser, so its User.* events are never re-emitted on the client. The shared presence store (PERF-1) listens on the client, so it never heard our own presence changes; a remount (room switch) re-read the User and showed it. The store now also refreshes on the ClientEvent.Event the SDK emits for every sync presence event (after updating the User). Also read the status from the latest presence event: the SDK only overwrites presenceStatusMsg with a non-empty status_msg, so a cleared status lingered (for everyone) until reload. e2e: set a quick status, close settings, it shows in the drawer; clear it, it goes. Fails without the fix (status never appears). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5