Skip to content

Add retry logic for failed IndexedDB writes #120

@jwaspin

Description

@jwaspin

Summary

Add best-effort retry logic for failed IndexedDB writes in v2 to reduce data loss from transient errors.

Requirements

  • Wrap write ops with capped exponential backoff (e.g., ~1s, ~2s, ~4s; max 3 attempts).
  • Classify errors: retry transient failures; surface non-retryable (e.g., quota exceeded) immediately with a clear UI message.
  • Keep retries off the main thread; UI remains responsive.
  • Ensure idempotency (no duplicate records on partial retries).
  • Add lightweight logging/metrics for retry attempts and outcomes.

Acceptance Criteria

  • Transient write failures are retried with capped backoff (up to 3 attempts).
  • Non-retryable errors display a clear message (e.g., quota/storage full).
  • No duplicate records created by the retry mechanism.
  • UI stays responsive during retries; no freezes.
  • Basic logs confirm retries and final status.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions