From 05c2f9fc3e667a701afd973d0331a7d2bfd4eced Mon Sep 17 00:00:00 2001 From: Konstantin Hudyakov Date: Thu, 9 Jul 2026 10:25:09 +0300 Subject: [PATCH] [terminal] IJPL-212254 Refactor: drop sessionId from the tabs builder It was necessary for the case of restoring tabs on reconnection in RemDev. Now restored tabs are guaranteed to have no sessionId because there are no reconnects and `TerminalTabsManager` lives on the frontend. (cherry picked from commit 2a89ffa5c764fa2a6a4d2c01c84c24a43411167f) IJ-CR-214214 GitOrigin-RevId: a53bb87b90615de8642c845a53cd351c957f2fe8 --- .../impl/TerminalToolWindowTabsManagerImpl.kt | 20 +++---------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/plugins/terminal/frontend/src/com/intellij/terminal/frontend/toolwindow/impl/TerminalToolWindowTabsManagerImpl.kt b/plugins/terminal/frontend/src/com/intellij/terminal/frontend/toolwindow/impl/TerminalToolWindowTabsManagerImpl.kt index d9633da1ac5a..8c5bb4c31636 100644 --- a/plugins/terminal/frontend/src/com/intellij/terminal/frontend/toolwindow/impl/TerminalToolWindowTabsManagerImpl.kt +++ b/plugins/terminal/frontend/src/com/intellij/terminal/frontend/toolwindow/impl/TerminalToolWindowTabsManagerImpl.kt @@ -334,15 +334,9 @@ internal class TerminalToolWindowTabsManagerImpl( backendTabId: Int, calculateSizeFromComponent: Boolean, ) = terminal.coroutineScope.launch { - if (builder.sessionId != null) { - // Session is already started for this tab, reuse it - connectSessionToTerminal(terminal, builder.sessionId!!) - } - else { - val options = prepareStartupOptions(terminal, builder, calculateSizeFromComponent) - val sessionTab = TerminalTabsManager.getInstance(project).startTerminalSessionForTab(backendTabId, options) - connectSessionToTerminal(terminal, sessionTab.sessionId!!) - } + val options = prepareStartupOptions(terminal, builder, calculateSizeFromComponent) + val sessionTab = TerminalTabsManager.getInstance(project).startTerminalSessionForTab(backendTabId, options) + connectSessionToTerminal(terminal, sessionTab.sessionId!!) } private suspend fun prepareStartupOptions( @@ -445,7 +439,6 @@ internal class TerminalToolWindowTabsManagerImpl( tabName(tab.name) userDefinedName(tab.isUserDefinedName) backendTabId(tab.id) - sessionId(tab.sessionId) requestFocus(false) // Otherwise it may trigger the tool window showing // Pass null as a trigger time because we don't need to track latency in this case. startupFusInfo(TerminalStartupFusInfo(TerminalTabOpeningWay.TABS_RESTORE, triggerTime = null)) @@ -493,8 +486,6 @@ internal class TerminalToolWindowTabsManagerImpl( var backendTabId: Int? = null private set - var sessionId: TerminalSessionId? = null - private set override fun workingDirectory(directory: String?): TerminalToolWindowTabBuilder { workingDirectory = directory @@ -566,11 +557,6 @@ internal class TerminalToolWindowTabsManagerImpl( return this } - fun sessionId(id: TerminalSessionId?): TerminalToolWindowTabBuilder { - sessionId = id - return this - } - override fun createTab(): TerminalToolWindowTab { return createTab(this) }