diff --git a/src/auth/auth-manager.ts b/src/auth/auth-manager.ts index 7733d1c6..f7d33c37 100644 --- a/src/auth/auth-manager.ts +++ b/src/auth/auth-manager.ts @@ -12,14 +12,17 @@ import { LocalState } from '@/ctx/local-state' import { ExtConst } from '@/ctx/ext-const' import { UserService } from '@/service/user.service' import { isAuthSessionExpired } from '@/auth/is-auth-session-expired' +import { PostListView } from '@/cmd/post-list/post-list-view' -authProvider.onDidChangeSessions(async () => { +authProvider.onDidChangeSessions(async e => { await AuthManager.ensureSession({ createIfNone: false }) await AuthManager.updateAuthStatus() - accountViewDataProvider.fireTreeDataChangedEvent() - postDataProvider.fireTreeDataChangedEvent() - postCategoryDataProvider.fireTreeDataChangedEvent() + + postCategoryDataProvider.refresh() + + if (e.removed != null) postDataProvider.refresh() + else await PostListView.refresh() await BlogExportProvider.optionalInstance?.refreshRecords({ force: false, clearCache: true }) }) diff --git a/src/tree-view/provider/post-data-provider.ts b/src/tree-view/provider/post-data-provider.ts index 95cd9814..086d3d5d 100644 --- a/src/tree-view/provider/post-data-provider.ts +++ b/src/tree-view/provider/post-data-provider.ts @@ -22,6 +22,10 @@ export class PostDataProvider implements TreeDataProvider { return this._onDidChangeTreeData.event } + refresh(): void { + this._onDidChangeTreeData.fire(undefined) + } + getPage() { return this.page }