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)

Reply via email to