Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
a83634d
Fix app router navigation replay and refresh caching
NathanDrake2406 Mar 22, 2026
5729d0f
fix: address review issues in navigation cache/replay
NathanDrake2406 Mar 22, 2026
3303a3f
test: add navigation regression e2e tests and fixtures
NathanDrake2406 Mar 22, 2026
4f313fc
fix: update form tests for navigateClientSide calling convention
NathanDrake2406 Mar 22, 2026
85df5b7
fix: revert behavioral changes to match Codex's original intent
NathanDrake2406 Mar 22, 2026
c864945
fix: buffer RSC responses, fix shallow routing, server action redirec…
NathanDrake2406 Mar 22, 2026
4b57ce2
refactor: remove animation suppression — it needs an architectural fix
NathanDrake2406 Mar 22, 2026
046087c
refactor: replace useEffect with useLayoutEffect in NavigationCommitS…
NathanDrake2406 Mar 22, 2026
072087e
fix: skip startTransition for cross-route navigations (Firefox hang)
NathanDrake2406 Mar 22, 2026
3afabab
fix: address code review findings from elegance pass
NathanDrake2406 Mar 22, 2026
825d9c8
chore: retrigger CI
NathanDrake2406 Mar 23, 2026
43fd25a
fix: address code review findings from elegance pass
NathanDrake2406 Mar 23, 2026
aaadf1c
fix: address remaining code review findings
NathanDrake2406 Mar 23, 2026
0a83ad4
fix: prevent snapshot counter leak and phantom history entries on rap…
NathanDrake2406 Mar 24, 2026
efe7f40
chore: fix formatting after rebase
NathanDrake2406 Mar 24, 2026
e682454
fix: align visited response cache with Next.js and clean up types
NathanDrake2406 Mar 25, 2026
e9842ff
fix: address code review findings
NathanDrake2406 Mar 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 12 additions & 4 deletions packages/vinext/src/global.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

import type { Root } from "react-dom/client";
import type { OnRequestErrorHandler } from "./server/instrumentation";
import type { CachedRscResponse, PrefetchCacheEntry } from "./shims/navigation";

// ---------------------------------------------------------------------------
// Window globals — browser-side state shared across module boundaries
Expand Down Expand Up @@ -75,8 +76,17 @@ declare global {
*
* @param href - The destination URL (may be absolute or relative).
* @param redirectDepth - Internal parameter used to detect redirect loops.
* @param navigationKind - Internal hint for traversal vs regular navigation.
* @param historyUpdateMode - Internal hint for when history should publish.
*/
__VINEXT_RSC_NAVIGATE__: ((href: string, redirectDepth?: number) => Promise<void>) | undefined;
__VINEXT_RSC_NAVIGATE__:
| ((
href: string,
redirectDepth?: number,
navigationKind?: "navigate" | "traverse" | "refresh",
historyUpdateMode?: "push" | "replace",
) => Promise<void>)
| undefined;

/**
* A Promise that resolves when the current in-flight popstate RSC navigation
Expand All @@ -93,9 +103,7 @@ declare global {
* Lazily initialised on `window` by `shims/navigation.ts` so the same Map
* instance is shared between the navigation shim and the Link component.
*/
__VINEXT_RSC_PREFETCH_CACHE__:
| Map<string, { response: Response; timestamp: number }>
| undefined;
__VINEXT_RSC_PREFETCH_CACHE__: Map<string, PrefetchCacheEntry> | undefined;

/**
* Set of RSC URLs that have already been prefetched (or are in-flight).
Expand Down
Loading
Loading