Cloudflare KV is too expensive for a free extension. Move cross-device sync to the browser's own storage.sync and drop the server.
- No server, no sync ID, no
cookies permission; delete server/ and its CI job.
- Snapshot is gzipped, base64-chunked into ≤ 8 KB items, and trimmed by priority to the 100 KB quota (charts first, then unlisted tracks, then Recent). Nothing is deleted locally by trimming; applying merges per track.
- Chord charts travel in a compact form (centisecond delta arrays).
- Settings shows usage (% of 100 KB) and warns on Chrome when the profile isn't signed in with sync on (
identity permission, no install warning).
- Empty per-track records are pruned.
- Migration removes the old
syncId and re-seeds; old Worker/KV to be deleted by hand.
Cloudflare KV is too expensive for a free extension. Move cross-device sync to the browser's own
storage.syncand drop the server.cookiespermission; deleteserver/and its CI job.identitypermission, no install warning).syncIdand re-seeds; old Worker/KV to be deleted by hand.