Commit Graph

1 Commits

Author SHA1 Message Date
James Anderson 80acc0bbf0 fix(app-router): clear useLinkStatus pending after interrupted navigation (#1527) (#1839)
* fix(app-router): clear useLinkStatus pending after interrupting navigation (#1527)

* fix(app-router): suppress notify on Safari history replace fallback

The Safari coalescing fallback in syncCurrentHistoryStatePreviousNextUrl
called the patched window.history.replaceState, which fires
notifyLinkNavigationStart + commitClientNavigationState. On a URL-unchanged
metadata sync (refresh/traversal commit) that could clear an unrelated
<Link>'s useLinkStatus() pending state a few ms early on Safari. Route the
retry through replaceHistoryStateWithoutNotify so the browser sees the same
native replaceState without the patched-path side effects (#1527).
2026-06-08 19:20:42 +01:00