fix(release): cap proxied plain-http responses, count Firecrawl depth from the start URL, and drop stale route cache on upgrade

Merged
WA
1d ago
+156-23

Summary

  • Cap guarded responses at maxResponseSize for every dispatcher, not only decoded bodies. undici's ProxyAgent forwards plain-http requests through a client that drops the option, so with HTTP_PROXY set an http:// destination could stream an unbounded body (MCP OAuth fetches, configured endpoints).
  • Count Firecrawl's legacy maxDepth from the starting URL, as v1 did (index files add no depth). Counting from the domain root made the start URL fail its own path filter, so a crawl starting on a deep page returned 0 pages.
  • Clear Next's route cache at container start when an earlier build wrote it. Its keys carry no build id and the image declares it a volume, so a Compose upgrade kept serving ISR pages that point at the old build's chunks.
  • CONTRIBUTING points at npx sim-setup instead of the retired simstudio CLI.

Type of Change

  • Bug fix

Testing

  • New tests fail before each fix: forwarded plain-http response over the cap (environment proxy fixture), deep start URLs with and without path filters, route-cache clearing across builds. Mutation of the build-id check goes red.
  • Bundled bootstrap.ts with the Dockerfile's bun build command and ran it against a fake standalone dir: old page cleared, build marker written, server started.
  • Targeted vitest: firecrawl, route-cache, core/network, input-validation, mistral (206 tests); biome; check:comment-hygiene, check:file-names, check:boundaries, check:utils; regenerated tool metadata and integration docs.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing (new tests pass the test-audit authoring gate)
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)