cloudflare/vinext

App Router: misc navigation regressions (unicode params, useParams identity, push pending)

Closed

#1,555 opened on May 22, 2026

 (0 comments) (0 reactions) (0 assignees)TypeScript (371 forks)github user discovery
adapter-api-e2ehelp wanted

Repository metrics

Stars
 (8,563 stars)
PR merge metrics
 (Avg merge 1d 1h) (462 merged PRs in 30d)

Description

This issue was created by an agent analysing CI failures from the Next.js Deploy Suite (vinext main vs Next.js v16.2.6, 2026-05-22).

Problem

A handful of app-router navigation regressions: (1) unicode search params not surfaced in the RSC ok-response stream; (2) useParams returns 0 items (no identity stability) when rendered under pages; (3) external router.push() reports lastIsPending: false instead of true. These do not cleanly fit any single existing issue.

unicode search params: expected pathname "/" with content-type text/x-component
useParams identity: Expected length 2, Received length 0

Estimated Impact

~4 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/app-dir/navigation/navigation.test.ts (3 failures)
  • test/e2e/app-dir/search-params-react-key/layout-params.test.ts

Recommendation

  1. Reproduce first in vinext's own test suite. Cover each regression independently: unicode search params in RSC stream, useParams identity stability, external router.push pending status.

  2. Address each root cause. Unicode: ensure search params are decoded/encoded consistently on the SSR path. useParams: stabilise the identity across renders. External push: thread the pending status back to the consumer.


Part of #1328.

Contributor guide