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();