theia: Newest versions of vscode-uri (>=1.0.7) break browser frontend

Description

Theia browser frontend refuses to start after reinstalling @theia dependencies.

Reproduction Steps

After re-building Docker image with @theia packages today (5/29/17), my Theia app would no longer start.

Reverting back from next to latest versions of @theia packages, doesn’t solve the problem, suggesting that the issue is with a transitive dependency.

Further, browser console reveals the following and only stacktrace:

index.js:73 Failed to start the frontend application.
(anonymous) @ index.js:73
index.js:75 Error: [UriError]: Scheme is missing: {scheme: "", authority: "", path: "", query: "", fragment: ""}
    at index.js:41
    at t.e (index.js:142)
    at new t (index.js:344)
    at Function.e.parse (index.js:254)
    at new e (uri.ts:29)
    at mini-browser-open-handler.ts:63
    at Object.<anonymous> (mini-browser-open-handler.ts:60)
    at n (bootstrap:19)
    at Object.<anonymous> (mini-browser-frontend-module.ts:30)
    at n (bootstrap:19)

where index.js:41 links to webpack:///./node_modules/vscode-uri/lib/esm/index.js:41.

Indeed, it appears that 3 more versions (!) of microsoft/vscode-uri were released today - 1.0.7, 1.0.8, and 2.0.0.

To confirm this culprit (and provide a workaround), I reverted vscode-uri to 1.0.6, using

  "resolutions": {
    "vscode-uri": "<=1.0.6"
  },

in package.json (using Yarn). After that, the app starts successfully.

OS and Theia version:

All Theia packages are using next version (which atm is 0.7.0-next.a963e8b5, from yarn.lock). The Theia app is built in a Docker container based on node:10-alpine. The host is Mac OS 10.13.6, Chrome 74.0.3729.157.

Diagnostics:

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 20 (9 by maintainers)

Commits related to this issue

Most upvoted comments

@dhananjayharel I’m not sure what you are trying to say. What change?

I’ve just generated an extension against next version and it works:

npx yo theia-extension --theia-version=next
cd browser-app/
yarn theia start .

To see all generator options:

npx yo theia-extension --help

Generated README.md file explains how to work with the generated extension.

@dhananjayharel you should use next for nightly builds, latest is last stable release

@marcdumais-work maybe we can do bug fix release for latest?