davsclaus opened a new pull request, #29631: URL: https://github.com/apache/camel/pull/29631
[CAMEL-26854](https://issues.apache.org/jira/browse/CAMEL-26854): upgrade TamboUI from 0.6.0 to 0.7.0 for the `camel tui` plugin. ## Changes - `tamboui-version` 0.7.0 in `parent/pom.xml`. - `TuiBackendHelper` sets `KeyboardProtocol.LEGACY`. TamboUI 0.7.0 defaults to `AUTO`, which turns on the Kitty keyboard protocol in terminals that support it, and then some keys arrive differently (Ctrl+I vs Tab, Esc and Alt combinations). The local terminal and the web session (`--web`) both get their runner from this helper, so they both use legacy keys. - `TuiBackendHelperRecordingTest` checks the runner uses the legacy protocol. This is the plain upgrade only. Switching to Kitty keys and reviewing the key bindings is a follow-up. ## What changes for users, even with LEGACY The 0.7.0 input parser fixes (tamboui #611, #517) apply in legacy mode as well. Alt+Enter, Alt+Backspace and two quick Escapes now arrive as real keys instead of an Esc plus a key: - Alt+Backspace in a filter deletes one character (word-wise deletion is a follow-up). - Alt+Enter in the AI prompt sends the question, as Enter does. Ctrl+N is still the line break. - Two quick Escapes close two popup levels. ## Testing - All 2508 `camel-jbang-plugin-tui` tests pass on 0.7.0. - Manual walk in a pseudo-terminal (tmux) against a running integration: tabs, F1, F2, Shift+F2 Go to with text input, Backspace and Alt+Backspace, Esc and double Esc, the source editor (F4, Alt+Up/Down moves a route block, discard dialog), the AI prompt (Ctrl+N line break, Alt+Enter, bracketed paste of two lines), mouse click on a tab and on a table row, the mouse wheel, quit. No Kitty push sequence was sent. - Web session (`camel tui --web`) driven over its WebSocket: tabs, F1, Esc, Shift+F2 with text input, mouse; no Kitty push sequence. - Not yet done: a run in a Kitty-protocol terminal (Kitty, Ghostty). ## Follow-ups - Kitty keyboard protocol and the key bindings (Alt+Enter as a line break in the AI prompt). - `TextEditing` + `KeyEvent.isTyping()` (tamboui #612) and word-wise cursor movement (#616). - `Constraint.fit()` for table column widths (#620). - Mouse commands in the tape recorder (#624). - Remove workarounds fixed in 0.7.0 (the list in CAMEL-25580). _Claude Code on behalf of davsclaus_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
