@theia/plugin-ext 1.46.0 → 1.47.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/lib/hosted/browser/hosted-plugin.d.ts.map +1 -1
  2. package/lib/hosted/browser/hosted-plugin.js +1 -0
  3. package/lib/hosted/browser/hosted-plugin.js.map +1 -1
  4. package/lib/hosted/browser/worker/worker-main.js +1 -1
  5. package/lib/hosted/browser/worker/worker-main.js.map +1 -1
  6. package/lib/hosted/browser/worker/worker-plugin-module.d.ts.map +1 -1
  7. package/lib/hosted/browser/worker/worker-plugin-module.js +10 -3
  8. package/lib/hosted/browser/worker/worker-plugin-module.js.map +1 -1
  9. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.d.ts +0 -1
  10. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.d.ts.map +1 -1
  11. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js +5 -7
  12. package/lib/main/browser/notebooks/notebook-documents-and-editors-main.js.map +1 -1
  13. package/lib/main/browser/view/plugin-view-registry.d.ts +2 -0
  14. package/lib/main/browser/view/plugin-view-registry.d.ts.map +1 -1
  15. package/lib/main/browser/view/plugin-view-registry.js +16 -3
  16. package/lib/main/browser/view/plugin-view-registry.js.map +1 -1
  17. package/lib/plugin/custom-editors.js +1 -1
  18. package/lib/plugin/custom-editors.js.map +1 -1
  19. package/lib/plugin/notebook/notebook-kernels.d.ts +1 -1
  20. package/lib/plugin/notebook/notebook-kernels.d.ts.map +1 -1
  21. package/lib/plugin/notebook/notebook-kernels.js +4 -4
  22. package/lib/plugin/notebook/notebook-kernels.js.map +1 -1
  23. package/lib/plugin/notebook/notebooks.d.ts +1 -0
  24. package/lib/plugin/notebook/notebooks.d.ts.map +1 -1
  25. package/lib/plugin/notebook/notebooks.js +19 -0
  26. package/lib/plugin/notebook/notebooks.js.map +1 -1
  27. package/lib/plugin/plugin-context.d.ts.map +1 -1
  28. package/lib/plugin/plugin-context.js +2 -1
  29. package/lib/plugin/plugin-context.js.map +1 -1
  30. package/lib/plugin/plugin-manager.d.ts.map +1 -1
  31. package/lib/plugin/webviews.d.ts +13 -1
  32. package/lib/plugin/webviews.d.ts.map +1 -1
  33. package/lib/plugin/webviews.js +15 -2
  34. package/lib/plugin/webviews.js.map +1 -1
  35. package/package.json +28 -28
  36. package/src/hosted/browser/hosted-plugin.ts +1 -0
  37. package/src/hosted/browser/worker/worker-main.ts +2 -2
  38. package/src/hosted/browser/worker/worker-plugin-module.ts +13 -6
  39. package/src/main/browser/notebooks/notebook-documents-and-editors-main.ts +5 -8
  40. package/src/main/browser/view/plugin-view-registry.ts +18 -3
  41. package/src/plugin/custom-editors.ts +1 -1
  42. package/src/plugin/notebook/notebook-kernels.ts +4 -4
  43. package/src/plugin/notebook/notebooks.ts +20 -0
  44. package/src/plugin/plugin-context.ts +2 -1
  45. package/src/plugin/plugin-manager.ts +1 -1
  46. package/src/plugin/webviews.ts +16 -2
@@ -108,12 +108,25 @@ let WebviewsExtImpl = class WebviewsExtImpl {
108
108
  const panel = this.createWebviewPanel(viewType, title, showOptions, options, plugin, viewId);
109
109
  return panel;
110
110
  }
