We believe these changes fix the failing e2e tests: requests with malformed percent-encoding in the pathname (e.g. %E0%A4, %80, %FF) now return 400 Bad Request again instead of falling through to a 404. The reconciliation refactor removed h3's H3Event, whose construction used to throw on these undecodable sequences; the replacement new URL(request.url) call doesn't perform that validation, so the request silently proceeded until route-param decoding swallowed the same error as a non-match. We restored the check at the same request-entry point by attempting to decodeURIComponent the pathname and returning 400 on URIError, scoped to the pathname only so malformed search-param encoding (which has its own expected "not found"/render behavior) is unaffected.
This code change can't be applied
A fix is available, but it can't be applied automatically because the branch is outdated. Please sync the branch, then apply the fix locally below.
Self-Healing CI
Classification: Code change needed
Fix generated
Verified 1 task
Commit"fix(start): return 400 for undecodable pathname encoding"
2 files changed
+23