@@ -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 (
@@ -934,7 +944,10 @@ async function activateWithInstalledDistribution(
934944
935945 ctx . subscriptions . push (
936946 commandRunner ( 'codeQL.mockVariantAnalysisView' , async ( ) => {
937- await variantAnalysisManager . showView ( 1 ) ;
947+ // Generate a random variant analysis ID for testing
948+ const variantAnalysisId : number = Math . floor ( Math . random ( ) * 1000000 ) ;
949+
950+ await variantAnalysisManager . showView ( variantAnalysisId ) ;
938951 } )
939952 ) ;
940953
@@ -1159,6 +1172,7 @@ async function activateWithInstalledDistribution(
11591172 distributionManager,
11601173 databaseManager : dbm ,
11611174 databaseUI,
1175+ variantAnalysisManager,
11621176 dispose : ( ) => {
11631177 ctx . subscriptions . forEach ( d => d . dispose ( ) ) ;
11641178 }
0 commit comments