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

davsclaus pushed a commit to branch CAMEL-23648-tui-send-fullscreen
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a00e52b2b5412144917ae5bd2e70f62eb65ea7a9
Author: Claus Ibsen <[email protected]>
AuthorDate: Sun May 31 08:43:13 2026 +0200

    CAMEL-23648: camel-jbang - TUI remove 1-9 tabs footer hints and fix Inspect 
badge count
    
    Remove redundant 1-9/1-0/1-2 tab switching hints from footer across all
    tabs since the tab bar at the top already shows available tabs. Fix the
    Inspect tab badge to show count of distinct exchanges instead of individual
    processing steps.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 .../org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java    | 4 +++-
 .../apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java   | 1 -
 .../org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java    | 1 -
 .../org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java    | 1 -
 .../java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java  | 1 -
 .../java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java  | 1 -
 .../java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java    | 4 ----
 .../org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java     | 1 -
 .../java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java     | 1 -
 .../java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java  | 1 -
 .../java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java | 1 -
 .../org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java     | 1 -
 .../java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java  | 1 -
 13 files changed, 3 insertions(+), 16 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
index 0c214269aab0..33dbb3c5faf6 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CamelMonitor.java
@@ -1016,7 +1016,9 @@ public class CamelMonitor extends CamelCommand {
         int healthCount = hasSelection ? sel.healthChecks.size() : 0;
         long healthDownCount = hasSelection
                 ? sel.healthChecks.stream().filter(hc -> 
"DOWN".equals(hc.state)).count() : 0;
-        int historyCount = hasSelection ? historyTab.historyEntries.size() : 0;
+        long historyCount = hasSelection
+                ? historyTab.historyEntries.stream().map(e -> 
e.exchangeId).distinct().count()
+                : 0;
         boolean hasTraces = hasSelection && !traces.get().isEmpty();
         int httpCount = hasSelection ? sel.httpEndpoints.size() : 0;
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java
index 43ef5244838f..30bb0ca5363e 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/CircuitBreakerTab.java
@@ -207,7 +207,6 @@ class CircuitBreakerTab implements MonitorTab {
         hint(spans, "Esc", "back");
         hint(spans, "↑↓", "navigate");
         hint(spans, "s", "sort");
-        hint(spans, "1-9", "tabs");
     }
 
     private String sortLabel(String label, String column) {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
index 2dc2071ab825..d5521ea59928 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ConsumersTab.java
@@ -157,7 +157,6 @@ class ConsumersTab implements MonitorTab {
     public void renderFooter(List<Span> spans) {
         hint(spans, "Esc", "back");
         hint(spans, "s", "sort");
-        hint(spans, "1-9", "tabs");
     }
 
     private String sortLabel(String label, String column) {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
index 5a7ca27709b8..c9225ef56d03 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/EndpointsTab.java
@@ -297,7 +297,6 @@ class EndpointsTab implements MonitorTab {
             default -> "[off]";
         };
         hint(spans, "a", "chart " + chartLabel);
-        hint(spans, "1-9", "tabs");
     }
 
     int getFilter() {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java
index edec0c7c4982..f68536af2edd 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/ErrorsTab.java
@@ -273,7 +273,6 @@ class ErrorsTab implements MonitorTab {
             hint(spans, "h", "headers [" + (showHeaders ? "on" : "off") + "]");
             hint(spans, "b", "body [" + (showBody ? "on" : "off") + "]");
             hint(spans, "w", "wrap [" + (wordWrap ? "on" : "off") + "]");
-            hint(spans, "1-0", "tabs");
         }
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java
index f4db0025ab3c..ac3f3ff9866d 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HealthTab.java
@@ -163,7 +163,6 @@ class HealthTab implements MonitorTab {
         hint(spans, "Esc", "back");
         hint(spans, "s", "sort");
         hint(spans, "d", "toggle DOWN");
-        hint(spans, "1-9", "tabs");
     }
 
     boolean isShowOnlyDown() {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java
index 7f7938addd1b..e102c285e6ee 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/HttpTab.java
@@ -263,8 +263,6 @@ class HttpTab implements MonitorTab {
             hint(spans, "p", "pretty" + (probePrettyPrint ? " [on]" : ""));
             if (!probeHistory.isEmpty()) {
                 hintLast(spans, "↑↓", "history");
-            } else {
-                hintLast(spans, "1-9", "tabs");
             }
             return;
         }
@@ -284,8 +282,6 @@ class HttpTab implements MonitorTab {
         Integer hSel = tableState.selected();
         if (hSel != null && hSel >= 0 && hSel < hVisible.size() && 
hVisible.get(hSel).specificationUri != null) {
             hintLast(spans, "c", "spec");
-        } else {
-            hintLast(spans, "1-9", "tabs");
         }
     }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java
index 7c1314335996..dfeb76fbb711 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/InflightTab.java
@@ -167,7 +167,6 @@ class InflightTab implements MonitorTab {
     public void renderFooter(List<Span> spans) {
         hint(spans, "Esc", "back");
         hint(spans, "s", "sort");
-        hint(spans, "1-9", "tabs");
     }
 
     private void renderBrowseDisabled(Frame frame, Rect area) {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java
index a66d0661a549..efaa01e49b17 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/LogTab.java
@@ -307,7 +307,6 @@ class LogTab implements MonitorTab {
             hint(spans, "l", "level");
         }
         hint(spans, "f", "follow" + (followMode ? " [on]" : " [off]"));
-        hint(spans, ctx.isInfraSelected() ? "1-2" : "1-9", "tabs");
     }
 
     private void renderLogLevelPopup(Frame frame, Rect area) {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java
index 7ed318c6eada..715c0e667ed3 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MemoryTab.java
@@ -309,7 +309,6 @@ class MemoryTab implements MonitorTab {
     @Override
     public void renderFooter(List<Span> spans) {
         hint(spans, "Esc", "back");
-        hint(spans, "1-9", "tabs");
     }
 
     private static String buildGaugeBar(long pct, int width) {
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java
index 4a4df616b98f..19bf722a7d0b 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/MetricsTab.java
@@ -614,7 +614,6 @@ class MetricsTab implements MonitorTab {
         if (info != null && findMetricsUrl(info) != null) {
             hint(spans, "r", "raw");
         }
-        hint(spans, "1-9", "tabs");
     }
 
     // ---- Prometheus syntax coloring ----
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
index 3c088933b2ad..32a5536411b6 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/OverviewTab.java
@@ -593,7 +593,6 @@ class OverviewTab implements MonitorTab {
                 default -> "[off]";
             });
         }
-        hint(spans, "1-9", "tabs");
     }
 
     @Override
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java
index f8ce5dd3cb6f..ea489639ce94 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/RoutesTab.java
@@ -507,7 +507,6 @@ class RoutesTab implements MonitorTab {
                     hint(spans, "p", "start");
                 }
             }
-            hint(spans, "1-9", "tabs");
         }
     }
 

Reply via email to