cloudflare/vinext

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

Fechada

#1.476 aberto em 22 de mai. de 2026

 (0 comentário) (0 reação) (0 responsável)TypeScript (371 forks)github user discovery
adapter-api-e2ehelp wanted

Métricas do repositório

Stars
 (8.563 estrelas)
Métricas de merge de PR
 (Mesclagem média 1d 1h) (462 fundiu PRs em 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

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:.

Guia do colaborador