Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • A Ahad Mobile
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • holatech
  • Ahad Mobile
  • Merge requests
  • !98

fix(card): wait up to 60s for card issuance

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Khanh Pham requested to merge fix/card-issue-timeout into develop Oct 05, 2026
  • Overview 1
  • Commits 2
  • Pipelines 2
  • Changes 2

Why

On staging, POST /card-account/cards took about 25 s: KeySecure card/apply alone takes about 10 s, plus the top-up transfer and the package lookup. The shared axios client times out at 15 s, so the app showed an error even though the card had been created. A second tap could then issue a second card and charge a second fee.

Change

  • useIssueCard now posts with timeout: 60_000. Every other request keeps the 15 s default.
  • The per-request timeout is kept on the 401 refresh replay, because the replay re-sends the same config.

Tests

  • pnpm test -- src/api/card-account: 41/41 pass. The issue-post assertion now requires timeout: 60000, and it fails if that is removed.
  • eslint and pnpm type-check are clean.
  • Opus gate: PASS WITH SHOULD-FIX. The should-fix: after a timeout, refresh the card list, the summary and the fiat balance on any outcome, so a created card still shows up. It follows on this branch.

🤖 Generated with Claude Code

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: fix/card-issue-timeout