@@ -10,7 +10,6 @@ import { COPILOT_LOGINS, copilotEventToStatus, CopilotPRStatus } from '../common
1010import { Disposable } from '../common/lifecycle' ;
1111import Logger from '../common/logger' ;
1212import { PR_SETTINGS_NAMESPACE , QUERIES } from '../common/settingKeys' ;
13- import { FolderRepositoryManager } from './folderRepositoryManager' ;
1413import { PRType } from './interface' ;
1514import { PullRequestModel } from './pullRequestModel' ;
1615import { PullRequestOverviewPanel } from './pullRequestOverview' ;
@@ -42,7 +41,10 @@ export class CopilotStateModel extends Disposable {
4241 this . _onRefresh . fire ( ) ;
4342 }
4443
45- makeKey ( owner : string , repo : string , prNumber : number ) : string {
44+ makeKey ( owner : string , repo : string , prNumber ?: number ) : string {
45+ if ( prNumber === undefined ) {
46+ return `${ owner } /${ repo } ` ;
47+ }
4648 return `${ owner } /${ repo } #${ prNumber } ` ;
4749 }
4850
@@ -109,6 +111,17 @@ export class CopilotStateModel extends Disposable {
109111 return this . _showNotification ;
110112 }
111113
114+ getNotificationsCount ( owner : string , repo : string ) : number {
115+ let total = 0 ;
116+ const partialKey = `${ this . makeKey ( owner , repo ) } #` ;
117+ for ( const state of this . _showNotification . values ( ) ) {
118+ if ( state . startsWith ( partialKey ) ) {
119+ total ++ ;
120+ }
121+ }
122+ return total ;
123+ }
124+
112125 setInitialized ( ) {
113126 this . _isInitialized = true ;
114127 }
@@ -117,11 +130,14 @@ export class CopilotStateModel extends Disposable {
117130 return this . _isInitialized ;
118131 }
119132
120- getCounts ( ) : { total : number ; inProgress : number ; error : number } {
133+ getCounts ( owner : string , repo : string ) : { total : number ; inProgress : number ; error : number } {
121134 let inProgressCount = 0 ;
122135 let errorCount = 0 ;
123136
124137 for ( const state of this . _states . values ( ) ) {
138+ if ( state . item . remote . owner !== owner || state . item . remote . repositoryName !== repo ) {
139+ continue ;
140+ }
125141 if ( state . status === CopilotPRStatus . Started ) {
126142 inProgressCount ++ ;
127143 } else if ( state . status === CopilotPRStatus . Failed ) {
@@ -221,14 +237,6 @@ export class CopilotPRWatcher extends Disposable {
221237 }
222238 }
223239
224- private _currentUser : string | undefined ;
225- private async _getCurrentUser ( folderManager : FolderRepositoryManager ) : Promise < string > {
226- if ( ! this . _currentUser ) {
227- this . _currentUser = ( await folderManager . getCurrentUser ( ) ) . login ;
228- }
229- return this . _currentUser ;
230- }
231-
232240 private async _updateSingleState ( pr : PullRequestModel ) : Promise < void > {
233241 const changes : { pullRequestModel : PullRequestModel , status : CopilotPRStatus } [ ] = [ ] ;
234242
0 commit comments