fix(sync): "Connecting…" only while catching up, not for 30 s after load (#274) #432

Merged
jared merged 1 commits from fix/connecting-strip into lotus 2026-10-19 16:15:39 -04:00
Owner

Fixes #274.

The green "Connecting…" strip showed for PREPARED and for the first SYNCING after PREPARED or RECONNECTING, i.e. until the next /sync returned. On a quiet account that long-polls about 30 s while the app already works. It comes from upstream Cinny.

Logged transitions (local stack):

4s  null→PREPARED, PREPARED→SYNCING, SYNCING→SYNCING
64s SYNCING→RECONNECTING   (offline)
65s RECONNECTING→SYNCING   (back: a sync just succeeded)
95s SYNCING→SYNCING        (the old strip only went away here)

A SYNCING means a sync just succeeded, so the strip now shows only during CATCHUP. A real failure still shows as Reconnecting / "Connection lost".

Verified (Playwright, sampled each second; C = strip, L = Connection lost):

load (40 s) after going back online (40 s)
before strip until the first long-poll returned (~30 s) LCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..........
after ........................................ (usable at 2 s) L.......................................

"Connection lost" still shows while offline.

🤖 Generated with Claude Code

https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5

Fixes #274. The green "Connecting…" strip showed for `PREPARED` and for the first `SYNCING` after `PREPARED` or `RECONNECTING`, i.e. **until the next `/sync` returned**. On a quiet account that long-polls about 30 s while the app already works. It comes from upstream Cinny. Logged transitions (local stack): ``` 4s null→PREPARED, PREPARED→SYNCING, SYNCING→SYNCING 64s SYNCING→RECONNECTING (offline) 65s RECONNECTING→SYNCING (back: a sync just succeeded) 95s SYNCING→SYNCING (the old strip only went away here) ``` A `SYNCING` means a sync just succeeded, so the strip now shows **only during `CATCHUP`**. A real failure still shows as Reconnecting / "Connection lost". **Verified** (Playwright, sampled each second; C = strip, L = Connection lost): | | load (40 s) | after going back online (40 s) | |---|---|---| | before | strip until the first long-poll returned (~30 s) | `LCCCCCCCCCCCCCCCCCCCCCCCCCCCCC..........` | | after | `........................................` (usable at 2 s) | `L.......................................` | "Connection lost" still shows while offline. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared added 1 commit 2026-10-19 15:14:41 -04:00
fix(sync): "Connecting…" only while catching up, not for 30 s after load (#274)
CI / Build & Quality Checks (pull_request) Successful in 1m55s
CI / Trigger Desktop Build (pull_request) Skipped
CI / Docker image build & smoke test (pull_request) Skipped
CI / Secret scan (gitleaks) (pull_request) Successful in 13s
CI / Playwright smoke (e2e) (pull_request) Successful in 13m48s
c6aac574ee
The strip showed for PREPARED and for the first SYNCING after it (or after
RECONNECTING), i.e. until the next /sync returned: ~30 s of long-poll on a
quiet account while the app already worked. A SYNCING means a sync just
succeeded, so the strip now shows only during CATCHUP; failures still show
as Reconnecting / Connection lost.

Fixes #274

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017PCb59uY3UKqDqt7B6hzd5
jared merged commit a1223ba5cf into lotus 2026-10-19 16:15:39 -04:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/cinny#432