Skip to content

app 1.0.64: say when the free plan has paused sync on this device - #78

Merged
jordan-gibbs merged 2 commits into
mainfrom
feat/sync-paused-app
Oct 26, 2026
Merged

jordan-gibbs merged 2 commits into
mainfrom
feat/sync-paused-app

Conversation

@jordan-gibbs

Copy link
Copy Markdown
Contributor

Client side of #76. The server rule stays switched off (SYNC_PLAN_GATE) until every platform's 1.0.64 is live.

  • A device the server answers with 403 sync_paused shows Sync paused on the chip, plus a banner that names the syncing device. The banner has two buttons: Sync this PC/Mac/phone instead (POST /account/sync-device) and Get Pro. iPhone gets no upgrade button.
  • A paused device keeps its queue. Nothing is rejected or dropped. It stops pushing and asks again every 5 minutes, or on Sync now. The doorbell reconnect waits 5 minutes while paused.
  • In the last 3 days of the free week, a dismissible countdown shows, from GET /account sync_until.
  • Version 1.0.64+82.

Tests: test/sync_paused_test.dart (unit tests, plus WorkerRepo against a loopback server) and a paused-PC case in desk_sync_chip_test.dart. Locally: analyze is clean and the full suite (1101) is green.

🤖 Generated with Claude Code

polonuim210 and others added 2 commits October 26, 2026 17:06
The server's free plan rule (#76, still switched off) answers a device
that is not the account's syncing one with 403 sync_paused. Until now
the apps read that as offline.

- Both repos keep a SyncPauseGate (data/sync_plan.dart). A paused device
  keeps its queue (nothing is rejected or dropped), stops pushing, and
  asks again every 5 minutes, or on Sync now. The doorbell waits 5
  minutes between reconnects while paused.
- The sync chip reads "Sync paused".
- A banner says which device syncs, with "Sync this PC/Mac/phone
  instead" (POST /account/sync-device) and Get Pro. iPhone gets no
  upgrade button (storeSafeBuild).
- In the free week's last 3 days, a dismissible line counts down, from
  GET /account sync_until (sent only while the rule is on).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jordan-gibbs
jordan-gibbs merged commit 2623484 into main Oct 26, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants