cloudflare/vinext

Pages Router: literal `<form action='action:...'>` string is stripped instead of rendered as-is

Geschlossen

#1.476 geöffnet am 22.05.2026

 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)TypeScript (371 Forks)github user discovery
adapter-api-e2ehelp wanted

Repository-Metriken

Stars
 (8.563 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 1T 1h) (462 gemergte PRs in 30 T)

Beschreibung

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

Pages Router pages with a literal action='action:foo' (a fake/string-typed action attribute, not a real server action reference) should keep the string in the form's action attribute. vinext strips it, leaving an empty string.

Expected `action="action:foo"`, received `action=""`

Estimated Impact

~1 test failures across the deploy suite.

Affected Test Suites

  • test/e2e/app-dir/action-in-pages-router/action-in-pages-router.test.ts

Recommendation

  1. Reproduce first in vinext's own test suite. Render a Pages Router page with <form action="action:foo"> and assert the action attribute survives serialisation.

  2. Stop treating arbitrary action: strings as server action references. Server-action detection in the Pages Router pipeline should only match real action references, not arbitrary strings starting with action:.

Contributor Guide