@@ -50,12 +50,17 @@ export class CodeQLService {
5050 kotlin : [ "kotlin" , "kt" ] ,
5151 scala : [ "scala" ] ,
5252 } ;
53+ private resultsCallback ?: ( results : ScanResult [ ] ) => void ;
5354
5455 constructor ( githubService : GitHubService ) {
5556 this . githubService = githubService ;
5657 this . logger = LoggerService . getInstance ( ) ;
5758 }
5859
60+ public setResultsCallback ( callback : ( results : ScanResult [ ] ) => void ) : void {
61+ this . resultsCallback = callback ;
62+ }
63+
5964 public async runScan (
6065 progress : vscode . Progress < { increment ?: number ; message ?: string } > ,
6166 cancellationToken : vscode . CancellationToken
@@ -199,6 +204,11 @@ export class CodeQLService {
199204 language
200205 ) ;
201206 results . push ( ...languageResults ) ;
207+
208+ // Notify UI immediately with updated results
209+ if ( this . resultsCallback && languageResults . length > 0 ) {
210+ this . resultsCallback ( [ ...results ] ) ; // Send a copy of all results so far
211+ }
202212 }
203213
204214 progress . report ( { increment : 95 , message : "Finalizing results..." } ) ;
@@ -238,7 +248,14 @@ export class CodeQLService {
238248 repoInfo . repo
239249 ) ;
240250
241- return this . convertAlertsToResults ( alerts ) ;
251+ const results = this . convertAlertsToResults ( alerts ) ;
252+
253+ // Notify UI immediately when remote results are available
254+ if ( this . resultsCallback && results . length > 0 ) {
255+ this . resultsCallback ( results ) ;
256+ }
257+
258+ return results ;
242259 }
243260
244261 public async initRepository (
@@ -1142,6 +1159,11 @@ export class CodeQLService {
11421159 language
11431160 ) ;
11441161 allResults . push ( ...results ) ;
1162+
1163+ // Notify UI immediately when SARIF results are loaded
1164+ if ( this . resultsCallback && results . length > 0 ) {
1165+ this . resultsCallback ( [ ...allResults ] ) ; // Send a copy of all results so far
1166+ }
11451167 } else {
11461168 this . logger . warn (
11471169 "CodeQLService" ,
@@ -1191,6 +1213,11 @@ export class CodeQLService {
11911213 language
11921214 ) ;
11931215 allResults . push ( ...results ) ;
1216+
1217+ // Notify UI immediately when SARIF results are loaded
1218+ if ( this . resultsCallback && results . length > 0 ) {
1219+ this . resultsCallback ( [ ...allResults ] ) ; // Send a copy of all results so far
1220+ }
11941221 }
11951222 }
11961223
@@ -1218,6 +1245,11 @@ export class CodeQLService {
12181245 language
12191246 ) ;
12201247 allResults . push ( ...results ) ;
1248+
1249+ // Notify UI immediately when SARIF results are loaded
1250+ if ( this . resultsCallback && results . length > 0 ) {
1251+ this . resultsCallback ( [ ...allResults ] ) ; // Send a copy of all results so far
1252+ }
12211253 } else {
12221254 this . logger . debug (
12231255 "CodeQLService" ,
0 commit comments