docs(devops): add Nginx caching investigation task for app version pickup issue
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -494,6 +494,23 @@ Firefox unaffected. Production unaffected (public IPs only).
|
|||||||
ago and regressed. Check Nginx site config and FastAPI `CORSMiddleware` settings.
|
ago and regressed. Check Nginx site config and FastAPI `CORSMiddleware` settings.
|
||||||
Low urgency (dev-only, Firefox workaround available), but blocks home-network iframe testing.
|
Low urgency (dev-only, Firefox workaround available), but blocks home-network iframe testing.
|
||||||
|
|
||||||
|
### [DevOps] Nginx caching — app version pickup issue
|
||||||
|
- [ ] **Investigate Nginx reverse proxy caching so users pick up new app deploys.**
|
||||||
|
Some users are not getting the updated app after a deploy. SvelteKit hashes JS/CSS bundle
|
||||||
|
filenames (cache-busting is automatic), but if Nginx or the browser caches `index.html`
|
||||||
|
itself, users get stale HTML pointing to old (possibly deleted) hashed assets.
|
||||||
|
|
||||||
|
**Check:**
|
||||||
|
- `proxy_cache` / `expires` directives in Nginx config for the SvelteKit app location
|
||||||
|
- Actual `Cache-Control` header on `/` — `curl -I https://<host>/` to verify
|
||||||
|
- Any service worker registration that might add another caching layer
|
||||||
|
|
||||||
|
**Expected fix:** Serve `index.html` with `Cache-Control: no-cache` (or `no-store`).
|
||||||
|
Hashed static assets (`/_app/immutable/`) can stay aggressively cached (`max-age=31536000,
|
||||||
|
immutable`). Root page must always be fresh so users pick up the new bundle references.
|
||||||
|
|
||||||
|
**Task ID:** #182928308 (shared Kanban)
|
||||||
|
|
||||||
### [DevOps] Remaining deployment items
|
### [DevOps] Remaining deployment items
|
||||||
|
|
||||||
- [ ] **Simplify Dockerfile env file selection** — Currently the Dockerfile uses a `BUILD_MODE` arg to
|
- [ ] **Simplify Dockerfile env file selection** — Currently the Dockerfile uses a `BUILD_MODE` arg to
|
||||||
|
|||||||
Reference in New Issue
Block a user