caterium-app/docs/releases/2026-09-18-SYNC-DEMO-IMAGES.md

31 lines
1.9 KiB
Markdown

# Login, synchronization and trial image loading
Release cache: `v94-20260918-sync-demo-images-2`.
The previous transport aborted every request, including saves, after seven
seconds. A slow response could therefore surface as `AbortError: signal is
aborted without reason`. Reads had only four seconds on the fallback route.
- Reads and password login now allow 12 seconds through the proxy and 15 seconds
through the same Supabase project's direct route. A successful fallback is
preferred for 60 seconds, avoiding another wait on the failing route.
- Writes have a separate 35-second limit, longer than the proxy's 30-second
upstream limit. A write is never replayed by the transport. The outer cloud
operation deadline is 45 seconds so it cannot overtake a normal save.
- A transient sync failure retries after 2, 5 and 15 seconds, at most three
times. Each retry fetches the server revision and merges again, including when
a save committed but its response was lost. After exhaustion the UI shows a
readable connection error and keeps local changes.
- A late sync/pull response is ignored after account/workspace changes or local
sign-out. Caller cancellation is preserved and does not start a fallback.
- Ten trial photos now use 1024px WebP assets: **1,343,650 bytes instead of
22,930,358 bytes** (17.1 times smaller). The original images remain available
for rollback. Existing catalog/offer PNG references resolve to the optimized
files; customer photos and database records are not rewritten.
- The service worker caches same-origin app assets only, excluding API routes.
Validation covers delayed reads/saves, route fallback, cancellation, an uncertain
commit without a duplicate save, stale account responses, the actual SDK login,
all ten image dimensions and the 1.5 MB combined budget. Full application checks
also cover trial TTK/stock/procurement and all 21 proposal designs.