Claus Ibsen created CAMEL-26783:
-----------------------------------
Summary: camel-jbang - Upgrade TamboUI to 0.7.0
Key: CAMEL-26783
URL: https://issues.apache.org/jira/browse/CAMEL-26783
Project: Camel
Issue Type: Dependency upgrade
Components: camel-jbang
Reporter: Claus Ibsen
Fix For: 4.24.0
TamboUI 0.7.0 was released on 2026-11-09 and is on Maven Central (we are on
0.6.0, see CAMEL-25580).
Release notes: https://github.com/tamboui/tamboui/releases/tag/v0.7.0
h3. Kitty keyboard protocol: better key bindings
0.7.0 supports the [Kitty keyboard
protocol|https://sw.kovidgoyal.net/kitty/keyboard-protocol/] (tamboui#592,
#610). The default AUTO mode enables it, and a terminal without support ignores
it and stays in legacy mode. With it, key events carry reliable modifiers
(ctrl, alt, shift, super), so combinations that legacy terminals send as plain
Enter (or not at all) can be told apart:
* *AI prompt:* Ctrl+N inserts a line break today, because "terminals deliver
Shift+Enter and Alt+Enter as plain Enter or nothing" ({{AiPanel}}). Use
Shift+Enter (and Alt+Enter) for a line break, and keep Ctrl+N as the fallback
for terminals without the protocol.
* *Ctrl+Enter:* for example to send or apply in the editors and prompts (source
editor, Timeline AI prompt, expression evaluation).
* Check the other places where a binding was picked around missing modifiers,
and the help/footer texts that list them.
* {{ShellPanel}} encodes TamboUI key events as ANSI sequences for the embedded
terminal; check that modifiers are encoded.
* Bindings files are now loaded deterministically (last one wins), with an OS
overlay {{<binding>-<os>.properties}} (tamboui#627), e.g. Cmd on macOS instead
of Ctrl.
h3. Fixes that may let us remove workarounds
Check each against our code and remove the Camel side where it is no longer
needed:
* {{KeyEvent.isTyping()}} and {{TextEditing}} (tamboui#612): our own text input
handling (AI prompt, filters, captions, popups) could move to it. Word-wise
editing (Ctrl+Left/Right, Ctrl+Backspace/Delete, tamboui#616) then comes for
free.
* Key decoding: one key press running a handler several times (tamboui#481),
sequences decoded as other keys or swallowing the next key (tamboui#517),
ESC-prefix Alt keys / modifyOtherKeys / legacy Alt+control (tamboui#611), vim
and emacs bindings fixes (tamboui#522, #492).
* Rendering: {{text()}} with {{\n}} renders each line on its own row
(tamboui#469), wide characters, VS16 and grapheme clusters (tamboui#478, #619),
screen cleared before the first frame (tamboui#618), markdown quotes/tables in
lists and ellipsis styling (tamboui#503, #520), canvas and chart hangs
(tamboui#526, #603, #490), layout spacing and {{Fill(0)}} (tamboui#468).
* Tables: content-based column widths with {{Constraint.fit()}} (tamboui#620)
may replace some of our own column width code.
h3. Behaviour changes to check
The release notes warn that these fixes can break an app that worked around the
old behaviour:
* The focused element now receives Tab before focus cycling (tamboui#617).
* Right and middle mouse PRESS events now reach element handlers (tamboui#622).
h3. Not in 0.7.0
These upstream PRs from the Camel side are still open, so the workarounds stay
for now: {{Paragraph.lineCount(width)}} (tamboui#545, our
{{TuiHelper.wrappedRows}}), {{Text.fromAnsi}} (tamboui#542), and the YAML
highlighter fixes (tamboui#546, #547).
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)