vercel
next.js
BlogDocsChangelog

fix: prevent duplicate RSC requests when navigation happens during inflight prefetch

#86700
Comparing
rosbitskyy:fix/prefetch-inflight-duplicate
(
6a88ec2
) with
canary
(
2cd70df
)
CodSpeed Performance Gauge
0%
Untouched
17
Skipped
3

Benchmarks

Skipped (3)

Passed

jsonwebtoken.js[tracing]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
318.9 ms317.6 ms
app-page-turbo.runtime.prod.js[tracing]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
607.7 ms607.1 ms
react-dom-client.development.js[full]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
454.4 ms454.1 ms
app-page-turbo.runtime.prod.js[full]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
708.4 ms708.5 ms
jsonwebtoken.js[full]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
360.8 ms360.9 ms
packages-bundle.js[full]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
1.1 s1.1 s
packages-bundle.js[tracing]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
931.9 ms933.4 ms
build[shiki]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
CodSpeed Performance Gauge
0%
5.4 s5.4 s
react-dom-client.development.js[tracing]
turbopack/crates/turbopack-ecmascript/benches/references.rs::references_benches::benchmark::references
CodSpeed Performance Gauge
0%
397.3 ms399.2 ms
build[lucide-react-all]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
CodSpeed Performance Gauge
0%
8.4 s8.5 s
build[mui]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
CodSpeed Performance Gauge
-1%
3.1 s3.1 s
build[date-fns-all]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
CodSpeed Performance Gauge
-1%
2.2 s2.2 s
build[date-fns-single]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
CodSpeed Performance Gauge
-1%
1.4 s1.4 s
build[joy]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
CodSpeed Performance Gauge
-1%
2.1 s2.1 s
build[framer-motion-all]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
CodSpeed Performance Gauge
-1%
3 s3 s
build[framer-motion-single]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
CodSpeed Performance Gauge
-1%
2.2 s2.2 s
build[lucide-react-single]
turbopack/crates/turbopack-cli/benches/small_apps.rs::benches::bench_small_apps::turbopack/build/apps
CodSpeed Performance Gauge
-1%
943.7 ms955.2 ms

Commits

Click on a commit to change the comparison range
Base
canary
2cd70df
-0.37%
fix: prevent duplicate RSC requests when navigation happens during inflight prefetch When a prefetch is already in progress (Pending status), navigation was immediately making a new RSC request instead of waiting for the prefetch to complete. This caused duplicate requests when users clicked links quickly after prefetch started. This fix adds: - Promise field to PendingRouteCacheEntry to track waiting navigation - waitForRouteCacheEntry function to wait for pending prefetch completion - Navigation logic to wait for inflight prefetch before making new request - Test to verify only one request is made when prefetch is inflight Fixes #86400
6a88ec2
9 days ago
by rosbitskyy
© 2025 CodSpeed Technology
Home Terms Privacy Docs