@@ -37,6 +37,8 @@ import { ChatParticipant, ChatParticipantState } from './lm/participants';
37
37
import { registerTools } from './lm/tools/tools' ;
38
38
import { migrate } from './migrations' ;
39
39
import { NotificationsFeatureRegister } from './notifications/notificationsFeatureRegistar' ;
40
+ import { NotificationsManager } from './notifications/notificationsManager' ;
41
+ import { NotificationsProvider } from './notifications/notificationsProvider' ;
40
42
import { ThemeWatcher } from './themeWatcher' ;
41
43
import { UriHandler } from './uriHandler' ;
42
44
import { CommentDecorationProvider } from './view/commentDecorationProvider' ;
@@ -46,7 +48,6 @@ import { FileTypeDecorationProvider } from './view/fileTypeDecorationProvider';
46
48
import { GitHubCommitFileSystemProvider } from './view/githubFileContentProvider' ;
47
49
import { getInMemPRFileSystemProvider } from './view/inMemPRContentProvider' ;
48
50
import { PullRequestChangesTreeDataProvider } from './view/prChangesTreeDataProvider' ;
49
- import { PRNotificationDecorationProvider } from './view/prNotificationDecorationProvider' ;
50
51
import { PullRequestsTreeDataProvider } from './view/prsTreeDataProvider' ;
51
52
import { ReviewManager , ShowPullRequest } from './view/reviewManager' ;
52
53
import { ReviewsManager } from './view/reviewsManager' ;
@@ -170,7 +171,13 @@ async function init(
170
171
context . subscriptions . push ( treeDecorationProviders ) ;
171
172
treeDecorationProviders . registerProviders ( [ new FileTypeDecorationProvider ( ) , new CommentDecorationProvider ( reposManager ) ] ) ;
172
173
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 ) ;
174
181
context . subscriptions . push ( reviewsManager ) ;
175
182
176
183
git . onDidChangeState ( ( ) => {
@@ -218,7 +225,6 @@ async function init(
218
225
return ;
219
226
}
220
227
addRepo ( ) ;
221
- tree . notificationProvider . refreshOrLaunchPolling ( ) ;
222
228
const disposable = repo . state . onDidChange ( ( ) => {
223
229
Logger . appendLine ( `Repo state for ${ repo . rootUri } changed.` , ACTIVATION ) ;
224
230
addRepo ( ) ;
@@ -229,14 +235,11 @@ async function init(
229
235
git . onDidCloseRepository ( repo => {
230
236
reposManager . removeRepo ( repo ) ;
231
237
reviewsManager . removeReviewManager ( repo ) ;
232
- tree . notificationProvider . refreshOrLaunchPolling ( ) ;
233
238
} ) ;
234
239
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 ) ;
238
241
239
- registerCommands ( context , reposManager , reviewsManager , telemetry , tree , copilotRemoteAgentManager ) ;
242
+ registerCommands ( context , reposManager , reviewsManager , telemetry , copilotRemoteAgentManager , notificationsManager ) ;
240
243
241
244
const layout = vscode . workspace . getConfiguration ( PR_SETTINGS_NAMESPACE ) . get < string > ( FILE_LIST_LAYOUT ) ;
242
245
await vscode . commands . executeCommand ( 'setContext' , 'fileListLayout:flat' , layout === 'flat' ) ;
@@ -245,7 +248,7 @@ async function init(
245
248
context . subscriptions . push ( issuesFeatures ) ;
246
249
await issuesFeatures . initialize ( ) ;
247
250
248
- const notificationsFeatures = new NotificationsFeatureRegister ( credentialStore , reposManager , telemetry , context ) ;
251
+ const notificationsFeatures = new NotificationsFeatureRegister ( credentialStore , reposManager , telemetry , notificationsManager ) ;
249
252
context . subscriptions . push ( notificationsFeatures ) ;
250
253
251
254
context . subscriptions . push ( new GitLensIntegration ( ) ) ;
0 commit comments