[Bug]: Workbench occasionally fails to load
Is there an existing issue for this?
- [X] I have searched the existing issues
OS/Web Information
N/A
Steps to Reproduce
- Cause the
workbench.web.main.jsbundle to take a long time to load (could try the browser's dev tools or a reverse proxy or something). - You will know you hit the bug when you see errors like
Loading "vs/base/common/uri" failedor requests to things like/static/out/vs/base/common/path.jsbecause those are individual files bundled intoworkbench.web.main.jsand are not packaged individually in production.
Expected
Should eventually load.
Actual
It seem to time out and then start trying to load dev sources instead which of course do not exist so all you get are 404s.
https://github.com/coder/code-server/issues/2286 https://github.com/coder/code-server/issues/3328
Workarounds
- Clear cache but this may not work if the network is consistently slow.
- Cache
workbench.web.main.jsahead of time in the browser by going to it directly (this may time out as well depending on where the timeout is happening).
Proposed fixes
- Try figuring out the source of the timeout. Is it the browser itself? The Code loader?
- Remove the timeout if it is something we control. The perfect solution would add a loading message as well.
- If it is not something we can prevent can we at least detect the failure and then show a message saying loading the workbench timed out (and the cause if that information is available) and to try again rather than fall back to dev sources?
Logs
See linked issues.
Screenshot/Video
See linked issues.
Does this issue happen in VS Code or GitHub Codespaces?
It probably reproduces in Codespaces, still need to give it a shot though.
- [x] I cannot reproduce this in VS Code.
- [ ] I cannot reproduce this in GitHub Codespaces.
Are you accessing code-server over HTTPS?
- [X] I am using HTTPS.
Notes
This probably is an upstream issue but it happens often enough that we might want to proactively look into it. I briefly searched for an issue upstream but did not find one; if we can reproduce with Codespaces we might want to open an issue there as well.
This can be reproduced with my environment
npm i code-server -g
~/node_modules/code-server/out/node/entry.js
Producing following errors when using Safari 14 (macOS 11 / iOS 14)
[18:08:08] Extension host agent started.
[18:08:08] Started initializing default profile extensions in extensions installation folder. file:///Users/torrekie/.local/share/code-server/extensions
[18:08:09] Completed initializing default profile extensions in extensions installation folder. file:///Users/torrekie/.local/share/code-server/extensions
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/browser/browser.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/browser/window.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/common/buffer.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/common/event.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/common/lifecycle.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/common/marshalling.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/common/path.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/common/network.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/common/resources.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/common/uri.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/base/common/strings.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/platform/product/common/product.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/platform/window/common/window.js
File not found: /Users/torrekie/node_modules/code-server/lib/vscode/out/vs/platform/tunnel/common/tunnel.js
Access with chrome is not happening with such error
Duplicate of https://github.com/coder/code-server/issues/2407