Address review round 1 on the offline library

- A token refresh that can't reach Supabase is no verdict on the session:
  a session setting up goes offline and retries, one already offline
  stays so, and only a real refusal is an incident.
- The sync chip says synced only for a ready session; offline while the
  socket is back but the retry hasn't finished, needs attention for an
  incident.
- Each copy write carries the order its live answer arrived in, so an
  older answer can never replace a newer record; re-marking a list as
  current rewrites its last answer, and a dropped socket ends that until a
  fresh answer arrives.
- The copy shows only where a copy is kept; on the web a failed setup is
  the incident it was on main.
- While the library shows the copy, every cloud library change (create
  in a cloud folder, edit/share/leave/delete a folder or strategy,
  duplicate, rename, export, add a shared link, and any drop that moves
  cloud items) is refused at once with "Needs a connection".
- An account's copies are deleted however it ends: Supabase signing it
  out, another account signing in, or a sign-out whose later steps fail.
- Timer-driven auth tests wait on conditions rather than fixed sleeps.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8e6715502aDara Adedeji committed on 10/18/2026, 2:20:13 AMparentf6ff3e9

Checks

All checks passed
17 files changedLine totals unavailable