@@ -37,6 +37,8 @@ import { ChatParticipant, ChatParticipantState } from './lm/participants';
3737import { registerTools } from './lm/tools/tools' ;
3838import { migrate } from './migrations' ;
3939import { NotificationsFeatureRegister } from './notifications/notificationsFeatureRegistar' ;
40+ import { NotificationsManager } from './notifications/notificationsManager' ;
41+ import { NotificationsProvider } from './notifications/notificationsProvider' ;
4042import { ThemeWatcher } from './themeWatcher' ;
4143import { UriHandler } from './uriHandler' ;
4244import { CommentDecorationProvider } from './view/commentDecorationProvider' ;
@@ -46,7 +48,6 @@ import { FileTypeDecorationProvider } from './view/fileTypeDecorationProvider';
4648import { GitHubCommitFileSystemProvider } from './view/githubFileContentProvider' ;
4749import { getInMemPRFileSystemProvider } from './view/inMemPRContentProvider' ;
4850import { PullRequestChangesTreeDataProvider } from './view/prChangesTreeDataProvider' ;
49- import { PRNotificationDecorationProvider } from './view/prNotificationDecorationProvider' ;
5051import { PullRequestsTreeDataProvider } from './view/prsTreeDataProvider' ;
5152import { ReviewManager , ShowPullRequest } from './view/reviewManager' ;
5253import { ReviewsManager } from './view/reviewsManager' ;
@@ -170,7 +171,13 @@ async function init(
170171 context . subscriptions . push ( treeDecorationProviders ) ;
171172 treeDecorationProviders . registerProviders ( [ new FileTypeDecorationProvider ( ) , new CommentDecorationProvider ( reposManager ) ] ) ;
172173
173- const reviewsManager = new ReviewsManager ( context , reposManager , reviewManagers , tree , changesTree , telemetry , credentialStore , git , copilotRemoteAgentManager ) ;
174+ const notificationsProvider = new NotificationsProvider ( credentialStore , reposManager ) ;
175+ context . subscriptions . push ( notificationsProvider ) ;
176+
177+ const notificationsManager = new NotificationsManager ( notificationsProvider , credentialStore , reposManager , context ) ;
178+ context . subscriptions . push ( notificationsManager ) ;
179+
180+ const reviewsManager = new ReviewsManager ( context , reposManager , reviewManagers , tree , changesTree , telemetry , credentialStore , git , copilotRemoteAgentManager , notificationsManager ) ;
174181 context . subscriptions . push ( reviewsManager ) ;
175182
176183 git . onDidChangeState ( ( ) => {
@@ -218,7 +225,6 @@ async function init(
218225 return ;
219226 }
220227 addRepo ( ) ;
221- tree . notificationProvider . refreshOrLaunchPolling ( ) ;
222228 const disposable = repo . state . onDidChange ( ( ) => {
223229 Logger . appendLine ( `Repo state for ${ repo . rootUri } changed.` , ACTIVATION ) ;
224230 addRepo ( ) ;
@@ -229,14 +235,11 @@ async function init(
229235 git . onDidCloseRepository ( repo => {
230236 reposManager . removeRepo ( repo ) ;
231237 reviewsManager . removeReviewManager ( repo ) ;
232- tree . notificationProvider . refreshOrLaunchPolling ( ) ;
233238 } ) ;
234239
235- tree . initialize ( reviewsManager . reviewManagers . map ( manager => manager . reviewModel ) , credentialStore ) ;
236-
237- context . subscriptions . push ( new PRNotificationDecorationProvider ( tree . notificationProvider ) ) ;
240+ tree . initialize ( reviewsManager . reviewManagers . map ( manager => manager . reviewModel ) , notificationsManager ) ;
238241
239- registerCommands ( context , reposManager , reviewsManager , telemetry , tree , copilotRemoteAgentManager ) ;
242+ registerCommands ( context , reposManager , reviewsManager , telemetry , copilotRemoteAgentManager , notificationsManager ) ;
240243
241244 const layout = vscode . workspace . getConfiguration ( PR_SETTINGS_NAMESPACE ) . get < string > ( FILE_LIST_LAYOUT ) ;
242245 await vscode . commands . executeCommand ( 'setContext' , 'fileListLayout:flat' , layout === 'flat' ) ;
@@ -245,7 +248,7 @@ async function init(
245248 context . subscriptions . push ( issuesFeatures ) ;
246249 await issuesFeatures . initialize ( ) ;
247250
248- const notificationsFeatures = new NotificationsFeatureRegister ( credentialStore , reposManager , telemetry , context ) ;
251+ const notificationsFeatures = new NotificationsFeatureRegister ( credentialStore , reposManager , telemetry , notificationsManager ) ;
249252 context . subscriptions . push ( notificationsFeatures ) ;
250253
251254 context . subscriptions . push ( new GitLensIntegration ( ) ) ;
0 commit comments