mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-05-07 06:38:11 +03:00
fix(terminal): reconnect suppress next output
Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
@@ -58,8 +58,7 @@ class _TerminalPageState extends State<TerminalPage>
|
||||
super.initState();
|
||||
|
||||
// Listen for tab selection changes to request focus
|
||||
_tabStateSubscription =
|
||||
widget.tabController.state.listen(_onTabStateChanged);
|
||||
_tabStateSubscription = widget.tabController.state.listen(_onTabStateChanged);
|
||||
|
||||
// Use shared FFI instance from connection manager
|
||||
_ffi = TerminalConnectionManager.getConnection(
|
||||
@@ -146,9 +145,7 @@ class _TerminalPageState extends State<TerminalPage>
|
||||
// Use post-frame callback to ensure widget is fully laid out in focus tree
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
// Re-check conditions after frame: mounted, focusable, still selected, not already focused
|
||||
if (!mounted ||
|
||||
!_terminalFocusNode.canRequestFocus ||
|
||||
_terminalFocusNode.hasFocus) return;
|
||||
if (!mounted || !_terminalFocusNode.canRequestFocus || _terminalFocusNode.hasFocus) return;
|
||||
final state = widget.tabController.state.value;
|
||||
if (state.selected >= 0 && state.selected < state.tabs.length) {
|
||||
if (state.tabs[state.selected].key == widget.tabKey) {
|
||||
|
||||
@@ -288,8 +288,7 @@ class TerminalModel with ChangeNotifier {
|
||||
// On reconnect, the server may replay recent output. That replay can include
|
||||
// terminal queries like DSR/DA; xterm answers them through onOutput as
|
||||
// "^[[1;1R^[[2;2R^[[>0;0;0c", which must not be sent back to the peer.
|
||||
_suppressNextTerminalDataOutput =
|
||||
message == 'Reconnected to existing terminal with pending output';
|
||||
_suppressNextTerminalDataOutput = evt['replay_in_next_data'] == true;
|
||||
|
||||
// Fallback: if terminal view is not yet ready but already has valid
|
||||
// dimensions (e.g. layout completed before open response arrived),
|
||||
|
||||
Reference in New Issue
Block a user