Skip to content

Desktop: refresh cadence, instant switching, cache coherence, telemetry v1#699

Merged
iamtoruk merged 1 commit into
mainfrom
feat/cadence-and-coherence
Jul 16, 2026
Merged

Desktop: refresh cadence, instant switching, cache coherence, telemetry v1#699
iamtoruk merged 1 commit into
mainfrom
feat/cadence-and-coherence

Conversation

@iamtoruk

Copy link
Copy Markdown
Member

Owner-driven batch: configurable refresh cadence; instant provider switch-back via result memoization; versioned cache filenames + advisory hydration lock (ends the old-binary/new-binary cache clobbering observed in the field); quota politeness (5min TTL + honest 429 copy); opt-in/region-split anonymous telemetry with first-launch onboarding. Zero computed-number changes. App 316/316, root 1805.

…etry v1

Performance and coherence:
- Settings > General 'Refresh every' (Manual/30s/1m/3m/5m/10m), live via
  RefreshCadenceContext; Manual polls only on demand
- usePolled memoKey LRU: provider/period switches paint the last-good
  result instantly with a switching hairline while refreshing quietly
- quota TTL 5min + honest rate-limited copy on 429 backoff
- version-suffixed cache files (session-cache.v5.json, daily-cache.v12,
  auto-minted on future bumps); legacy files never written or deleted,
  adopted once when versions match: old and new binaries coexist
  without clobbering (field-observed menubar-vs-desktop ping-pong)
- advisory hydration lock: concurrent cold starts share one scan
  (wait-then-read-warm), stale/dead locks self-heal, never a
  correctness gate

Telemetry v1 + onboarding (desktop only, per owner decisions):
- first-launch onboarding (3 feature screens + consent); region-split
  default (EU/EEA/UK/CH off, elsewhere on, unknown off); nothing sends
  before consent completion or while off; dev builds never send
- anonymous install UUID, rotated on opt-out; day-granularity events,
  cost buckets only; whitelisted names; 200-event queue, 5min flush
- Settings > Privacy live toggle replaces the static claim

Zero computed-number changes. App 316/316, root 1805.

Wire contract targets api.codeburn.app/v1/telemetry (Worker follows).
@iamtoruk
iamtoruk merged commit 4d8d81a into main Jul 16, 2026
3 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.

1 participant