Skip to content

[MEDIUM] Missing request timeout handling in frontend API calls #72

Description

@kilodesodiq-arch

Engineering Gap

Frontend API calls in verification-api.ts, verification-inbox-api.ts, and useCampaigns.ts use fetch without AbortController timeouts. Network requests hang indefinitely if backend is unresponsive.

Codebase Evidence

  • app/frontend/src/lib/verification-api.ts line 15+: fetch calls without AbortController
  • app/frontend/src/lib/verification-inbox-api.ts line 10+: Same pattern
  • No timeout wrapper utility in app/frontend/src/lib/

Risk Profile

UI hangs on network failure. User experience degraded in poor connectivity.

Remediation Strategy

Add fetchWithTimeout utility wrapping AbortController. Apply to all API calls. Default timeout 30s.

Success Conditions

  • fetchWithTimeout utility created
  • All API calls use timeout wrapper
  • Timeout errors handled with user feedback

Change Surface

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

Security Review

No security impact.

Completion Checklist

  • Implementation completed
  • Peer reviewed
  • Tests passing
  • Ready for merge

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions