Skip to main content
GoodFirstPicks
DashboardIssuesReposLeaderboard

GoodFirstPicks by Leaveitblank © 2026

CreatorRequest a RepoPrivacy PolicyTerms of Service
Bug: View Transitions occasionally stall with default `onDefaultTransitionIndicator` | GoodFirstPicks

Bug: View Transitions occasionally stall with default `onDefaultTransitionIndicator`

facebook/react 4 comments 1mo ago
View on GitHub
mediumopenScope: somewhat clearSkill match: maybeReactJavaScriptTypeScript

Why this is a good first issue

Intermittent browser-specific bug in experimental feature with partial maintainer acknowledgement.

AI Summary

The issue describes intermittent stalling in view transitions with the default `onDefaultTransitionIndicator` handler in Chrome and Safari. The problem appears related to React's experimental navigation API integration and has been acknowledged by a maintainer. While there's some debugging context, the fix likely requires deep understanding of React's experimental features and browser timing behaviors.

Issue Description

The default onDefaultTransitionIndicator seems to sporadically stall view transitions. This does not occur with a custom onDefaultTransitionIndicator handler.

This occurs in Chrome, and Safari with the "Navigation API" feature flag enabled. This doesn't occur in Firefox because it doesn't support the Navigation API yet.

ChromeSafari

The error message in development is a bit more descriptive:

Uncaught Error: A ViewTransition timed out because a Navigation stalled. This can happen if a Navigation is blocked on React itself. Such as if it's resolved inside useEffect. This can be solved by moving the resolution to useLayoutEffect.
    at customizeViewTransitionError (react-dom-client.development.js:25585:20)
    at react-dom-client.development.js:25783:24Caused by: TimeoutError: Transition was aborted because of timeout in DOM update

While the code example implements a custom router which also intercepts navigation events, it resolves them correctly inside useLayoutEffect(). Moreover, adding a custom onDefaultTransitionIndicator prevents the error, which suggests that the router code is correct, and that this is an issue within React with the default onDefaultTransitionIndicator.

Possibly related: #34662, #34676

React version: "experimental" (>19.3.0-experimental-9724e3e6-20251008)

  • Specifically environments where enableDefaultTransitionIndicator is enabled.

Steps To Reproduce

  1. Visit https://async-react.dev/
  2. Make sure the request debugger sliders are set to 0s.
  3. Run the fo

GitHub Labels

Component: DOM

Want to work on this?

Claim this issue to let others know you're working on it. You'll earn 10 points when you complete it!

Risk Flags

  • experimental feature
  • browser-specific behavior
  • maintainer acknowledges issue
Loading labels...

Details

Points10 pts
Difficultymedium
Scopesomewhat clear
Skill Matchmaybe
Test Focusedno