fix(ui): stale chunk 404 after redeployment — missing Cache-Control on index.html
Nobody has claimed this yet.
Assessment
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 86/100
Research direction
Start with nginx.conf and inspect how the SPA entry point is served alongside hashed assets. Add the specified no-cache headers for index.html, then verify the response headers after deployment and confirm that a redeployed UI no longer serves a cached entry point referencing missing chunks.
Written by the indexing model from the issue text.
Description
Problem
After redeploying the goclaw-ui container, users with a cached index.html get:
[ErrorBoundary] TypeError: Failed to fetch dynamically imported module:
https://hq.humanscale.app/assets/login-page-DrRJxksg.js
Root cause: Nginx serves index.html without Cache-Control headers, so browsers may cache it. After a rebuild, Vite generates new chunk hashes — the old index.html references chunks that no longer exist on the server.
Current Mitigations
lazyWithRetry()inlib/lazy-with-retry.tsretries once then force-reloads with a sessionStorage guard- Hashed assets in
/assets/are correctly served withCache-Control: public, immutable
Missing Fix
nginx.conf needs explicit no-cache headers for index.html to prevent browsers from caching the SPA entry point:
location = /index.html {
add_header Cache-Control "no-cache, no-store, must-revalidate";
add_header Pragma "no-cache";
add_header Expires "0";
}
Impact
- Users see a broken page after deploy until they hard-refresh
lazyWithRetryauto-reload helps but only fires once per session
- Dominant language
- Go
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 24
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from nextlevelbuilder/goclaw
-
agent:github-maintain area:channels bug maintain:triaged P3-low ux
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
nextlevelbuilder/goclaw#1144 · 1 comment ·
-
Bug: MCP arg validation false positive — substring match on '-c' blocks legitimate package names Openagent:github-maintain area:mcp area:security bug fix-in-review good first issue maintain:triaged P2-medium
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
nextlevelbuilder/goclaw#1027 · 1 comment ·
-
agent:github-maintain area:sandbox area:security maintain:triaged question
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
nextlevelbuilder/goclaw#994 · 2 comments ·
-
agent:github-maintain enhancement maintain:triaged
Difficulty 1/5 Under an hour Newbie friendliness 75/100
nextlevelbuilder/goclaw#439 · 1 comment ·
-
agent:github-maintain area:agent-loop area:security bug maintain:bug-confirmed maintain:triaged P2-medium
Difficulty 4/5 3-5 days Newbie friendliness 45/100
nextlevelbuilder/goclaw#1571 · 1 comment ·
All issues in nextlevelbuilder/goclaw
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
enhancement needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100