● PRE-MERGE REVIEW · awaiting approval

Fresh-on-return sync

PR #72 · feat(sync) · captured on the dev build of this branch

What changed

The open app used to load your data once and only re-pull on a cold start or an offline→online flip. So a change made elsewhere — another device, or Claude editing your board via the MCP server — stayed invisible until you hit reload. Now the app refreshes itself the moment you return to it, and sibling tabs sync instantly.

Watch it: a second device catches up on focus

Two browsers signed into the same account, both viewing the same board (Sprint). Device A adds a task and it pushes to the cloud. Device B — never reloaded — pulls and shows the “Synced live ✅” card the instant its window regains focus. This is the headline cross-device scenario.

Device B’s board — the card appears the moment it regains focus.
Device B board — all columns empty
Before — every column empty, no card yet.
Device B board — one card in Backlog
After focus — “Synced live ✅” appears in Backlog.

Captured in a freshly-created throwaway board so the only thing that changes on screen is the one card. The board and every test fixture are deleted when the run finishes.

QA checklist

New behavior

Regression watch

Confidence