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 9c7d1ad4efba Update releases
9c7d1ad4efba is described below

commit 9c7d1ad4efbaccff6c213572b420fc75198beb1b
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Aug 5 21:08:41 2026 +0200

    Update releases
    
    camel-tui - use F4 as the edit key instead of e
    
    camel-tui - fix integration count inflating when phantom integration is 
selected
    
    When the selected integration is a phantom (opened project), its PID
    cannot be parsed as a number, causing the scan to refresh all PIDs
    while the carry-forward section also re-added all previous entries,
    duplicating integrations on every refresh cycle.
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../camel/catalog/releases/camel-quarkus-releases.json    | 14 ++++++++++++++
 .../dsl/jbang/core/commands/tui/DataRefreshService.java   |  3 ++-
 .../camel/dsl/jbang/core/commands/tui/SourceTab.java      |  8 ++++----
 .../camel/dsl/jbang/core/commands/tui/SourceViewer.java   |  6 +++---
 .../camel/dsl/jbang/core/commands/tui/SqlQueryTab.java    | 15 ++++++++-------
 .../camel/dsl/jbang/core/commands/tui/SqlTraceTab.java    |  5 +++--
 6 files changed, 34 insertions(+), 17 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-quarkus-releases.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-quarkus-releases.json
index fbc7f674715b..f9d9cc318c7e 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-quarkus-releases.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/releases/camel-quarkus-releases.json
@@ -386,6 +386,13 @@
         "kind": "lts",
         "jdk": "17,21"
     },
+    {
+        "version": "3.27.5",
+        "date": "2026-07-13",
+        "eol": "2026-08-18",
+        "kind": "lts",
+        "jdk": "17,21"
+    },
     {
         "version": "3.29.0",
         "date": "2025-10-27",
@@ -420,6 +427,13 @@
         "kind": "lts",
         "jdk": "17,21"
     },
+    {
+        "version": "3.33.2",
+        "date": "2026-07-13",
+        "eol": "2027-02-16",
+        "kind": "lts",
+        "jdk": "17,21"
+    },
     {
         "version": "3.35.0",
         "date": "2026-04-27",
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataRefreshService.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataRefreshService.java
index 3c998fea2df5..6a1e04cd045a 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataRefreshService.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/DataRefreshService.java
@@ -290,12 +290,13 @@ class DataRefreshService {
             if (checkLiveness) {
                 lastLivenessCheckTime = now;
             }
+            Set<String> refreshedPids = infos.stream().map(i -> 
i.pid).collect(Collectors.toSet());
             List<IntegrationInfo> previous = data.get();
             for (IntegrationInfo prev : previous) {
                 if (prev.phantom) {
                     continue;
                 }
-                if (!prev.vanishing && !ctx.selectedPid.equals(prev.pid)) {
+                if (!prev.vanishing && !refreshedPids.contains(prev.pid)) {
                     if (checkLiveness) {
                         try {
                             long pid = Long.parseLong(prev.pid);
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SourceTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SourceTab.java
index 7d6ae5926e51..8d4d1ddcfb3b 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SourceTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SourceTab.java
@@ -329,12 +329,12 @@ class SourceTab extends AbstractTab {
                 ## File List (left panel)
                 - **Up/Down** — navigate files
                 - **Enter** — open file or directory
-                - **e** — open file directly in edit mode
+                - **F4** — open file directly in edit mode
                 - **Backspace** — go to parent directory
 
                 ## Source Viewer (right panel)
                 - **Up/Down** — scroll through source code
-                - **e** — edit local file (plain text; only when file is 
writable)
+                - **F4** — edit local file (plain text; only when file is 
writable)
                 - **Esc** — cancel edit (in edit mode) or close viewer
                 - **F5** — save file (in edit mode; Camel dev mode 
auto-reloads)
                 - **Space** — cycle format (YAML/Java/XML) for Camel routes
@@ -346,7 +346,7 @@ class SourceTab extends AbstractTab {
                 - **Esc/c** — close source viewer
 
                 ## Edit Mode (Tab Completion)
-                Press **e** to enter edit mode, then **Tab** for context-aware 
completion:
+                Press **F4** to enter edit mode, then **Tab** for 
context-aware completion:
 
                 **application.properties:**
                 - Key completion for `camel.main.*`, `camel.component.*`, 
`camel.dataformat.*`,
@@ -527,7 +527,7 @@ class SourceTab extends AbstractTab {
             openSelectedEntry();
             return true;
         }
-        if (ke.isChar('e')) {
+        if (ke.isKey(KeyCode.F4)) {
             openSelectedEntry();
             if (sourceViewer.isVisible() && sourceViewer.isEditable()) {
                 sourceViewer.enterEditMode();
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SourceViewer.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SourceViewer.java
index 28e3afcc364b..2fbec7cc1ac4 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SourceViewer.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SourceViewer.java
@@ -340,7 +340,7 @@ class SourceViewer {
             hide();
             return true;
         }
-        if (isEditable() && ke.isChar('e')) {
+        if (isEditable() && ke.isKey(KeyCode.F4)) {
             enterEditMode();
             return true;
         }
@@ -1938,7 +1938,7 @@ class SourceViewer {
             TuiHelper.hint(spans, "Space", "format");
             TuiHelper.hint(spans, "PgUp/PgDn", "page");
             if (isEditable()) {
-                TuiHelper.hint(spans, "e", "edit");
+                TuiHelper.hint(spans, "F4", "edit");
             }
             return;
         }
@@ -1952,7 +1952,7 @@ class SourceViewer {
             TuiHelper.hint(spans, "Esc/c", "close");
         }
         if (isEditable()) {
-            TuiHelper.hint(spans, "e", "edit");
+            TuiHelper.hint(spans, "F4", "edit");
         }
         if (quickDocProvider != null) {
             TuiHelper.hint(spans, "i", "quick doc" + (quickDocEnabled ? " 
[on]" : ""));
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java
index 8bea8e086eb7..003597bcd80b 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlQueryTab.java
@@ -182,16 +182,17 @@ class SqlQueryTab extends AbstractTab {
             return true;
         }
 
-        // Enter: newline in input, or open edit in results
+        // F4: open edit in results
+        if (!focusOnInput && ke.isKey(KeyCode.F4) && isEditable()) {
+            openEditMode();
+            return true;
+        }
+        // Enter: newline in input
         if (ke.isConfirm()) {
             if (focusOnInput) {
                 sqlInput.insert('\n');
                 return true;
             }
-            // results mode: open edit if editable
-            if (isEditable()) {
-                openEditMode();
-            }
             return true;
         }
 
@@ -837,7 +838,7 @@ class SqlQueryTab extends AbstractTab {
             hint(spans, "Tab", "input");
             hint(spans, TuiIcons.HINT_SCROLL, "navigate");
             if (isEditable()) {
-                hint(spans, "Enter", "edit");
+                hint(spans, "F4", "edit");
             }
         }
     }
@@ -866,7 +867,7 @@ class SqlQueryTab extends AbstractTab {
                 - Use **Ctrl+Left/Right** to switch between DataSources (when 
multiple exist)
 
                 ## Inline Editing
-                - For simple single-table SELECT queries, press **Enter** on a 
result row to edit
+                - For simple single-table SELECT queries, press **F4** on a 
result row to edit
                 - Primary key columns (marked with *) are read-only
                 - Changed values are highlighted in green
                 - Press **F5** to save changes (executes an UPDATE statement)
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java
 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java
index 7e76f77e0750..738a1c501fe5 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-tui/src/main/java/org/apache/camel/dsl/jbang/core/commands/tui/SqlTraceTab.java
@@ -32,6 +32,7 @@ import dev.tamboui.terminal.Frame;
 import dev.tamboui.text.Line;
 import dev.tamboui.text.Span;
 import dev.tamboui.text.Text;
+import dev.tamboui.tui.event.KeyCode;
 import dev.tamboui.tui.event.KeyEvent;
 import dev.tamboui.tui.event.MouseEvent;
 import dev.tamboui.widgets.block.Block;
@@ -85,7 +86,7 @@ class SqlTraceTab extends AbstractTableTab {
             wordWrap = !wordWrap;
             return true;
         }
-        if (ke.isCharIgnoreCase('e') && editSqlAction != null) {
+        if (ke.isKey(KeyCode.F4) && editSqlAction != null) {
             String sql = getSelectedQuery();
             if (sql != null) {
                 editSqlAction.accept(sql);
@@ -389,7 +390,7 @@ class SqlTraceTab extends AbstractTableTab {
         hint(spans, TuiIcons.HINT_SCROLL, "navigate");
         hint(spans, "Home/End", "top/end");
         hint(spans, "PgUp/Dn", "detail");
-        hint(spans, "e", "edit SQL");
+        hint(spans, "F4", "edit SQL");
         hint(spans, "s", "sort");
         hint(spans, "w", "wrap [" + (wordWrap ? "on" : "off") + "]");
     }

Reply via email to