cloudflare/vinext

Pages Router: CSS files with URL-encoded characters in path not served / not applied

Closed

#1,472 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 page importing CSS via a path that contains special characters (URL-encoded) should produce a blue background. The test observes the default transparent background, meaning the CSS resource at the URL-encoded path is either not served or the asset URL is encoded incorrectly so the browser never loads the file.

Expected background `rgb(0, 0, 255)`, received transparent

Estimated Impact

~1 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/app-dir/resource-url-encoding/resource-url-encoding.test.ts

Recommendation

  1. Reproduce first in vinext's own test suite. Add a Pages Router fixture that imports ./styles/with space.css and assert the rendered page has the expected colour.

  2. Round-trip the encoding. Make sure the emitted <link rel="stylesheet" href=...> URL is URL-encoded and that the static-asset server decodes paths before lookup, so the encoded URL resolves to the file on disk.

Contributor guide