Skip to content

Commit d3e52f7

Browse files
xaicdamus
andcommitted
fix: regressions from headless plugins refactoring
- fix gaps in Inversify DI configuration in the web worker for frontend plugins - restore the onDidDeploy() dorwarding lost in the refactoring for headless plugins Fixes #13320 Contributed on behalf of STMicroelectronics Signed-off-by: Olaf Lessenich <[email protected]> Co-authored-by: Christian W. Damus <[email protected]>
1 parent 69d7cd0 commit d3e52f7

File tree

5 files changed

+13
-39
lines changed

5 files changed

+13
-39
lines changed

packages/plugin-ext/src/hosted/browser/hosted-plugin.ts

+1
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ export class HostedPluginSupport extends AbstractHostedPluginSupport<PluginManag
240240
}
241241

242242
protected override afterStart(): void {
243+
this.watcher.onDidDeploy(() => this.load());
243244
this.server.onDidOpenConnection(() => this.load());
244245
}
245246

packages/plugin-ext/src/hosted/browser/worker/debug-stub.ts

-29
This file was deleted.

packages/plugin-ext/src/hosted/browser/worker/worker-main.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import * as theia from '@theia/plugin';
2020
import { emptyPlugin, MAIN_RPC_CONTEXT, Plugin } from '../../../common/plugin-api-rpc';
2121
import { ExtPluginApi } from '../../../common/plugin-ext-api-contribution';
2222
import { getPluginId, PluginMetadata } from '../../../common/plugin-protocol';
23-
import { RPCProtocol, RPCProtocolImpl } from '../../../common/rpc-protocol';
23+
import { RPCProtocol } from '../../../common/rpc-protocol';
2424
import { ClipboardExt } from '../../../plugin/clipboard-ext';
2525
import { EditorsAndDocumentsExtImpl } from '../../../plugin/editors-and-documents';
2626
import { MessageRegistryExt } from '../../../plugin/message-registry';
@@ -56,7 +56,7 @@ function initialize(contextPath: string, pluginMetadata: PluginMetadata): void {
5656
const container = new Container();
5757
container.load(pluginHostModule);
5858

59-
const rpc: RPCProtocol = container.get(RPCProtocolImpl);
59+
const rpc: RPCProtocol = container.get(RPCProtocol);
6060
const pluginManager = container.get(PluginManagerExtImpl);
6161
pluginManager.setPluginHost({
6262
// eslint-disable-next-line @typescript-eslint/no-explicit-any

packages/plugin-ext/src/hosted/browser/worker/worker-plugin-module.ts

+9-7
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,13 @@ import { RPCProtocol, RPCProtocolImpl } from '../../../common/rpc-protocol';
2323
import { ClipboardExt } from '../../../plugin/clipboard-ext';
2424
import { EditorsAndDocumentsExtImpl } from '../../../plugin/editors-and-documents';
2525
import { MessageRegistryExt } from '../../../plugin/message-registry';
26-
import { PluginManagerExtImpl } from '../../../plugin/plugin-manager';
27-
import { KeyValueStorageProxy } from '../../../plugin/plugin-storage';
26+
import { MinimalTerminalServiceExt, PluginManagerExtImpl } from '../../../plugin/plugin-manager';
27+
import { InternalStorageExt, KeyValueStorageProxy } from '../../../plugin/plugin-storage';
2828
import { PreferenceRegistryExtImpl } from '../../../plugin/preference-registry';
29-
import { SecretsExtImpl } from '../../../plugin/secrets-ext';
29+
import { InternalSecretsExt, SecretsExtImpl } from '../../../plugin/secrets-ext';
3030
import { TerminalServiceExtImpl } from '../../../plugin/terminal-ext';
3131
import { WebviewsExtImpl } from '../../../plugin/webviews';
3232
import { WorkspaceExtImpl } from '../../../plugin/workspace';
33-
import { createDebugExtStub } from './debug-stub';
3433
import { EnvExtImpl } from '../../../plugin/env';
3534
import { WorkerEnvExtImpl } from './worker-env-ext';
3635
import { DebugExtImpl } from '../../../plugin/debug/debug-ext';
@@ -58,16 +57,19 @@ export default new ContainerModule(bind => {
5857

5958
bind(PluginManagerExtImpl).toSelf().inSingletonScope();
6059
bind(EnvExtImpl).to(WorkerEnvExtImpl).inSingletonScope();
61-
bind(LocalizationExt).to(LocalizationExtImpl).inSingletonScope();
60+
bind(LocalizationExtImpl).toSelf().inSingletonScope();
61+
bind(LocalizationExt).toService(LocalizationExtImpl);
6262
bind(KeyValueStorageProxy).toSelf().inSingletonScope();
63+
bind(InternalStorageExt).toService(KeyValueStorageProxy);
6364
bind(SecretsExtImpl).toSelf().inSingletonScope();
65+
bind(InternalSecretsExt).toService(SecretsExtImpl);
6466
bind(PreferenceRegistryExtImpl).toSelf().inSingletonScope();
65-
bind(DebugExtImpl).toDynamicValue(({ container }) => createDebugExtStub(container))
66-
.inSingletonScope();
67+
bind(DebugExtImpl).toSelf().inSingletonScope();
6768
bind(EditorsAndDocumentsExtImpl).toSelf().inSingletonScope();
6869
bind(WorkspaceExtImpl).toSelf().inSingletonScope();
6970
bind(MessageRegistryExt).toSelf().inSingletonScope();
7071
bind(ClipboardExt).toSelf().inSingletonScope();
7172
bind(WebviewsExtImpl).toSelf().inSingletonScope();
7273
bind(TerminalServiceExtImpl).toSelf().inSingletonScope();
74+
bind(MinimalTerminalServiceExt).toService(TerminalServiceExtImpl);
7375
});

packages/plugin-ext/src/plugin/plugin-manager.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ class ActivatedPlugin {
8181

8282
export const MinimalTerminalServiceExt = Symbol('MinimalTerminalServiceExt');
8383
export type MinimalTerminalServiceExt = Pick<TerminalServiceExt,
84-
'getEnvironmentVariableCollection'|'$initEnvironmentVariableCollections'|'$setShell'>;
84+
'getEnvironmentVariableCollection' | '$initEnvironmentVariableCollections' | '$setShell'>;
8585

8686
@injectable()
8787
// eslint-disable-next-line @typescript-eslint/no-explicit-any

0 commit comments

Comments
 (0)