react/scripts/flow
Sebastian Markbåge 59440424d0
Implement Navigation API backed default indicator for DOM renderer (#33162)
Stacked on #33160.

By default, if `onDefaultTransitionIndicator` is not overridden, this
will trigger a fake Navigation event using the Navigation API. This is
intercepted to create an on-going navigation until we complete the
Transition. Basically each default Transition is simulated as a
Navigation.

This triggers the native browser loading state (in Chrome at least). So
now by default the browser spinner spins during a Transition if no other
loading state is provided. Firefox and Safari hasn't shipped Navigation
API yet and even in the flag Safari has, it doesn't actually trigger the
native loading state.

To ensures that you can still use other Navigations concurrently, we
don't start our fake Navigation if there's one on-going already.
Similarly if our fake Navigation gets interrupted by another. We wait
for on-going ones to finish and then start a new fake one if we're
supposed to be still pending.

There might be other routers on the page that might listen to intercept
Navigation Events. Typically you'd expect them not to trigger a refetch
when navigating to the same state. However, if they want to detect this
we provide the `"react-transition"` string in the `info` field for this
purpose.
2025-05-13 16:00:38 -04:00
..
config [flow] Upgrade Flow to 0.245.2 (#30919) 2024-09-09 08:41:44 -07:00
createFlowConfigs.js [flow] Remove CI_MAX_WORKERS option 2024-08-20 12:38:27 -04:00
environment.js Implement Navigation API backed default indicator for DOM renderer (#33162) 2025-05-13 16:00:38 -04:00
react-devtools.js chore[DevTools]: make clipboardWrite optional for chromium (#32262) 2025-01-30 20:08:17 +00:00
react-native-host-hooks.js Root import types from react-native in ReactNativeTypes (#33063) 2025-05-08 12:12:35 +01:00
runFlow.js Upgrade prettier (#26081) 2023-01-31 08:25:05 -05:00
xplat.js Update RN dynamic flag types (#28427) 2024-03-22 12:23:38 -04:00