CI / Build & Quality Checks (push) Skipped
CI / Secret scan (gitleaks) (push) Skipped
CI / Playwright smoke (e2e) (push) Skipped
CI / Build & Quality Checks (pull_request) Successful in 3m55s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 27s
CI / Playwright smoke (e2e) (pull_request) Successful in 33m26s
Synapse allows one presence write per 10 s per user (shared by every device). The heartbeat wrote presence at startup and on every tab switch, so a status save right after usually got a 429 and waited 7-25 s, with the whole status section (quick statuses, input, Clear) locked and the Save spinner going. - One shared presence queue (heartbeat + status save), newest write wins: changes made while a write waits out a 429 replace it, so only the latest is sent, as soon as the server allows. - The status UI no longer waits on the server: the status applies locally, Save switches off (it compared with the server echo, so it stayed lit and invited a second, guaranteed-429 write), the controls stay usable, and a short note shows until the write lands. - The heartbeat skips writes the server already reflects (e.g. "online" at startup), so it stops spending the budget for nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5