Skip to content

Commit bf84dbe

Browse files
authored
Merge pull request #1818 from github/koesie10/fix-duplicate-webviews-error
Close serialized webview when another view already exists
2 parents fb154ab + f6bb233 commit bf84dbe

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

extensions/ql-vscode/src/remote-queries/variant-analysis-view-manager.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ export interface VariantAnalysisViewManager<
1313
> {
1414
registerView(view: T): void;
1515
unregisterView(view: T): void;
16+
getView(variantAnalysisId: number): T | undefined;
1617

1718
getVariantAnalysis(
1819
variantAnalysisId: number,

extensions/ql-vscode/src/remote-queries/variant-analysis-view-serializer.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,15 @@ export class VariantAnalysisViewSerializer implements WebviewPanelSerializer {
3838

3939
const manager = await this.waitForExtensionFullyLoaded();
4040

41+
const existingView = manager.getView(
42+
variantAnalysisState.variantAnalysisId,
43+
);
44+
if (existingView) {
45+
await existingView.openView();
46+
webviewPanel.dispose();
47+
return;
48+
}
49+
4150
const view = new VariantAnalysisView(
4251
this.ctx,
4352
variantAnalysisState.variantAnalysisId,

0 commit comments

Comments
 (0)