From 43e7dc61f7f64f17f0b9e2e5940213a623edd807 Mon Sep 17 00:00:00 2001 From: sladro Date: Fri, 10 Apr 2026 20:26:11 +0800 Subject: [PATCH] Disable terminal auto resize and reflow on mobile --- apps/mobile_app/lib/features/terminal/terminal_page.dart | 3 ++- .../test/features/terminal/terminal_page_input_test.dart | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/mobile_app/lib/features/terminal/terminal_page.dart b/apps/mobile_app/lib/features/terminal/terminal_page.dart index 0e1cfc3..cd17f40 100644 --- a/apps/mobile_app/lib/features/terminal/terminal_page.dart +++ b/apps/mobile_app/lib/features/terminal/terminal_page.dart @@ -135,7 +135,7 @@ class _TerminalPageState extends ConsumerState _QuickTerminalKey(keyId: 'symbol_dollar', label: r'$', input: r'$'), ]; - final Terminal terminal = Terminal(maxLines: 1000); + final Terminal terminal = Terminal(maxLines: 1000, reflowEnabled: false); final TerminalInteractionController controller = TerminalInteractionController(); final xterm_ui.TerminalController _terminalViewController = @@ -721,6 +721,7 @@ class _TerminalPageState extends ConsumerState controller: _terminalViewController, focusNode: _terminalFocusNode, autofocus: false, + autoResize: false, keyboardType: TextInputType.multiline, deleteDetection: true, readOnly: _inputMode == _TerminalInputMode.read, diff --git a/apps/mobile_app/test/features/terminal/terminal_page_input_test.dart b/apps/mobile_app/test/features/terminal/terminal_page_input_test.dart index 92197b0..5b90b12 100644 --- a/apps/mobile_app/test/features/terminal/terminal_page_input_test.dart +++ b/apps/mobile_app/test/features/terminal/terminal_page_input_test.dart @@ -72,6 +72,15 @@ void main() { expect(terminalView.deleteDetection, isTrue); }); + testWidgets('terminal view disables auto resize and text reflow', (tester) async { + await _pumpTerminalPage(tester); + + final terminalView = tester.widget(find.byType(TerminalView)); + + expect(terminalView.autoResize, isFalse); + expect(terminalView.terminal.reflowEnabled, isFalse); + }); + testWidgets( 'soft keyboard newline is sent as terminal enter after edit mode is selected', (tester) async {