mirror of
https://github.com/nexu-io/open-design.git
synced 2026-09-20 06:15:06 +08:00
bfa305f17a
Extract a shared BackoffController primitive and use it so workspace-context-dependent writes survive transient outages instead of failing closed. - resolvedWorkspaceContextForWrite proceeds on a generation-matched last-good context instead of throwing on a transient `unavailable` (a weak-network blip no longer bricks project creation and every other workspace write); a cache from a retired generation (account switch) still fails closed. - context + billing refetch use exponential backoff + jitter, single-timer coordination, success-only reset, and SSE early-trigger without depth reset (replacing billing's fixed 5s and context's no-retry). - createProject auto-retries a 503 retryable WORKSPACE_AUTHORITY_UNAVAILABLE with the id minted once (idempotent). - unify the 3 duplicated SSE reconnect loops (project-events, Theater, useEventStream) onto BackoffController and add jitter.