You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#507 (anonymous SSR edge caching gateway) and #541 (selective Workers Caching for catalog APIs) are currently blocked on the same prerequisite: the app runs on the default @sveltejs/adapter-cloudflare entrypoint (wrangler.jsoncmain: .svelte-kit/cloudflare/_worker.js), so there is no place to implement gateway routing or caches.default usage.
Scope of the prerequisite
Custom worker entry (wrangler.jsoncmain → checked-in file re-exporting the adapter server) with named entrypoints.
Routing shim: anonymous/no-auth-signal requests (hasRequestAuthSignal already exists in src/lib/auth/request-auth-signal.ts) and explicit-locale catalog GET/HEAD (resolvePublicCatalogLocale, src/lib/api/routes/request-locale.ts:30-53) go to the cached path; everything else passes through.
CSP strategy for cached anonymous HTML: the per-request nonce (src/lib/security/csp.ts:26-30, injected in hooks.server.ts:164,187-193) and x-request-id currently make raw HTML uncacheable — cached documents need a nonce-free (or hash-based) CSP variant on the anonymous path only.
Problem
#507 (anonymous SSR edge caching gateway) and #541 (selective Workers Caching for catalog APIs) are currently blocked on the same prerequisite: the app runs on the default
@sveltejs/adapter-cloudflareentrypoint (wrangler.jsoncmain: .svelte-kit/cloudflare/_worker.js), so there is no place to implement gateway routing orcaches.defaultusage.Scope of the prerequisite
wrangler.jsoncmain→ checked-in file re-exporting the adapter server) with named entrypoints.compatibility_datebump to >= 2026-07-19 plusglobal_fetch_strictly_publicandcache.enabled(required by the perf(api): isolate catalog APIs behind selective Workers Caching #541 probe).hasRequestAuthSignalalready exists insrc/lib/auth/request-auth-signal.ts) and explicit-locale catalog GET/HEAD (resolvePublicCatalogLocale,src/lib/api/routes/request-locale.ts:30-53) go to the cached path; everything else passes through.src/lib/security/csp.ts:26-30, injected inhooks.server.ts:164,187-193) andx-request-idcurrently make raw HTML uncacheable — cached documents need a nonce-free (or hash-based) CSP variant on the anonymous path only.negotiateLocale), never raw Cookie/Accept-Language (i18n/seo: keep locale out of paths while defining cache and indexing behavior #551 constraint); HTML currently emits noVary.src/lib/public-runtime-cache.ts) + Workers Cache + outer zone CDN (Cloudflare-CDN-Cache-Controlfrom perf(api): split browser and Cloudflare catalog cache policy #539) must not stack contradictory TTLs.Refs #507
Refs #541
Refs #551