diff --git a/platform/vcs-impl/resources/META-INF/VcsExtensions.xml b/platform/vcs-impl/resources/META-INF/VcsExtensions.xml
index 2e6ae37844f7..7c457a391414 100644
--- a/platform/vcs-impl/resources/META-INF/VcsExtensions.xml
+++ b/platform/vcs-impl/resources/META-INF/VcsExtensions.xml
@@ -419,8 +419,6 @@
topic="com.intellij.openapi.vcs.changes.shelf.ShelveChangesManagerListener"/>
-
diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.kt b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.kt
index f4874bc3bcfc..eddd55309198 100644
--- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.kt
+++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ChangesViewManager.kt
@@ -28,12 +28,14 @@ import com.intellij.ui.components.JBLabel
import com.intellij.ui.components.panels.Wrapper
import com.intellij.ui.content.Content
import com.intellij.util.ModalityUiUtil.invokeLaterIfNeeded
+import com.intellij.util.cancelOnDispose
import com.intellij.util.concurrency.annotations.RequiresEdt
import com.intellij.util.ui.JBDimension
import com.intellij.util.ui.JBUI
import com.intellij.util.ui.JBUI.Panels
import com.intellij.util.ui.UIUtil
import com.intellij.util.ui.components.BorderLayoutPanel
+import com.intellij.util.ui.launchOnShow
import com.intellij.vcs.changes.viewModel.ChangesViewProxy
import com.intellij.vcs.commit.*
import com.intellij.vcs.commit.CommitModeManager.Companion.subscribeOnCommitModeChange
@@ -212,6 +214,10 @@ class ChangesViewManager internal constructor(private val project: Project, priv
val mainPanel = Panels.simplePanel(mainPanelContent).addToBottom(progressLabel)
setContent(mainPanel)
+ mainPanel.launchOnShow("Changes refresh on changes show") {
+ ChangeListManagerRefreshHelper.requestRefresh(project)
+ }.cancelOnDispose(this)
+
busConnection.subscribeOnVcsToolWindowLayoutChanges(Runnable { this.updatePanelLayout() })
updatePanelLayout()
}
diff --git a/platform/vcs-impl/src/com/intellij/vcs/commit/ChangesViewToolWindowRefresher.kt b/platform/vcs-impl/src/com/intellij/vcs/commit/ChangesViewToolWindowRefresher.kt
deleted file mode 100644
index b8be21f3ad2d..000000000000
--- a/platform/vcs-impl/src/com/intellij/vcs/commit/ChangesViewToolWindowRefresher.kt
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
-package com.intellij.vcs.commit
-
-import com.intellij.openapi.project.Project
-import com.intellij.openapi.vcs.changes.ChangeListManagerRefreshHelper
-import com.intellij.openapi.vcs.changes.ui.ChangesViewContentManager
-import com.intellij.openapi.vcs.changes.ui.ChangesViewContentManager.Companion.LOCAL_CHANGES
-import com.intellij.openapi.wm.ToolWindow
-import com.intellij.openapi.wm.ex.ToolWindowManagerListener
-
-private class ChangesViewToolWindowRefresher(private val project: Project) : ToolWindowManagerListener {
- override fun toolWindowShown(toolWindow: ToolWindow) {
- if (ChangesViewContentManager.getToolWindowIdFor(project, LOCAL_CHANGES) == toolWindow.id) {
- ChangeListManagerRefreshHelper.requestRefresh(project)
- }
- }
-}
\ No newline at end of file
diff --git a/plugins/git4idea/src/git4idea/index/ui/GitStagePanel.kt b/plugins/git4idea/src/git4idea/index/ui/GitStagePanel.kt
index d0ea409fa6d9..1e590a61e800 100644
--- a/plugins/git4idea/src/git4idea/index/ui/GitStagePanel.kt
+++ b/plugins/git4idea/src/git4idea/index/ui/GitStagePanel.kt
@@ -173,6 +173,10 @@ internal class GitStagePanel(
})
commitWorkflowHandler.workflow.addListener(MyCommitWorkflowListener(), this)
+ launchOnShow("Changes refresh on changes show") {
+ ChangeListManagerRefreshHelper.requestRefresh(project)
+ }.cancelOnDispose(this)
+
if (isRefreshInProgress()) {
tree.setEmptyText(message("stage.loading.status"))
progressStripe.startLoadingImmediately()