Skip to content

Fixes: server-only forms, doubled-slash CSS URLs, CDATA sitemaps - #15

Merged
ethanplusai merged 4 commits into
mainfrom
fix/inert-server-forms
Oct 31, 2026
Merged

ethanplusai merged 4 commits into
mainfrom
fix/inert-server-forms

Conversation

@ethanplusai

Copy link
Copy Markdown
Owner

Three general fixes. None adds per-site configuration.

Forms a static site cannot serve. Login, account, cart and checkout forms need a server, and the forms gate's only option was to rewire them to the form endpoint, which would send passwords or payment details to a form service. references/forms.md now states the principle (never rewire one) and leaves the handling to the agent: switch it off, link out, or embed. A form kept but switched off is listed in an optional inert-forms.json as { path, form, reason }. The gate checks that it keeps live's fields and method and that its action sends nowhere (none, # or javascript:), then counts it as skipped. There is no new flag.

Doubled-slash same-origin CSS URLs. A live stylesheet URL such as https://example.com//wp-content/font.ttf was pruned to //wp-content/..., which the browser reads as a link to another host, so fonts and images went missing. css-prune.mjs now collapses the leading slashes.

CDATA sitemap locations. The sitemaps gate read <loc><![CDATA[...]]></loc> as part of the URL, so every entry in such a sitemap failed. It now strips the wrapper.

Verification

npm test passes, including the new test/gates/forms-inert.test.mjs. CI runs on Node 22 and 24.

🤖 Generated with Claude Code

@ethanplusai
ethanplusai merged commit c5a66cb into main Oct 31, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant