WP-RIDE-MATCH-UX-01 — Matching timeout + rematch
Domain: D-RIDES · Surfaces: CON · API · Status: IMP · Date: 2026-08-14
Goal
Sau audit WP-RIDE-API-AUDIT-01: không để user kẹt spinner khi không có tài xế — timeout UX + thử ghép lại + hủy rõ.
AC
| AC | Result |
|---|---|
| Soft 45s → banner «không có tài xế gần bạn» | PASS |
| Hard 120s → phase timeout · Thử tìm lại / Tiếp tục chờ / Hủy | PASS |
POST /rides/:id/rematch · REQUESTED · no driver |
PASS smoke rematched=false reason=no_driver_nearby |
WS ride:status trên Matching → nhảy Detail khi match |
PASS code |
Hủy vẫn POST /rides/:id/cancel |
PASS |
Files
api/src/modules/rides/rides.controller.ts·rides.service.ts(rematch)mobile/src/services/api.ts(RidesApi.rematch)mobile/src/features/rides/screens/RideMatchingScreen.tsx
Local
- Health OK
- Smoke rematch + cancel: PASS
Next soft
- Seed driver online demo ·
WP-FE-RIDE-PAY-GATEWAY-02(MoMo/VNPay UI)