Navi Code TUI: fix input box layout, command palette duplicate IDs, status renderer, and WS input loop
- clients/terminal/tui/widgets/input_box.py: switch Horizontal to Vertical with width: 100% for Input so it renders and accepts input in real terminals; add refresh on Input.Changed.
- clients/terminal/tui/screens/command_palette.py: remove fixed ListItem IDs to avoid DuplicateIds on fast filter.
- clients/terminal/tui/chat_model.py + renderers/status.py + widgets/chat_panel.py: render backend status events as dim system messages instead of raw dicts.
- clients/terminal/tui/ws_bridge.py: start NaviWebSocketClient.input_loop so enqueued user messages are actually sent to the backend.
- clients/terminal/tui/tui_app.py: focus InputBox synchronously in on_mount so typing works immediately.
- tests/clients/test_tui_app.py: regression test for visible input text.

Co-Authored-By: Claude <noreply@anthropic.com>
1 parent aaba87e commit 77af8fef32fa7cf40c33a7aa226106d45a6e9220
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 10 hours ago
Showing 11 changed files
View
clients/terminal/tui/chat_model.py
View
clients/terminal/tui/renderers/__init__.py
View
clients/terminal/tui/renderers/status.py 0 → 100644
View
clients/terminal/tui/screens/command_palette.py
View
clients/terminal/tui/tui_app.py
View
clients/terminal/tui/widgets/chat_panel.py
View
clients/terminal/tui/widgets/input_box.py
View
clients/terminal/tui/ws_bridge.py
View
navi/core/agent.py
View
navi/core/compressor.py
View
tests/clients/test_tui_app.py