Skip to content

List of Theia extensions is missing in AboutDialog in packaged Theia Electron based applications #13481

@sdirix

Description

@sdirix

Bug Description:

In packaged Theia Electron based applications the default about dialog does not show the list of contained Theia extensions.

Note that the Theia IDE uses a customized about dialog and therefore the problem is not visually apparent.

Steps to Reproduce:

  1. Build the Theia Browser example app
  2. Delete the node_modules directory (it's not required as the backend is bundled by default)
  3. Run the example app (node examples/browser/lib/backend/main.js)
  4. Open the about dialog

image

You can also reproduce this with the Theia Electron example app, however you need to keep all Electron related dependencies in node_modules as they are not bundled with Theia.

The issue typically occurs in packaged Theia Electron based applications as publishers no longer package node_modules since the backend bundling was introduced.

In development environments and in Docker images the node_modules are usually present, thereby the error does not manifest then. However in theory the node_modules could also not be present, as shown in the reproduction steps.

Analysis

As the extension information comes through the collector, it fails if the packages are not available, i.e. in the case the backend is bundled and the node_modules removed. Notably the ApplicationPackage as well as the ExtensionPackageCollector are actually coming from the dev-packages, so it can be argued they should not be used at all in Theia itself.

Potential solution

The Theia extension information is already collected during the build process. So instead of re-discovering this information with the tools of dev-packages at runtime, the information could be included in src-gen instead.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions