You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2026/06/24 16:32:44 UTC

(camel) branch main updated: CAMEL-23818: fix stray characters when scrolling Actions menu over emoji rows

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 2d7da6444948 CAMEL-23818: fix stray characters when scrolling Actions menu over emoji rows
2d7da6444948 is described below

commit 2d7da644494856adc345b242dcd884a7f0f27ca0
Author: Karol Krawczyk <10...@users.noreply.github.com>
AuthorDate: Wed Jun 24 18:32:37 2026 +0200

    CAMEL-23818: fix stray characters when scrolling Actions menu over emoji rows
    
    Swap three Actions menu (F2) emoji labels from text-default + VS16
    presentation sequences to plain 2-wide emoji. TamboUI mismeasures
    base-glyph + VS16 sequences as 1-wide, causing the buffer to drift
    out of sync and leaving stray characters when scrolling. Root cause
    is fixed upstream in tamboui/tamboui#388; revert this workaround
    once that TamboUI release is adopted.
    
    Closes #24235
    
    Co-Authored-By: Claude Opus 4.8 (1M context) <no...@anthropic.com>
---
 .../camel/dsl/jbang/core/commands/tui/ActionsPopup.java       | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ActionsPopup.java b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ActionsPopup.java
index de88e90a3301..e5cf39f49ce5 100644
--- a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ActionsPopup.java
+++ b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ActionsPopup.java
@@ -767,16 +767,17 @@ class ActionsPopup {
 
         frame.renderWidget(Clear.INSTANCE, popup);
         String divider = "  ─────────────────────────────────";
-        // extra space after ⌨️ because it renders narrower than other emoji
+        // CAMEL-23818: use plain 2-wide emoji here. TamboUI mismeasures base-glyph + VS16
+        // sequences as 1-wide (fixed upstream in tamboui/tamboui#388), which left stray chars.
         String keystrokeLabel = keystrokesEnabled.get()
-                ? "  ⌨️  Hide Keystrokes"
-                : "  ⌨️  Show Keystrokes";
+                ? "  🔤 Hide Keystrokes"
+                : "  🔤 Show Keystrokes";
         String stopLabel = stopAllPopup.hasBothGroups()
                 ? "  🛑 Stop All..."
                 : "  🛑 Stop All";
         String tapeLabel = tapeRecordingActive.get()
-                ? "  ⏹️  Stop Tape Recording (Ctrl+R)"
-                : "  ⏺️  Start Tape Recording (Ctrl+R)";
+                ? "  🛑 Stop Tape Recording (Ctrl+R)"
+                : "  🔴 Start Tape Recording (Ctrl+R)";
 
         List<ListItem> items = new ArrayList<>();
         // Group 1: User Actions