From 8f432d5b7ac68d624d6adf8497e8bdaba6cc1ac4 Mon Sep 17 00:00:00 2001 From: Remi Schnekenburger Date: Thu, 11 Apr 2024 11:58:39 +0200 Subject: [PATCH] Generate Extension Info in server application fixes #13481 contributed on behalf of STMicroelectronics Signed-off-by: Remi Schnekenburger --- CHANGELOG.md | 2 ++ .../application-manager/src/generator/backend-generator.ts | 2 ++ packages/core/src/node/application-server.ts | 6 +++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d3fcdfacf9bc..0b528e2ecddaa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,11 @@ ## not yet released +- [application-manager] Generate Extension Info in server application to avoid empty About Dialog [#13590](https://github.com/eclipse-theia/theia/pull/13590) - contributed on behalf of STMicroelectronics - [scm] added support for dirty diff peek view [#13104](https://github.com/eclipse-theia/theia/pull/13104) [Breaking Changes:](#breaking_changes_not_yet_released) + - [scm] revised some of the dirty diff related types [#13104](https://github.com/eclipse-theia/theia/pull/13104) - replaced `DirtyDiff.added/removed/modified` with `changes`, which provides more detailed information about the changes - changed the semantics of `LineRange` to represent a range that spans up to but not including the `end` line (previously, it included the `end` line) diff --git a/dev-packages/application-manager/src/generator/backend-generator.ts b/dev-packages/application-manager/src/generator/backend-generator.ts index fd47708a0d3af..1ad8680f9241e 100644 --- a/dev-packages/application-manager/src/generator/backend-generator.ts +++ b/dev-packages/application-manager/src/generator/backend-generator.ts @@ -185,6 +185,8 @@ const main = require('@theia/core/lib/node/main'); BackendApplicationConfigProvider.set(${this.prettyStringify(this.pck.props.backend.config)}); +globalThis.extensionInfo = ${this.prettyStringify(this.pck.extensionPackages.map(({ name, version }) => ({ name, version }))) }; + const serverModule = require('./server'); const serverAddress = main.start(serverModule()); diff --git a/packages/core/src/node/application-server.ts b/packages/core/src/node/application-server.ts index e80212248293d..df3996b6bb1b0 100644 --- a/packages/core/src/node/application-server.ts +++ b/packages/core/src/node/application-server.ts @@ -26,9 +26,9 @@ export class ApplicationServerImpl implements ApplicationServer { protected readonly applicationPackage: ApplicationPackage; getExtensionsInfos(): Promise { - const extensions = this.applicationPackage.extensionPackages; - const infos: ExtensionInfo[] = extensions.map(extension => ({ name: extension.name, version: extension.version })); - return Promise.resolve(infos); + // @ts-expect-error + const appInfo: ExtensionInfo[] = globalThis.extensionInfo; + return Promise.resolve(appInfo); } getApplicationInfo(): Promise {