From a39dc5ddfd05b15dedc2533a2e94da2554ab1985 Mon Sep 17 00:00:00 2001 From: kirillk Date: Tue, 11 Aug 2026 10:47:34 -0400 Subject: [PATCH] fix(jetbrains): restore history back context --- .../ai/kilocode/client/actions/HistoryAction.kt | 14 ++++++++++---- .../worktree/WorktreeSessionEditorManager.kt | 2 +- .../ai/kilocode/client/session/SessionManager.kt | 2 +- .../client/session/SessionSidePanelManager.kt | 10 +++++++++- .../main/resources/messages/KiloBundle.properties | 2 +- .../resources/messages/KiloBundle_ar.properties | 1 + .../resources/messages/KiloBundle_bs.properties | 1 + .../resources/messages/KiloBundle_da.properties | 1 + .../resources/messages/KiloBundle_de.properties | 1 + .../resources/messages/KiloBundle_es.properties | 1 + .../resources/messages/KiloBundle_fr.properties | 1 + .../resources/messages/KiloBundle_ja.properties | 1 + .../resources/messages/KiloBundle_ko.properties | 1 + .../resources/messages/KiloBundle_nl.properties | 1 + .../resources/messages/KiloBundle_no.properties | 1 + .../resources/messages/KiloBundle_pl.properties | 1 + .../resources/messages/KiloBundle_pt_BR.properties | 1 + .../resources/messages/KiloBundle_ru.properties | 1 + .../resources/messages/KiloBundle_th.properties | 1 + .../resources/messages/KiloBundle_tr.properties | 1 + .../resources/messages/KiloBundle_uk.properties | 1 + .../resources/messages/KiloBundle_zh_CN.properties | 1 + .../resources/messages/KiloBundle_zh_TW.properties | 1 + .../client/actions/HistorySessionActionsTest.kt | 2 +- .../client/actions/NewSessionActionTest.kt | 2 +- .../client/session/SessionSidePanelManagerTest.kt | 13 +++++++++++++ .../client/session/SessionUiFactoryTest.kt | 2 +- .../kilocode/client/session/SessionUiTestBase.kt | 2 +- .../session/history/HistoryControllerTest.kt | 8 ++++---- 29 files changed, 61 insertions(+), 16 deletions(-) diff --git a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/actions/HistoryAction.kt b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/actions/HistoryAction.kt index 04fb75046a4..adda52d5677 100644 --- a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/actions/HistoryAction.kt +++ b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/actions/HistoryAction.kt @@ -11,6 +11,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent import com.intellij.openapi.actionSystem.DataProvider import com.intellij.openapi.actionSystem.PlatformDataKeys import com.intellij.openapi.project.DumbAware +import com.intellij.ui.content.Content class HistoryAction : AnAction( KiloBundle.message("action.Kilo.History.text"), @@ -20,16 +21,17 @@ class HistoryAction : AnAction( override fun actionPerformed(e: AnActionEvent) { val manager = e.getData(SessionManager.KEY) ?: return Telemetry.send("History Opened", mapOf("surface" to "tool_window")) - // History renders inside the chat content, which only lives on the AI Chat tab, so bring - // that tab forward first when invoked from the Agent Manager tab. - if (e.getData(SidePanelKeys.MODE) == SidePanelMode.AGENT_MANAGER) selectChat(e) - manager.showHistory() + val agent = if (e.getData(SidePanelKeys.MODE) == SidePanelMode.AGENT_MANAGER) selected(e) else null + if (agent != null) selectChat(e) + manager.showHistory(agent?.let { { select(e, it) } }) } override fun update(e: AnActionEvent) { e.presentation.isEnabled = e.getData(SessionManager.KEY) != null } + private fun selected(e: AnActionEvent) = e.getData(PlatformDataKeys.TOOL_WINDOW)?.contentManager?.selectedContent + private fun selectChat(e: AnActionEvent) { val manager = e.getData(PlatformDataKeys.TOOL_WINDOW)?.contentManager ?: return val chat = manager.contents.firstOrNull { @@ -37,4 +39,8 @@ class HistoryAction : AnAction( } ?: return manager.setSelectedContent(chat, true) } + + private fun select(e: AnActionEvent, content: Content) { + e.getData(PlatformDataKeys.TOOL_WINDOW)?.contentManager?.setSelectedContent(content, true) + } } diff --git a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/agentManager/worktree/WorktreeSessionEditorManager.kt b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/agentManager/worktree/WorktreeSessionEditorManager.kt index 49aab8260da..af0d8ddd601 100644 --- a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/agentManager/worktree/WorktreeSessionEditorManager.kt +++ b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/agentManager/worktree/WorktreeSessionEditorManager.kt @@ -110,7 +110,7 @@ open class WorktreeSessionEditorManager( } @RequiresEdt - override fun showHistory() { + override fun showHistory(back: (() -> Unit)?) { list.reload() onListChanged?.invoke() } diff --git a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionManager.kt b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionManager.kt index b74c97c5ed2..1effc1d3c48 100644 --- a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionManager.kt +++ b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionManager.kt @@ -12,7 +12,7 @@ interface SessionManager { fun newSession() - fun showHistory() + fun showHistory(back: (() -> Unit)? = null) fun openSession(ref: SessionRef) diff --git a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionSidePanelManager.kt b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionSidePanelManager.kt index 1dacf416780..5c5eea29256 100644 --- a/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionSidePanelManager.kt +++ b/packages/kilo-jetbrains/frontend/src/main/kotlin/ai/kilocode/client/session/SessionSidePanelManager.kt @@ -47,6 +47,7 @@ class SessionSidePanelManager( } private var panel: JComponent? = null + private var historyBack: (() -> Unit)? = null val defaultFocusedComponent: JComponent? get() = currentUi()?.defaultFocusedComponent ?: (panel as? HistoryPanel)?.defaultFocusedComponent @@ -57,7 +58,8 @@ class SessionSidePanelManager( } @RequiresEdt - override fun showHistory() { + override fun showHistory(back: (() -> Unit)?) { + historyBack = back val active = currentUi() register(active) release(active) @@ -94,6 +96,12 @@ class SessionSidePanelManager( @RequiresEdt private fun back() { + val callback = historyBack + historyBack = null + if (callback != null) { + callback() + return + } val ui = latestUi() if (ui != null) { show(ui) diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties index b0fdaf4d220..029ea29f5e1 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle.properties @@ -365,7 +365,7 @@ worktree.session.rename.failed.title=Failed to rename session "{0}" worktree.session.new=New session worktree.session.untitled=Untitled session worktree.menu.from=New Worktree from {0} -worktree.menu.configure=Configure new worktree +worktree.menu.configure=Configure New Worktree... worktree.configure.title=New Worktree worktree.configure.branch=Branch name: worktree.configure.base=Base branch: diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ar.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ar.properties index 42610a0aa1d..4ce43cad2a3 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ar.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ar.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=أدخل نمط glob لتجاهله: # Auto-Approve settings settings.autoApprove.edit=تحرير +worktree.menu.configure=تكوين Worktree جديد... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_bs.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_bs.properties index 91e01f95141..8266688ef9b 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_bs.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_bs.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Unesite glob uzorak za ignoriranje: # Auto-Approve settings settings.autoApprove.edit=Uredi +worktree.menu.configure=Konfiguriši novi worktree... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_da.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_da.properties index 1383c8f9c44..d9fef8b3352 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_da.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_da.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Indtast et glob-mønster, der skal ignorer # Auto-Approve settings settings.autoApprove.edit=Rediger +worktree.menu.configure=Konfigurer nyt worktree... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_de.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_de.properties index 598b2c11b77..c6d478fd47e 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_de.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_de.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Glob-Muster zum Ignorieren eingeben: # Auto-Approve settings settings.autoApprove.edit=Bearbeiten +worktree.menu.configure=Neuen Worktree konfigurieren... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_es.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_es.properties index 344de8e9467..c74a5734ecc 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_es.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_es.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Introduce un patrón glob para ignorar: # Auto-Approve settings settings.autoApprove.edit=Editar +worktree.menu.configure=Configurar nuevo worktree... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_fr.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_fr.properties index c09dce01edb..49d4658741e 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_fr.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_fr.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Saisissez un motif glob à ignorer : # Auto-Approve settings settings.autoApprove.edit=Modifier +worktree.menu.configure=Configurer un nouveau worktree... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ja.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ja.properties index ae011ad81d3..5fd55843cf7 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ja.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ja.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=無視するglobパターンを入力し # Auto-Approve settings settings.autoApprove.edit=編集 +worktree.menu.configure=新しいワークツリーを設定... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ko.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ko.properties index 0afc7549a47..10ccd7c803e 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ko.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ko.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=무시할 glob 패턴을 입력하세요: # Auto-Approve settings settings.autoApprove.edit=편집 +worktree.menu.configure=새 워크트리 구성... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_nl.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_nl.properties index ebd3c697179..75e0585329b 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_nl.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_nl.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Voer een glob-patroon in om te negeren: # Auto-Approve settings settings.autoApprove.edit=Bewerken +worktree.menu.configure=Nieuwe worktree configureren... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_no.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_no.properties index 6a03c40232a..eb2324efa7f 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_no.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_no.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Skriv inn et glob-mønster som skal ignore # Auto-Approve settings settings.autoApprove.edit=Rediger +worktree.menu.configure=Konfigurer nytt worktree... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pl.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pl.properties index 9495b5a224d..775483aae25 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pl.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pl.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Wpisz wzorzec glob do ignorowania: # Auto-Approve settings settings.autoApprove.edit=Edytuj +worktree.menu.configure=Skonfiguruj nowy worktree... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pt_BR.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pt_BR.properties index 3b6a69e414d..b7d18355d49 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pt_BR.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_pt_BR.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Digite um padrão glob para ignorar: # Auto-Approve settings settings.autoApprove.edit=Editar +worktree.menu.configure=Configurar novo worktree... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ru.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ru.properties index 50920770978..ef587a9a60a 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ru.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_ru.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Введите glob-шаблон для и # Auto-Approve settings settings.autoApprove.edit=Изменить +worktree.menu.configure=Настроить новое рабочее дерево... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_th.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_th.properties index 0d5b6c363ff..ff6d25372ab 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_th.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_th.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=ป้อนรูปแบบ glob ที # Auto-Approve settings settings.autoApprove.edit=แก้ไข +worktree.menu.configure=กำหนดค่า worktree ใหม่... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_tr.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_tr.properties index f3a1c986195..5cdea4fc62c 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_tr.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_tr.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Yok sayılacak bir glob kalıbı girin: # Auto-Approve settings settings.autoApprove.edit=Düzenle +worktree.menu.configure=Yeni worktree yapılandır... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_uk.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_uk.properties index 7ab35b6970f..8d2781f1e48 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_uk.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_uk.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=Введіть glob-шаблон для і # Auto-Approve settings settings.autoApprove.edit=Редагувати +worktree.menu.configure=Налаштувати нове робоче дерево... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_CN.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_CN.properties index 7905d906475..8018cc6ba7c 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_CN.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_CN.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=输入要忽略的 glob 模式: # Auto-Approve settings settings.autoApprove.edit=编辑 +worktree.menu.configure=配置新工作树... diff --git a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_TW.properties b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_TW.properties index 1f42649ba93..67a32860536 100644 --- a/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_TW.properties +++ b/packages/kilo-jetbrains/frontend/src/main/resources/messages/KiloBundle_zh_TW.properties @@ -461,3 +461,4 @@ settings.context.watcher.input.prompt=輸入要忽略的 glob 模式: # Auto-Approve settings settings.autoApprove.edit=編輯 +worktree.menu.configure=設定新工作樹... diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/HistorySessionActionsTest.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/HistorySessionActionsTest.kt index d5ee54489aa..9a820aa115e 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/HistorySessionActionsTest.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/HistorySessionActionsTest.kt @@ -441,7 +441,7 @@ class HistorySessionActionsTest : BasePlatformTestCase() { private class FakeManager : SessionManager { override fun newSession() {} - override fun showHistory() {} + override fun showHistory(back: (() -> Unit)?) {} override fun openSession(ref: SessionRef) {} } } diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/NewSessionActionTest.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/NewSessionActionTest.kt index 9d18dac4407..16264fd7a45 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/NewSessionActionTest.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/actions/NewSessionActionTest.kt @@ -50,7 +50,7 @@ class NewSessionActionTest : BasePlatformTestCase() { created++ } - override fun showHistory() { + override fun showHistory(back: (() -> Unit)?) { } override fun openSession(ref: SessionRef) { diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionSidePanelManagerTest.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionSidePanelManagerTest.kt index 6c5099b3e8c..f6ca4709e81 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionSidePanelManagerTest.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionSidePanelManagerTest.kt @@ -138,6 +138,19 @@ class SessionSidePanelManagerTest : BasePlatformTestCase() { assertSame(history.defaultFocusedComponent, manager.defaultFocusedComponent) } + fun `test history back callback overrides local session fallback`() { + val manager = manager() + var calls = 0 + + manager.newSession() + manager.showHistory { calls++ } + settle() + val history = active(manager) as HistoryPanel + history.clickBack() + + assertEquals(1, calls) + } + fun `test opening same existing session reuses component`() { useLongInactiveDisposeTimeout() val manager = manager() diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiFactoryTest.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiFactoryTest.kt index 30160c71c5f..b8bf31f4f2b 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiFactoryTest.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiFactoryTest.kt @@ -123,7 +123,7 @@ class SessionUiFactoryTest : BasePlatformTestCase() { override fun newSession() { } - override fun showHistory() { + override fun showHistory(back: (() -> Unit)?) { history++ } diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiTestBase.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiTestBase.kt index 8f1ca79143e..4ca070aded3 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiTestBase.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/SessionUiTestBase.kt @@ -92,7 +92,7 @@ abstract class SessionUiTestBase : BasePlatformTestCase() { val manager = open?.let { fn -> object : SessionManager { override fun newSession() {} - override fun showHistory() {} + override fun showHistory(back: (() -> Unit)?) {} override fun openSession(ref: SessionRef) = fn(ref) } } diff --git a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/history/HistoryControllerTest.kt b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/history/HistoryControllerTest.kt index 19cd05a9798..f8f94ad4f3f 100644 --- a/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/history/HistoryControllerTest.kt +++ b/packages/kilo-jetbrains/frontend/src/test/kotlin/ai/kilocode/client/session/history/HistoryControllerTest.kt @@ -239,7 +239,7 @@ class HistoryControllerTest : BasePlatformTestCase() { rpc.listed += session("ses_1", "Local One") val panel = HistoryPanel(parent, controller(), manager = object : SessionManager { override fun newSession() {} - override fun showHistory() {} + override fun showHistory(back: (() -> Unit)?) {} override fun openSession(ref: SessionRef) {} override fun activity() = mapOf("ses_1" to SessionActivityKind.PERMISSION) }) @@ -255,7 +255,7 @@ class HistoryControllerTest : BasePlatformTestCase() { var kind: SessionActivityKind? = null val panel = HistoryPanel(parent, controller(), manager = object : SessionManager { override fun newSession() {} - override fun showHistory() {} + override fun showHistory(back: (() -> Unit)?) {} override fun openSession(ref: SessionRef) {} override fun activity() = sessions.activitySnapshot() + kind?.let { mapOf("ses_1" to it) }.orEmpty() }) @@ -276,7 +276,7 @@ class HistoryControllerTest : BasePlatformTestCase() { var title = "Live" val panel = HistoryPanel(parent, controller(), manager = object : SessionManager { override fun newSession() {} - override fun showHistory() {} + override fun showHistory(back: (() -> Unit)?) {} override fun openSession(ref: SessionRef) {} override fun titles() = title.takeIf { it.isNotBlank() }?.let { mapOf("ses_1" to it) }.orEmpty() }) @@ -946,7 +946,7 @@ class HistoryControllerTest : BasePlatformTestCase() { private class FakeManager : SessionManager { override fun newSession() {} - override fun showHistory() {} + override fun showHistory(back: (() -> Unit)?) {} override fun openSession(ref: SessionRef) {} }