menu
announcement

Spectrum is now read-only. Learn more about the decision in our official announcement.

Theia

Eclipse Theia - Cloud & Desktop IDE

Channels
Team

Using vscode:extension/MS-SarifVSCode.sarif-viewer in local docker fails

January 15, 2020 at 1:31pm

Using vscode:extension/MS-SarifVSCode.sarif-viewer in local docker fails

January 15, 2020 at 1:31pm
Hi I want to test vscode:extension/MS-SarifVSCode.sarif-viewer in a local docker instance of Theia. It's working on gitpod and VSCode but for Theia it says "server adress could not be found" for a webview. Might this be related to me not accessing theia over https?
Show previous messages

January 16, 2020 at 10:57am
The webview basically says "the sever ip of localhost could not be found"
And when I try to host Theia on localhost, I don't get a response...
I would very much appreciate your input here.
Also, I'm not much into web technology in general. Could you elaborate on the implications when hosting Theia on a server? How do I need to configure the extensions to work in that context? Do I need to set the THEIA_WEBVIEW_EXTERNAL_ENDPOINT variable in that case as well or would it be enough to put Theia behind a revers proxy with enforced https to get it working together with the extension?
For the sake of completeness, here is my package.json:
{ "private": true, "theia": { "frontend": { "config": { "applicationName": "Test", "preferences": { "files.enableTrash": false } } } }, "dependencies": { "/editor-preview": "next", "/file-search": "next", "/getting-started": "next", "/git": "next", "/java": "next", "/json": "next", "/markers": "next", "/messages": "next", "/navigator": "next", "/outline-view": "next", "/preferences": "next", "/search-in-workspace": "next", "/terminal": "next", "/textmate-grammars": "next", "/tslint": "next", "/typescript": "next", "typescript": "next", "/plugin-ext": "next", "/plugin": "next", "/plugin-ext-vscode": "next" }, "resolutions": { "vscode-languageserver-protocol": "3.15.0-next.9", "vscode-languageserver-types": "3.15.0-next.9", "/vscode-json-languageserver//vscode-languageserver": "6.0.0-next.1" }, "devDependencies": { "/cli": "next" } }
What if you try with THEIA_WEBVIEW_EXTERNAL_ENDPOINT=localhost?
{{localhost}} won't do anything {{..}} is a placeholder
It depends on what your proxy does, if it somehow rewrites the host then you will need to modify THEIA_WEBVIEW_EXTERNAL_ENDPOINT to reflect it, if not then you don't need to change it
Edited
Also replacing with THEIA_WEBVIEW_EXTERNAL_ENDPOINT=localhost is not necessary, if you can access the page from localhost. Theia will be able to figure it from the default pattern, i.e. the default pattern is {{uuid}}.webview.{{hostname}}, since Theia is served from localhost, at runtime it will be computed to someid.webview.localhost.
like-fill
1
replacing THEIA_WEBVIEW_EXTERNAL_ENDPOINT with localhost can also cause security issues
And this is what my browser is telling me about the response:

January 17, 2020 at 2:00am
request URL looks bogus, hostname is %7b%7Blocalhost%7B%7B, please remove {{ and }}, they are for placeholders
request URL looks bogus, hostname is %7b%7Blocalhost%7B%7B, please remove {{ and }}, they are for placeholders

January 17, 2020 at 9:03am
I see! So I changed the endpoint to THEIA_WEBVIEW_EXTERNAL_ENDPOINT=localhost and I get "Not Found The requested URL was not found on this server." in the extension view. I started Theia with "--hostname=0.0.0.0". I guess the url cannot be found since now the webview and Theia are running on different hosts? (localhost vs 0.0.0.0)
So I guess to get this working, I need to get Theia running on localhost, right? Any ideas why localhost:3000 is not working at all?
And thanks a lot for your help!
Failed to enable webview caching: ReferenceError: caches is not defined
it would mean that you don't run in secure context, i.e. not on localhost or https
Show more messages