diff --git a/extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts b/extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts index 6cf0f608f..3c3d7244e 100644 --- a/extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts +++ b/extensions/ql-vscode/src/remote-queries/variant-analysis-monitor.ts @@ -78,7 +78,7 @@ export class VariantAnalysisMonitor extends DisposableObject { if (variantAnalysisSummary.scanned_repositories) { variantAnalysisSummary.scanned_repositories.forEach(scannedRepo => { - if (!scannedReposDownloaded.includes(scannedRepo.repository.id) && scannedRepo.analysis_status === 'succeeded') { + if (this.shouldDownload(scannedRepo, scannedReposDownloaded)) { this.scheduleForDownload(scannedRepo, variantAnalysisSummary); void commands.executeCommand('codeQL.autoDownloadVariantAnalysisResult', scannedRepo, variantAnalysisSummary); scannedReposDownloaded.push(scannedRepo.repository.id); @@ -103,6 +103,13 @@ export class VariantAnalysisMonitor extends DisposableObject { void commands.executeCommand('codeQL.autoDownloadVariantAnalysisResult', scannedRepo, variantAnalysisSummary); } + private shouldDownload( + scannedRepo: VariantAnalysisScannedRepository, + alreadyDownloaded: number[] + ): boolean { + return (!alreadyDownloaded.includes(scannedRepo.repository.id) && scannedRepo.analysis_status === 'succeeded'); + } + private async sleep(ms: number) { return new Promise(resolve => setTimeout(resolve, ms)); }