Minimal repro: a useTransition stays pending forever when history.pushState lands while a discarded Server Action's refresh is still streaming (Next 16.4.0, React 19.3.0).
Files named app__x.js go in app/x.js. Then npm i && npx next build --webpack && npx next start.
- Press run. Within 2 s, press tab b.
- After the action answers (~2 s) and before the follow-up
GET ?tab=b&_rsc=finishes streaming (~1.5 s later), press tab a. - run stays disabled until a reload.
Measured on next 16.4.0 / react 19.3.0, next build --webpack && next start, Chromium via Playwright: 3/3 stuck with both presses, 0/3 with the first press alone.