-
Notifications
You must be signed in to change notification settings - Fork 5.9k
Theme images on the welcome page are broken #4483
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
To test:
The images do exist and you can open them manually so it is unclear why they fail to load. |
I will probably pick this up Monday or Tuesday (might not have time today). |
NotesDo the files exist?When the images fail to load, the first question we ask is, "Do the images exist in the locations we expect them to exist?" In upstream, they live here. Looking at our fork, we see them here. ✅ Files exist (at least in the correct place). Do the files exist in the build output?When we run I found this here: But when we look at the source code using the browser tools, it's clearly missing: This makes me believe that the file exists in the source code but not the build output 🤔 pair-programming@code-asher the iframe which loads these images uses some Microsoft domain which may be related? It could also be the HTTP/HTTPS mismatch. It's weird cause it loads in Chrome, but fails in Brave/Safari as well. HTTP vs. HTTPSWe figured it out! The images are served via http locally, but the iframe expects https so due to the mismatch, the browser says, "Not today" and refuses to serve our images. We figured this out by using The solution? Make the |
(this would break for airgapped users so good thing we are fixing it) Notes on SolutionLooking at iframe src lives in const endpoint = this.options.webviewEndpoint
|| this.productService.webviewContentExternalBaseUrlTemplate
|| 'https://{{uuid}}.vscode-webview.net/{{quality}}/{{commit}}/out/vs/workbench/contrib/webview/browser/pre/'; We think it might expect a unique service worker for each path. Asher thinks we should create a new endpoint, webview with a uuid and serve the file. Asher found a fix for this - using a unique service worker for each web view. |
Fixed via coder/vscode#16 |
Introduced in #4414
@code-asher may have more details.
The text was updated successfully, but these errors were encountered: