cloudflare/vinext

`useLinkStatus`: pending state sticky after navigation / shallow routing completes

Closed

#1,527 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

useLinkStatus() is expected to return { pending: false } once a navigation has settled (including shallow routes). vinext reports pending: 1 after navigation, and the dev-overlay debug element never appears.

Expected pending: 0, received pending: 1 after navigation settles

Estimated Impact

~3 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/use-link-status/index.test.ts (3 failures)

Recommendation

  1. Reproduce first in vinext's own test suite. Render a component subscribing to useLinkStatus() and click a <Link>; assert pending flips false after navigation.

  2. Clear pending on navigation lifecycle end. Wire the link-status subscription to the navigation commit lifecycle. Include shallow routing in the clear path.


Part of #1328.

Contributor guide