111
- createWebviewPanel(viewType, title, showOptions, options, plugin, viewId) {
111
+ /**
112
+ * Creates a new webview panel.
113
+ *
114
+ * @param viewType Identifies the type of the webview panel.
115
+ * @param title Title of the panel.
116
+ * @param showOptions Where webview panel will be reside.
117
+ * @param options Settings for the new panel.
118
+ * @param plugin The plugin contributing the webview.
119
+ * @param viewId The identifier of the webview instance.
120
+ * @param originBasedOnType true if a stable origin based on the viewType shall be used, false if the viewId should be used.
121
+ * @returns The new webview panel.
122
+ */
123
+ createWebviewPanel(viewType, title, showOptions, options, plugin, viewId, originBasedOnType = true) {
112
124
  if (!this.initData) {
113
125
  throw new Error('Webviews are not initialized');
114
126
  }
115
127
  const webviewShowOptions = (0, type_converters_1.toWebviewPanelShowOptions)(showOptions);
116
- const webview = new WebviewImpl(viewId, this.proxy, options, this.initData, this.workspace, plugin, (0, uuid_2.hashValue)(viewType));
128
+ const origin = originBasedOnType ? (0, uuid_2.hashValue)(viewType) : undefined;
129
+ const webview = new WebviewImpl(viewId, this.proxy, options, this.initData, this.workspace, plugin, origin);
117
130
  const panel = new WebviewPanelImpl(viewId, this.proxy, viewType, title, webviewShowOptions, options, webview);
118
131
  this.webviewPanels.set(viewId, panel);
119
132
  return panel;
@@ -1 +1 @@
1
- {"version":3,"file":"webviews.js","sourceRoot":"","sources":["../../src/plugin/webviews.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webviews.js","sourceRoot":"","sources":["../../src/plugin/webviews.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,37 +1,37 @@
1
1
  {
2
2
  "name": "@theia/plugin-ext",
3
- "version": "1.46.0",
3
+ "version": "1.47.0-next.0+f332cad",
4
4
  "description": "Theia - Plugin Extension",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
7
7
  "dependencies": {
8
- "@theia/bulk-edit": "1.46.0",
9
- "@theia/callhierarchy": "1.46.0",
10
- "@theia/console": "1.46.0",
11
- "@theia/core": "1.46.0",
12
- "@theia/debug": "1.46.0",
13
- "@theia/editor": "1.46.0",
14
- "@theia/editor-preview": "1.46.0",
15
- "@theia/file-search": "1.46.0",
16
- "@theia/filesystem": "1.46.0",
17
- "@theia/markers": "1.46.0",
18
- "@theia/messages": "1.46.0",
19
- "@theia/monaco": "1.46.0",
8
+ "@theia/bulk-edit": "1.47.0-next.0+f332cad",
9
+ "@theia/callhierarchy": "1.47.0-next.0+f332cad",
10
+ "@theia/console": "1.47.0-next.0+f332cad",
11
+ "@theia/core": "1.47.0-next.0+f332cad",
12
+ "@theia/debug": "1.47.0-next.0+f332cad",
13
+ "@theia/editor": "1.47.0-next.0+f332cad",
14
+ "@theia/editor-preview": "1.47.0-next.0+f332cad",
15
+ "@theia/file-search": "1.47.0-next.0+f332cad",
16
+ "@theia/filesystem": "1.47.0-next.0+f332cad",
17
+ "@theia/markers": "1.47.0-next.0+f332cad",
18
+ "@theia/messages": "1.47.0-next.0+f332cad",
19
+ "@theia/monaco": "1.47.0-next.0+f332cad",
20
20
  "@theia/monaco-editor-core": "1.72.3",
21
- "@theia/navigator": "1.46.0",
22
- "@theia/notebook": "1.46.0",
23
- "@theia/output": "1.46.0",
24
- "@theia/plugin": "1.46.0",
25
- "@theia/preferences": "1.46.0",
26
- "@theia/scm": "1.46.0",
27
- "@theia/search-in-workspace": "1.46.0",
28
- "@theia/task": "1.46.0",
29
- "@theia/terminal": "1.46.0",
30
- "@theia/test": "1.46.0",
31
- "@theia/timeline": "1.46.0",
32
- "@theia/typehierarchy": "1.46.0",
33
- "@theia/variable-resolver": "1.46.0",
34
- "@theia/workspace": "1.46.0",
21
+ "@theia/navigator": "1.47.0-next.0+f332cad",
22
+ "@theia/notebook": "1.47.0-next.0+f332cad",
23
+ "@theia/output": "1.47.0-next.0+f332cad",
24
+ "@theia/plugin": "1.47.0-next.0+f332cad",
25
+ "@theia/preferences": "1.47.0-next.0+f332cad",
26
+ "@theia/scm": "1.47.0-next.0+f332cad",
27
+ "@theia/search-in-workspace": "1.47.0-next.0+f332cad",
28
+ "@theia/task": "1.47.0-next.0+f332cad",
29
+ "@theia/terminal": "1.47.0-next.0+f332cad",
30
+ "@theia/test": "1.47.0-next.0+f332cad",
31
+ "@theia/timeline": "1.47.0-next.0+f332cad",
32
+ "@theia/typehierarchy": "1.47.0-next.0+f332cad",
33
+ "@theia/variable-resolver": "1.47.0-next.0+f332cad",
34
+ "@theia/workspace": "1.47.0-next.0+f332cad",
35
35
  "@types/mime": "^2.0.1",
36
36
  "@vscode/debugprotocol": "^1.51.0",
37
37
  "@vscode/proxy-agent": "^0.13.2",
@@ -97,5 +97,5 @@
97
97
  "nyc": {
98
98
  "extends": "../../configs/nyc.json"
99
99
  },
100
- "gitHead": "90ba9de68f5912773ae9e26fcffeb671c0ab43d2"
100
+ "gitHead": "f332cadcb5f05ddeabe5d87a3abc76da73ffdd1f"
101
101
  }
@@ -240,6 +240,7 @@ export class HostedPluginSupport extends AbstractHostedPluginSupport<PluginManag
240
240
  }
241
241
 
242
242
  protected override afterStart(): void {
243
+ this.watcher.onDidDeploy(() => this.load());
243
244
  this.server.onDidOpenConnection(() => this.load());
244
245
  }
245
246
 
@@ -20,7 +20,7 @@ import * as theia from '@theia/plugin';
20
20
  import { emptyPlugin, MAIN_RPC_CONTEXT, Plugin } from '../../../common/plugin-api-rpc';
21
21
  import { ExtPluginApi } from '../../../common/plugin-ext-api-contribution';
22
22
  import { getPluginId, PluginMetadata } from '../../../common/plugin-protocol';
23
- import { RPCProtocol, RPCProtocolImpl } from '../../../common/rpc-protocol';
23
+ import { RPCProtocol } from '../../../common/rpc-protocol';
24
24
  import { ClipboardExt } from '../../../plugin/clipboard-ext';
25
25
  import { EditorsAndDocumentsExtImpl } from '../../../plugin/editors-and-documents';
26
26
  import { MessageRegistryExt } from '../../../plugin/message-registry';
@@ -56,7 +56,7 @@ function initialize(contextPath: string, pluginMetadata: PluginMetadata): void {
56
56
  const container = new Container();
57
57
  container.load(pluginHostModule);
58
58
 
59
- const rpc: RPCProtocol = container.get(RPCProtocolImpl);
59
+ const rpc: RPCProtocol = container.get(RPCProtocol);
60
60
  const pluginManager = container.get(PluginManagerExtImpl);
61
61
  pluginManager.setPluginHost({
62
62
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -23,10 +23,10 @@ import { RPCProtocol, RPCProtocolImpl } from '../../../common/rpc-protocol';
23
23
  import { ClipboardExt } from '../../../plugin/clipboard-ext';
24
24
  import { EditorsAndDocumentsExtImpl } from '../../../plugin/editors-and-documents';
25
25
  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';
28
28
  import { PreferenceRegistryExtImpl } from '../../../plugin/preference-registry';
29
- import { SecretsExtImpl } from '../../../plugin/secrets-ext';
29
+ import { InternalSecretsExt, SecretsExtImpl } from '../../../plugin/secrets-ext';
30
30
  import { TerminalServiceExtImpl } from '../../../plugin/terminal-ext';
31
31
  import { WebviewsExtImpl } from '../../../plugin/webviews';
32
32
  import { WorkspaceExtImpl } from '../../../plugin/workspace';
@@ -58,16 +58,23 @@ export default new ContainerModule(bind => {
58
58
 
59
59
  bind(PluginManagerExtImpl).toSelf().inSingletonScope();
60
60
  bind(EnvExtImpl).to(WorkerEnvExtImpl).inSingletonScope();
61
- bind(LocalizationExt).to(LocalizationExtImpl).inSingletonScope();
61
+ bind(LocalizationExtImpl).toSelf().inSingletonScope();
62
+ bind(LocalizationExt).toService(LocalizationExtImpl);
62
63
  bind(KeyValueStorageProxy).toSelf().inSingletonScope();
64
+ bind(InternalStorageExt).toService(KeyValueStorageProxy);
63
65
  bind(SecretsExtImpl).toSelf().inSingletonScope();
66
+ bind(InternalSecretsExt).toService(SecretsExtImpl);
64
67
  bind(PreferenceRegistryExtImpl).toSelf().inSingletonScope();
65
- bind(DebugExtImpl).toDynamicValue(({ container }) => createDebugExtStub(container))
66
- .inSingletonScope();
68
+ bind(DebugExtImpl).toDynamicValue(({ container }) => {
69
+ const child = container.createChild();
70
+ child.bind(DebugExtImpl).toSelf();
71
+ return createDebugExtStub(child);
72
+ }).inSingletonScope();
67
73
  bind(EditorsAndDocumentsExtImpl).toSelf().inSingletonScope();
68
74
  bind(WorkspaceExtImpl).toSelf().inSingletonScope();
69
75
  bind(MessageRegistryExt).toSelf().inSingletonScope();
70
76
  bind(ClipboardExt).toSelf().inSingletonScope();
71
77
  bind(WebviewsExtImpl).toSelf().inSingletonScope();
72
78
  bind(TerminalServiceExtImpl).toSelf().inSingletonScope();
79
+ bind(MinimalTerminalServiceExt).toService(TerminalServiceExtImpl);
73
80
  });
@@ -31,7 +31,6 @@ import { NotebookEditorsMainImpl } from './notebook-editors-main';
31
31
  import { NotebookDocumentsMainImpl } from './notebook-documents-main';
32
32
  import { diffMaps, diffSets } from '../../../common/collections';
33
33
  import { Mutex } from 'async-mutex';
34
- import throttle = require('@theia/core/shared/lodash.throttle');
35
34
 
36
35
  interface NotebookAndEditorDelta {
37
36
  removedDocuments: UriComponents[];
@@ -107,12 +106,12 @@ export class NotebooksAndEditorsMain implements NotebookDocumentsAndEditorsMain
107
106
  this.notebookEditorService = container.get(NotebookEditorWidgetService);
108
107
  this.WidgetManager = container.get(WidgetManager);
109
108
 
110
- this.notebookService.onDidAddNotebookDocument(async () => this.throttleStateUpdate(), this, this.disposables);
111
- this.notebookService.onDidRemoveNotebookDocument(async () => this.throttleStateUpdate(), this, this.disposables);
109
+ this.notebookService.onDidAddNotebookDocument(async () => this.updateState(), this, this.disposables);
110
+ this.notebookService.onDidRemoveNotebookDocument(async () => this.updateState(), this, this.disposables);
112
111
  // this.WidgetManager.onActiveEditorChanged(() => this.updateState(), this, this.disposables);
113
112
  this.notebookEditorService.onDidAddNotebookEditor(async editor => this.handleEditorAdd(editor), this, this.disposables);
114
113
  this.notebookEditorService.onDidRemoveNotebookEditor(async editor => this.handleEditorRemove(editor), this, this.disposables);
115
- this.notebookEditorService.onDidChangeFocusedEditor(async editor => this.throttleStateUpdate(editor), this, this.disposables);
114
+ this.notebookEditorService.onDidChangeFocusedEditor(async editor => this.updateState(editor), this, this.disposables);
116
115
  }
117
116
 
118
117
  dispose(): void {
@@ -130,18 +129,16 @@ export class NotebooksAndEditorsMain implements NotebookDocumentsAndEditorsMain
130
129
  } else {
131
130
  this.editorListeners.set(editor.id, [disposable]);
132
131
  }
133
- await this.throttleStateUpdate();
132
+ await this.updateState();
134
133
  }
135
134
 
136
135
  private handleEditorRemove(editor: NotebookEditorWidget): void {
137
136
  const listeners = this.editorListeners.get(editor.id);
138
137
  listeners?.forEach(listener => listener.dispose());
139
138
  this.editorListeners.delete(editor.id);
140
- this.throttleStateUpdate();
139
+ this.updateState();
141
140
  }
142
141
 
143
- private throttleStateUpdate = throttle((focusedEditor?: NotebookEditorWidget) => this.updateState(focusedEditor), 100);
144
-
145
142
  private async updateState(focusedEditor?: NotebookEditorWidget): Promise<void> {
146
143
  await this.updateMutex.runExclusive(async () => this.doUpdateState(focusedEditor));
147
144
  }
@@ -109,6 +109,16 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
109
109
 
110
110
  private readonly webviewViewRevivals = new Map<string, { readonly webview: WebviewView; readonly revival: Deferred<void> }>();
111
111
 
112
+ private nextViewContainerId = 0;
113
+
114
+ private static readonly BUILTIN_VIEW_CONTAINERS = new Set<string>([
115
+ 'explorer',
116
+ 'scm',
117
+ 'search',
118
+ 'test',
119
+ 'debug'
120
+ ]);
121
+
112
122
  private static readonly ID_MAPPINGS: Map<string, string> = new Map([
113
123
  // VS Code Viewlets
114
124
  [EXPLORER_VIEW_CONTAINER_ID, 'workbench.view.explorer'],
@@ -266,14 +276,15 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
266
276
  }
267
277
 
268
278
  registerViewContainer(location: string, viewContainer: ViewContainer): Disposable {
269
- if (this.viewContainers.has(viewContainer.id)) {
279
+ const containerId = `workbench.view.extension.${viewContainer.id}`;
280
+ if (this.viewContainers.has(containerId)) {
270
281
  console.warn('view container such id already registered: ', JSON.stringify(viewContainer));
271
282
  return Disposable.NULL;
272
283
  }
273
284
  const toDispose = new DisposableCollection();
274
285
  const containerClass = 'theia-plugin-view-container';
275
286
  let themeIconClass = '';
276
- const iconClass = 'plugin-view-container-icon-' + viewContainer.id;
287
+ const iconClass = 'plugin-view-container-icon-' + this.nextViewContainerId++; // having dots in class would not work for css, so we need to generate an id.
277
288
 
278
289
  if (viewContainer.themeIcon) {
279
290
  const icon = ThemeIcon.fromString(viewContainer.themeIcon);
@@ -290,7 +301,7 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
290
301
  `));
291
302
  }
292
303
 
293
- toDispose.push(this.doRegisterViewContainer(viewContainer.id, location, {
304
+ toDispose.push(this.doRegisterViewContainer(containerId, location, {
294
305
  label: viewContainer.title,
295
306
  // The container class automatically sets a mask; if we're using a theme icon, we don't want one.
296
307
  iconClass: (themeIconClass || containerClass) + ' ' + iconClass,
@@ -349,6 +360,10 @@ export class PluginViewRegistry implements FrontendApplicationContribution {
349
360
  }
350
361
 
351
362
  registerView(viewContainerId: string, view: View): Disposable {
363
+ if (!PluginViewRegistry.BUILTIN_VIEW_CONTAINERS.has(viewContainerId)) {
364
+ // if it's not a built-in view container, it must be a contributed view container, see https://github.com/eclipse-theia/theia/issues/13249
365
+ viewContainerId = `workbench.view.extension.${viewContainerId}`;
366
+ }
352
367
  if (this.views.has(view.id)) {
353
368
  console.warn('view with such id already registered: ', JSON.stringify(view));
354
369
  return Disposable.NULL;
@@ -129,7 +129,7 @@ export class CustomEditorsExtImpl implements CustomEditorsExt {
129
129
  if (!entry) {
130
130
  throw new Error(`No provider found for '${viewType}'`);
131
131
  }
132
- const panel = this.webviewExt.createWebviewPanel(viewType, title, {}, options, entry.plugin, handler);
132
+ const panel = this.webviewExt.createWebviewPanel(viewType, title, {}, options, entry.plugin, handler, false);
133
133
  const webviewOptions = WebviewImpl.toWebviewOptions(options, this.workspace, entry.plugin);
134
134
  await this.proxy.$createCustomEditorPanel(handler, title, widgetOpenerOptions, webviewOptions);
135
135
 
@@ -294,11 +294,11 @@ export class NotebookKernelsExtImpl implements NotebookKernelsExt {
294
294
  };
295
295
  }
296
296
 
297
- $acceptNotebookAssociation(handle: number, uri: UriComponents, value: boolean): void {
297
+ async $acceptNotebookAssociation(handle: number, uri: UriComponents, value: boolean): Promise<void> {
298
298
  const obj = this.kernelData.get(handle);
299
299
  if (obj) {
300
300
  // update data structure
301
- const notebook = this.notebooks.getNotebookDocument(URI.from(uri))!;
301
+ const notebook = await this.notebooks.waitForNotebookDocument(URI.from(uri));
302
302
  if (value) {
303
303
  obj.associatedNotebooks.set(notebook.uri.toString(), true);
304
304
  } else {
@@ -320,7 +320,7 @@ export class NotebookKernelsExtImpl implements NotebookKernelsExt {
320
320
  // extension can dispose kernels in the meantime
321
321
  return Promise.resolve();
322
322
  }
323
- const document = this.notebooks.getNotebookDocument(URI.from(uri));
323
+ const document = await this.notebooks.waitForNotebookDocument(URI.from(uri));
324
324
  const cells: theia.NotebookCell[] = [];
325
325
  for (const cellHandle of handles) {
326
326
  const cell = document.getCell(cellHandle);
@@ -347,7 +347,7 @@ export class NotebookKernelsExtImpl implements NotebookKernelsExt {
347
347
 
348
348
  // cancel or interrupt depends on the controller. When an interrupt handler is used we
349
349
  // don't trigger the cancelation token of executions.N
350
- const document = this.notebooks.getNotebookDocument(URI.from(uri));
350
+ const document = await this.notebooks.waitForNotebookDocument(URI.from(uri));
351
351
  if (obj.controller.interruptHandler) {
352
352
  await obj.controller.interruptHandler.call(obj.controller, document.apiNotebook);
353
353
 
@@ -312,6 +312,26 @@ export class NotebooksExtImpl implements NotebooksExt {
312
312
  return result;
313
313
  }
314
314
 
315
+ waitForNotebookDocument(uri: TheiaURI, duration = 2000): Promise<NotebookDocument> {
316
+ const existing = this.getNotebookDocument(uri, true);
317
+ if (existing) {
318
+ return Promise.resolve(existing);
319
+ }
320
+ return new Promise<NotebookDocument>((resolve, reject) => {
321
+ const listener = this.onDidOpenNotebookDocument(event => {
322
+ if (event.uri.toString() === uri.toString()) {
323
+ clearTimeout(timeout);
324
+ listener.dispose();
325
+ resolve(this.getNotebookDocument(uri));
326
+ }
327
+ });
328
+ const timeout = setTimeout(() => {
329
+ listener.dispose();
330
+ reject(new Error(`Notebook document did NOT open in ${duration}ms: ${uri}`));
331
+ }, duration);
332
+ });
333
+ }
334
+
315
335
  private createExtHostEditor(document: NotebookDocument, editorId: string, data: NotebookEditorAddData): void {
316
336
 
317
337
  if (this.editors.has(editorId)) {
@@ -709,7 +709,8 @@ export function createAPIFactory(
709
709
  } else {
710
710
  throw new Error('Invalid arguments');
711
711
  }
712
- return notebooksExt.getNotebookDocument(uri).apiNotebook;
712
+ const result = await notebooksExt.waitForNotebookDocument(uri);
713
+ return result.apiNotebook;
713
714
 
714
715
  },
715
716
  createFileSystemWatcher: (pattern, ignoreCreate, ignoreChange, ignoreDelete): theia.FileSystemWatcher =>
@@ -81,7 +81,7 @@ class ActivatedPlugin {
81
81
 
82
82
  export const MinimalTerminalServiceExt = Symbol('MinimalTerminalServiceExt');
83
83
  export type MinimalTerminalServiceExt = Pick<TerminalServiceExt,
84
- 'getEnvironmentVariableCollection'|'$initEnvironmentVariableCollections'|'$setShell'>;
84
+ 'getEnvironmentVariableCollection' | '$initEnvironmentVariableCollections' | '$setShell'>;
85
85
 
86
86
  @injectable()
87
87
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -126,19 +126,33 @@ export class WebviewsExtImpl implements WebviewsExt {
126
126
  return panel;
127
127
  }
128
128
 
129
+ /**
130
+ * Creates a new webview panel.
131
+ *
132
+ * @param viewType Identifies the type of the webview panel.
133
+ * @param title Title of the panel.
134
+ * @param showOptions Where webview panel will be reside.
135
+ * @param options Settings for the new panel.
136
+ * @param plugin The plugin contributing the webview.
137
+ * @param viewId The identifier of the webview instance.
138
+ * @param originBasedOnType true if a stable origin based on the viewType shall be used, false if the viewId should be used.
139
+ * @returns The new webview panel.
140
+ */
129
141
  createWebviewPanel(
130
142
  viewType: string,
131
143
  title: string,
132
144
  showOptions: theia.ViewColumn | theia.WebviewPanelShowOptions,
133
145
  options: theia.WebviewPanelOptions & theia.WebviewOptions,
134
146
  plugin: Plugin,
135
- viewId: string
147
+ viewId: string,
148
+ originBasedOnType = true
136
149
  ): WebviewPanelImpl {
137
150
  if (!this.initData) {
138
151
  throw new Error('Webviews are not initialized');
139
152
  }
140
153
  const webviewShowOptions = toWebviewPanelShowOptions(showOptions);
141
- const webview = new WebviewImpl(viewId, this.proxy, options, this.initData, this.workspace, plugin, hashValue(viewType));
154
+ const origin = originBasedOnType ? hashValue(viewType) : undefined;
155
+ const webview = new WebviewImpl(viewId, this.proxy, options, this.initData, this.workspace, plugin, origin);
142
156
  const panel = new WebviewPanelImpl(viewId, this.proxy, viewType, title, webviewShowOptions, options, webview);
143
157
  this.webviewPanels.set(viewId, panel);
144
158
  return panel;