[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
This commit is contained in:
Konstantin Hudyakov
2026-08-04 14:03:36 +00:00
committed by intellij-monorepo-bot
parent 3897fc9a63
commit 05c2f9fc3e
@@ -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)
}