Skip to content

[MEDIUM] No retry logic with exponential backoff in frontend API calls #123

@kilodesodiq-arch

Description

@kilodesodiq-arch

Engineering Gap

Frontend API calls have no retry logic. Transient network errors or 503 responses result in immediate user-facing errors. Mobile app has retry in syncQueue.ts but frontend does not.

Codebase Evidence

  • app/frontend/src/lib/verification-api.ts: No retry on failure
  • app/frontend/src/lib/verification-inbox-api.ts: No retry
  • app/mobile/src/services/syncQueue.ts: Retry exists — pattern to replicate

Risk Profile

Transient failures surface to users unnecessarily. Poor UX under flaky networks.

Remediation Strategy

Add retry wrapper with exponential backoff (1s, 2s, 4s). Apply to critical API calls. Max 3 retries. Only retry on 5xx and network errors.

Success Conditions

  • Retry wrapper created
  • Applied to critical API paths
  • Max 3 retries with backoff

Change Surface

Files: app/frontend/src/lib/, API call sites

Security Review

No security impact. Ensure idempotent retries for POST.

Completion Checklist

  • Implementation completed
  • Peer reviewed
  • Ready for merge

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions