Skip to content

docs(edge): header rules now apply to hashed assets - #219

Merged
Brooooooklyn merged 1 commit into
mainfrom
docs/hashed-asset-header-rules
Jun 16, 2026
Merged

Brooooooklyn merged 1 commit into
mainfrom
docs/hashed-asset-header-rules

Conversation

@Brooooooklyn

@Brooooooklyn Brooooooklyn commented Jun 16, 2026 •

Copy link
Copy Markdown
Member

Companion to voidzero-dev/void-platform#182, which makes the dispatch worker apply routing.headerRules to hashed-asset GET responses.

The edge/headers.md Scope section currently lists "Hashed asset cache hits" under rules that do not apply — that's no longer true once #182 ships. This corrects it:

  • Rules now reach hashed assets, and that is what enables Cross-Origin-Embedder-Policy / Cross-Origin-Resource-Policy on hashed worker + wasm assets for cross-origin isolation (SharedArrayBuffer / wasm threads).
  • Documents the additive contract: you can add headers, but the platform-managed caching/representation/framing headers (Cache-Control, Content-Type, Content-Encoding, Content-Length, Content-Range, Accept-Ranges, Transfer-Encoding) are preserved, so an immutable asset can't be mis-cached or corrupted.
  • New Blocked headers note for Set-Cookie and Clear-Site-Data (the cross-tenant cookie boundary on the shared *.void.app domain — chore(deps): update dependency oxc-minify to ^0.129.0 #182 adds the Clear-Site-Data block).
  • Notes that hashed-asset rules apply per-serve, so a rule change takes effect even when the content hash is unchanged.

Note

Describes behavior introduced by voidzero-dev/void-platform#182 — ideally lands alongside that deploy.

🤖 Generated with Claude Code


Note

Low Risk
Documentation-only change with no runtime or config behavior in this repo.

Overview
Updates docs/guide/edge/headers.md so Scope matches dispatch behavior from voidzero-dev/void-platform#182: header rules do apply to hashed asset GET responses (removed the old “hashed asset cache hits” exclusion).

Documents why that matters for cross-origin isolation (COEP/CORP on hashed worker/wasm), the additive contract on immutable assets (platform-managed Cache-Control, Content-Type, encoding/length/range/transfer headers cannot be overridden), and a new Blocked headers section for Set-Cookie and Clear-Site-Data on shared *.void.app.

Clarifies that hashed-asset rules run on every serve (including cache hits), so header changes take effect without a content-hash change.

Reviewed by Cursor Bugbot for commit 31d375c. Bugbot is set up for automated code reviews on this repo. Configure here.

The dispatch worker now applies routing.headerRules to hashed-asset GET
responses (voidzero-dev/void-platform#182), so the Scope section's claim
that rules "do not apply to hashed asset cache hits" is no longer true.

- Document that rules reach hashed assets, and that this is what enables
  COOP/COEP/CORP on hashed worker/wasm assets for cross-origin isolation.
- Explain the additive contract: tenants may add headers, but the
  platform-managed caching/representation/framing headers (Cache-Control,
  Content-Type, Content-Encoding, Content-Length, Content-Range,
  Accept-Ranges, Transfer-Encoding) are preserved so an immutable asset
  can't be mis-cached or corrupted.
- Add a "Blocked headers" note for Set-Cookie and Clear-Site-Data (the
  cross-tenant cookie boundary on the shared *.void.app domain).
- Note that hashed-asset rules are applied per-serve, so a rule change
  takes effect even when the content hash is unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@netlify

netlify Bot commented Jun 16, 2026 •

Copy link
Copy Markdown

❌ Deploy Preview for staging-void-cloud failed.

Name Link
🔨 Latest commit 31d375c
🔍 Latest deploy log https://app.netlify.com/projects/staging-void-cloud/deploys/6a31516c4ae851000884b534

@Brooooooklyn
Brooooooklyn merged commit 047f48a into main Jun 16, 2026
7 of 11 checks passed
@Brooooooklyn
Brooooooklyn deleted the docs/hashed-asset-header-rules branch June 16, 2026 14:33
cpojer pushed a commit that referenced this pull request Sep 11, 2026
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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