Claus Ibsen created CAMEL-25580:
-----------------------------------
Summary: camel-jbang - Upgrade tamboui to 0.6.x
Key: CAMEL-25580
URL: https://issues.apache.org/jira/browse/CAMEL-25580
Project: Camel
Issue Type: Dependency upgrade
Components: camel-jbang
Reporter: Claus Ibsen
TamboUI 0.6.0 is not released yet. It will contain many fixes that came out of
the Camel TUI work; the TamboUI PRs are tracked in
https://github.com/davsclaus/tamboui/issues/4 and
https://github.com/davsclaus/tamboui/issues/5. This ticket tracks the upgrade
and the Camel-side changes it needs or makes possible.
*Changes that affect Camel*
* {{TickEvent.elapsed()}} is removed
(https://github.com/tamboui/tamboui/pull/548). Ticks become redraw pulses, and
animations measure time at the render with a monotonic clock. Camel never calls
{{elapsed()}}, but its own timers use {{System.currentTimeMillis()}}. They move
to a monotonic clock first, in a separate PR.
* {{Paragraph}} always uses a hanging indent now
(https://github.com/tamboui/tamboui/pull/461). The Log tab counts wrapped rows
itself for follow mode, so it will undercount indented stack-trace lines.
Switch to {{Paragraph.lineCount(width)}}
(https://github.com/tamboui/tamboui/pull/545).
* TamboUI's JLine backend is built against JLine 3.25.1, while Camel uses JLine
4.4.7. Verify the 0.6.0 backend with JLine 4.
*Camel workarounds that can go once the TamboUI fixes are released*
* Text input handling, about 16 copies, can use {{TextEditing.handle}}
(https://github.com/tamboui/tamboui/pull/544). The AI prompt can move the
cursor by grapheme cluster, since {{GraphemeClusters}} is public
(https://github.com/tamboui/tamboui/pull/470).
* {{TuiHelper.ansiToLine}} and {{stripAnsi}} can use {{Text.fromAnsi}}
(https://github.com/tamboui/tamboui/pull/542).
* The {{SyntaxHighlighter}} overlay can use {{TextArea.highlighter}} once its
YAML rule is fixed (https://github.com/tamboui/tamboui/pull/546,
https://github.com/tamboui/tamboui/pull/547).
* {{AbstractTab.clampTableOffset}} can go
(https://github.com/tamboui/tamboui/pull/507).
* {{TuiHelper.fitLine}}/{{truncate}} can use {{Overflow.ELLIPSIS}} for
paragraphs and block titles (https://github.com/tamboui/tamboui/pull/520,
https://github.com/tamboui/tamboui/pull/536,
https://github.com/tamboui/tamboui/pull/540).
* {{AiPanel.quoteQuestion}} can go
(https://github.com/tamboui/tamboui/pull/503).
* The blank list-item spacers in the example browser can go
(https://github.com/tamboui/tamboui/pull/509).
* The {{NullPointerException}} catch in {{TuiWebServer}}, for when a browser
disconnects, can go (https://github.com/tamboui/tamboui/pull/543).
*Behaviour changes to check after the upgrade*
* Ticks no longer pile up when rendering is slow
(https://github.com/tamboui/tamboui/pull/482).
* A bracketed paste is read until its end marker
(https://github.com/tamboui/tamboui/pull/477).
* Esc, Alt and other key sequences are parsed differently
(https://github.com/tamboui/tamboui/pull/476,
https://github.com/tamboui/tamboui/pull/517).
Some of these PRs are still open; check which ones are in the 0.6.0 release
notes.
_Claude Code on behalf of davsclaus_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)