Spun out of PR #76 review. UX scope decision that didn't fit that PR's "complete the empty-state dead-end" goal.
Context
PR #76 added a StaleKeyRefreshBanner inside the else if onlineOptions.isEmpty branch of RideRequestView. The banner fan-outs a key-refresh request to every stale-key driver and shows a toast when at least one was sent.
What's wrong
The banner is invisible when any driver is online with a current key, even if 3 of the rider's 5 followed drivers have stale keys waiting. The rider sees a populated "Available Drivers" list and has no signal that the others can't be requested until they tap a stale-keyed row in DriversTab and discover the red "Outdated" status.
Proposed work
Render the banner above the Available Drivers list whenever staleKeyDriverCount > 0, regardless of onlineOptions.isEmpty. Adjust copy to match ("3 drivers are unavailable until their keys are refreshed"). The fan-out action stays the same.
Considered: a smaller per-row stale-key indicator inside the DriverDetailSheet's Request Ride flow, but that requires touching a different view tree and the empty-state-banner consolidation is the lower-cost change.
Spun out of PR #76 review. UX scope decision that didn't fit that PR's "complete the empty-state dead-end" goal.
Context
PR #76 added a StaleKeyRefreshBanner inside the
else if onlineOptions.isEmptybranch of RideRequestView. The banner fan-outs a key-refresh request to every stale-key driver and shows a toast when at least one was sent.What's wrong
The banner is invisible when any driver is online with a current key, even if 3 of the rider's 5 followed drivers have stale keys waiting. The rider sees a populated "Available Drivers" list and has no signal that the others can't be requested until they tap a stale-keyed row in DriversTab and discover the red "Outdated" status.
Proposed work
Render the banner above the
Available Driverslist wheneverstaleKeyDriverCount > 0, regardless ofonlineOptions.isEmpty. Adjust copy to match ("3 drivers are unavailable until their keys are refreshed"). The fan-out action stays the same.Considered: a smaller per-row stale-key indicator inside the DriverDetailSheet's
Request Rideflow, but that requires touching a different view tree and the empty-state-banner consolidation is the lower-cost change.