From 391ef70007300ab447ecdb374d678fe3f46bee5c Mon Sep 17 00:00:00 2001 From: fufesou <13586388+fufesou@users.noreply.github.com> Date: Mon, 21 Jul 2025 17:15:02 +0800 Subject: [PATCH] fix: terminal, persistent (#12357) Signed-off-by: fufesou --- flutter/lib/desktop/pages/terminal_tab_page.dart | 2 +- src/server/terminal_service.rs | 10 ++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/flutter/lib/desktop/pages/terminal_tab_page.dart b/flutter/lib/desktop/pages/terminal_tab_page.dart index 60f20e8b0..0a681f587 100644 --- a/flutter/lib/desktop/pages/terminal_tab_page.dart +++ b/flutter/lib/desktop/pages/terminal_tab_page.dart @@ -124,7 +124,7 @@ class _TerminalTabPageState extends State { }, setter: (bool v) async { final ffi = Get.find(tag: 'terminal_$peerId'); - bind.sessionToggleOption( + await bind.sessionToggleOption( sessionId: ffi.sessionId, value: kOptionTerminalPersistent, ); diff --git a/src/server/terminal_service.rs b/src/server/terminal_service.rs index a1ff5f18e..558edc2f8 100644 --- a/src/server/terminal_service.rs +++ b/src/server/terminal_service.rs @@ -696,10 +696,7 @@ impl TerminalServiceProxy { opened.success = true; opened.message = "Reconnected to existing terminal".to_string(); opened.pid = session.pid; - // Return service_id for persistent sessions - if self.is_persistent { - opened.service_id = self.service_id.clone(); - } + opened.service_id = self.service_id.clone(); if service.needs_session_sync { if service.sessions.len() > 1 { // No need to include the current terminal in the list. @@ -869,10 +866,7 @@ impl TerminalServiceProxy { opened.success = true; opened.message = "Terminal opened".to_string(); opened.pid = session.pid; - // Return service_id for persistent sessions - if self.is_persistent { - opened.service_id = service.service_id.clone(); - } + opened.service_id = service.service_id.clone(); if service.needs_session_sync { if !service.sessions.is_empty() { opened.persistent_sessions = service.sessions.keys().cloned().collect();