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 <[email protected]>
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) <[email protected]>
---
.../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