@@ -104,6 +104,8 @@ import { LogScannerService } from './log-insights/log-scanner-service';
104104import { createInitialQueryInfo } from './run-queries-shared' ;
105105import { LegacyQueryRunner } from './legacy-query-server/legacyRunner' ;
106106import { QueryRunner } from './queryRunner' ;
107+ import { VariantAnalysisView } from './remote-queries/variant-analysis-view' ;
108+ import { VariantAnalysisViewSerializer } from './remote-queries/variant-analysis-view-serializer' ;
107109import { VariantAnalysis } from './remote-queries/shared/variant-analysis' ;
108110import {
109111 VariantAnalysis as VariantAnalysisApiResponse ,
@@ -176,6 +178,7 @@ export interface CodeQLExtensionInterface {
176178 readonly distributionManager : DistributionManager ;
177179 readonly databaseManager : DatabaseManager ;
178180 readonly databaseUI : DatabaseUI ;
181+ readonly variantAnalysisManager : VariantAnalysisManager ;
179182 readonly dispose : ( ) => void ;
180183}
181184
@@ -386,14 +389,21 @@ export async function activate(ctx: ExtensionContext): Promise<CodeQLExtensionIn
386389 allowAutoUpdating : true
387390 } ) ) ) ;
388391
389- return await installOrUpdateThenTryActivate ( {
392+ const variantAnalysisViewSerializer = new VariantAnalysisViewSerializer ( ctx ) ;
393+ Window . registerWebviewPanelSerializer ( VariantAnalysisView . viewType , variantAnalysisViewSerializer ) ;
394+
395+ const codeQlExtension = await installOrUpdateThenTryActivate ( {
390396 isUserInitiated : ! ! ctx . globalState . get ( shouldUpdateOnNextActivationKey ) ,
391397 shouldDisplayMessageWhenNoUpdates : false ,
392398
393399 // only auto update on startup if the user has previously requested an update
394400 // otherwise, ask user to accept the update
395401 allowAutoUpdating : ! ! ctx . globalState . get ( shouldUpdateOnNextActivationKey )
396402 } ) ;
403+
404+ variantAnalysisViewSerializer . onExtensionLoaded ( codeQlExtension . variantAnalysisManager ) ;
405+
406+ return codeQlExtension ;
397407}
398408
399409async function activateWithInstalledDistribution (
@@ -939,7 +949,10 @@ async function activateWithInstalledDistribution(
939949
940950 ctx . subscriptions . push (
941951 commandRunner ( 'codeQL.mockVariantAnalysisView' , async ( ) => {
942- await variantAnalysisManager . showView ( 1 ) ;
952+ // Generate a random variant analysis ID for testing
953+ const variantAnalysisId : number = Math . floor ( Math . random ( ) * 1000000 ) ;
954+
955+ await variantAnalysisManager . showView ( variantAnalysisId ) ;
943956 } )
944957 ) ;
945958
@@ -1164,6 +1177,7 @@ async function activateWithInstalledDistribution(
11641177 distributionManager,
11651178 databaseManager : dbm ,
11661179 databaseUI,
1180+ variantAnalysisManager,
11671181 dispose : ( ) => {
11681182 ctx . subscriptions . forEach ( d => d . dispose ( ) ) ;
11691183 }
0 commit comments