Skip to content

Make demo actions reliable under retries and failures#2

Merged
SaarthurR merged 1 commit into
mainfrom
codex/demo-action-reliability
Jul 13, 2026
Merged

Make demo actions reliable under retries and failures#2
SaarthurR merged 1 commit into
mainfrom
codex/demo-action-reliability

Conversation

@SaarthurR

Copy link
Copy Markdown
Owner

Why

Demo Server Actions could fail before dispatch when action modules re-exported non-function state, and retrying request acceptance could leave a fulfilled request without its chat recovery path. Report and cancellation layers also needed settled-state cleanup so failed or pending actions do not strand controls.

What this changes

  • Keeps file-level Server Action modules limited to async runtime exports and adds a repository-wide TypeScript contract.
  • Makes ride-request acceptance idempotent for the winning driver while emitting exactly one notification.
  • Uses the privacy-safe public ride-detail RPC and preserves desktop/mobile loading behavior.
  • Prevents report-layer dismissal during submission and resets report/cancellation feedback consistently.

Verification

  • npm test — 395 passed, 0 failed
  • npm run lint — passed
  • npx tsc --noEmit — passed
  • npm run build — passed on Next.js 16.2.9
  • focused polish/action contracts — 17 passed, 0 failed
  • live Supabase acceptance checks confirmed first accept true, same-driver retry true, other-driver false, one correctly attributed notification, and chat recovery

Migration note

The included migrations 20260713175559_public_ride_detail.sql and 20260713190208_accept_ride_request_idempotent_retry.sql are already applied to the linked Supabase project. Two earlier location-privacy migrations in the working tree are intentionally excluded from this PR because they predate and are outside this change set.

@vercel

vercel Bot commented Jul 13, 2026

Copy link
Copy Markdown

@SaarthurR is attempting to deploy a commit to the rankasaarth-7835's projects team on Vercel, but is not a member of this team. To resolve this issue, you can:

  • Make your repository public. Collaboration is free for open source and public repositories.
  • Upgrade to pro and add @SaarthurR as a member. A Pro subscription is required to access Vercel's collaborative features.
    • If you're the owner of the team, click here to upgrade and add @SaarthurR as a member.
    • If you're the user who initiated this build request, click here to request access.
    • If you're already a member of the rankasaarth-7835's projects team, make sure that your Vercel account is connected to your GitHub account.

To read more about collaboration on Vercel, click here.

@SaarthurR SaarthurR merged commit 2de39b5 into main Jul 13, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant