Skip to content

CAMEL-23648: camel-jbang - TUI redesign Send Message, Classpath tab, diagram improvements, and F1 help#23654

Merged
davsclaus merged 13 commits into
mainfrom
CAMEL-23648-tui-send-fullscreen
May 31, 2026
Merged

CAMEL-23648: camel-jbang - TUI redesign Send Message, Classpath tab, diagram improvements, and F1 help#23654
davsclaus merged 13 commits into
mainfrom
CAMEL-23648-tui-send-fullscreen

Conversation

@davsclaus

@davsclaus davsclaus commented May 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Redesign Send Message (F2) as a full-screen three-panel view with request, response, and history
  • Add F1 context-sensitive help overlay with detailed documentation for every tab
  • Promote Classpath from F2 action popup to its own tab in the More menu
  • Auto-refresh both text and image diagrams, removing manual F5
  • Fix diagram flicker on metric refresh and metrics toggle
  • Fix merge arrow showing metrics when disabled in camel-diagram
  • Add Memory tab GC key and dual heap gauge bars
  • Add Reset Screen action, sync bundled examples, various polish

Changes

  • Send Message: Full-screen layout with route selector, body/headers editor, response viewer, and scrollable history
  • F1 Help: Context-sensitive help overlay with markdown rendering, covers all tabs with key bindings, table columns, and usage examples
  • Classpath Tab: Moved from F2 popup to proper tab with fuzzy filter, PgUp/PgDn, async loading
  • Diagram: Auto-refresh metrics for both text and image modes, quiet reload to prevent flicker, preserve scroll position across refreshes
  • camel-diagram: Fix drawArrowFromMerge not respecting metrics flag
  • Actions Menu: Replace fragile int constants with Action enum, fix GROUP_SIZES, rename "Show Documentation" to "Show Integration Doc", clear full area in doc viewer
  • Memory Tab: Add g key to trigger GC, dual gauge bars for heap usage
  • Footer: Remove 1-9 tab hints, fix Inspect badge count, bump screenshot notification to 5s

Claude Code on behalf of Claus Ibsen

davsclaus and others added 6 commits May 31, 2026 08:38
…n view

Redesign SendMessagePopup from a small centered popup to a full-screen
3-panel layout (request/response/history) matching the HTTP Probe pattern.
InOut responses now show exchange headers and scrollable body with pretty
print toggle. Adds send history with replay support.

Extract shared form utilities (HeaderEntry, handleTextInput, renderLabel,
handlePaste) into FormHelper to eliminate duplication between SendMessagePopup
and HttpTab. Add Clear + padding to both views for visual separation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…nspect 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 <noreply@anthropic.com>
Add a Reset Screen action to the F2 actions menu (Diagnostics group)
that clears the terminal and resets TamboUI buffers, forcing a full
redraw. Useful when the screen gets garbled from external interference.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…mples repo

Extend the sync-example-catalog Maven profile to also download source
files for all bundled examples from apache/camel-jbang-examples. Add
examples/**/* excludes to both RAT and mycila license plugins so synced
files don't need license headers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix missing Reset Screen entry in visual menu list, use dynamic
visualActionCount instead of hardcoded sums, and use 🧹 emoji
instead of 🖥️ which has a variation selector causing width mismatch.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…uge bars

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

davsclaus and others added 2 commits May 31, 2026 10:23
Each tab now provides rich markdown help documentation accessible via F1,
explaining all columns, metrics, and features in detail for users who may
not be familiar with Camel or JVM internals. Includes ASCII art diagrams
for circuit breaker states, memory gauges, and endpoint flow charts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…examples

Each tab's help text now includes real example screens, detailed metric
explanations traced from DevConsole sources, diagnostic guidance, and
educational content for users new to Camel and JVM internals.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@davsclaus davsclaus changed the title CAMEL-23648: camel-jbang - TUI redesign Send Message and UI improvements CAMEL-23648: camel-jbang - TUI redesign Send Message, UI improvements, and F1 help May 31, 2026
@github-actions

github-actions Bot commented May 31, 2026

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • components/camel-diagram
  • dsl/camel-jbang/camel-jbang-core
  • dsl/camel-jbang/camel-jbang-plugin-tui

⚠️ Some tests are disabled on GitHub Actions (@DisabledIfSystemProperty(named = "ci.env.name")) and require manual verification:

  • dsl/camel-jbang/camel-jbang-core: 1 test(s) disabled on GitHub Actions

💡 Manual integration tests recommended:

You modified dsl/camel-jbang/camel-jbang-core. The related integration tests in dsl/camel-jbang/camel-jbang-it are excluded from CI. Consider running them manually:

mvn verify -f dsl/camel-jbang/camel-jbang-it -Djbang-it-test
All tested modules (9 modules)
  • Camel :: Diagram
  • Camel :: JBang :: Core
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Launcher :: Container
  • Camel :: YAML DSL :: Validator
  • Camel :: YAML DSL :: Validator Maven Plugin

⚙️ View full build and test results

davsclaus and others added 4 commits May 31, 2026 12:12
Shrink the route diagram example to fit more easily in the help
overlay viewport, fix when[cond] box alignment, and add scroll
hint until TamboUI supports partial code block rendering.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Move Classpath from F2 action popup to its own tab in the More menu
- Delete ClasspathPopup, create ClasspathTab implementing MonitorTab
- Replace fragile int action constants with Action enum in ActionsPopup
- Fix GROUP_SIZES after classpath removal (4,5,5 -> 4,4,5)
- Rename "Show Documentation" to "Show Integration Doc"
- Clear full area in doc viewer to prevent background bleed-through
- Remove unnecessary F5 reload from ClasspathTab (classpath is static)
- Add PgUp/PgDn navigation to ClasspathTab
- Fix diagram flicker: skip loading placeholder on metric refreshes
- Preserve diagram scroll position across F5 and metric refreshes
- Bump screenshot notification from 3s to 5s

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Enable auto-refresh for both text and image diagrams when metrics are
on, removing the need for manual F5. Use quiet reload for the m toggle
to avoid flicker when switching metrics on/off.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…abled

The drawArrowFromMerge method read stats unconditionally, causing the
last node counter to appear even with metrics off. Gate it behind the
metrics flag like drawArrow already does.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@davsclaus davsclaus changed the title CAMEL-23648: camel-jbang - TUI redesign Send Message, UI improvements, and F1 help CAMEL-23648: camel-jbang - TUI redesign Send Message, Classpath tab, diagram improvements, and F1 help May 31, 2026
…Infra Services

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@davsclaus davsclaus merged commit f1c4e00 into main May 31, 2026
6 checks passed
@davsclaus davsclaus deleted the CAMEL-23648-tui-send-fullscreen branch May 31, 2026 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant