Skip to content

CAMEL-23514: TUI UX improvements - log buffer, scroll fix, sort, badges, JBang detection#23265

Merged
davsclaus merged 3 commits into
mainfrom
fix/camel-tui-log-buffer
May 17, 2026
Merged

CAMEL-23514: TUI UX improvements - log buffer, scroll fix, sort, badges, JBang detection#23265
davsclaus merged 3 commits into
mainfrom
fix/camel-tui-log-buffer

Conversation

@davsclaus
Copy link
Copy Markdown
Contributor

Summary

A collection of UX improvements to the Camel JBang TUI monitor (camel-jbang-plugin-tui):

Log tab

  • Reduce scrollback buffer from 5000 → 3000 lines
  • Show chunk line range in Log block title (Log level:INFO #1-3000)
  • Fixed scroll drift when follow mode is off and the ring buffer is at capacity (eviction compensation via logEvictedSeen)
  • Show 2 Log (*) in yellow in the tab header when log lines are present (some runtimes don't include log output)

Overview tab

  • Added VERSION to the sort cycle (pid → name → version → status → total → fail)
  • Show [dev] badge in yellow next to integration name when running with --dev

Routes tab

  • Added FROM to the sort cycle

Consumers tab

  • Renamed ID column header to ROUTE

Info tab

  • Show Profile below Version
  • Show Reload: N on the same line as Profile (only when reload count > 0)
  • Detect JBang platform from process command line; show as JBang v0.138.0
  • Fixed reload parsing (was reading flat stats.reloaded; correct path is stats.reload.reloaded)

Sorting (all sortable tabs)

  • Added hidden S key to reverse sort order (arrow flips ▼ → ▲) on the current tab
  • s resets reversal back to normal

Suspension gating

  • P key and footer hint only shown when the selected route supports suspension
  • supportsSuspension added to RouteDevConsole JSON and text output

Dev mode detection

  • devMode flag added to ContextDevConsole JSON and text output

Tab headers

  • Renamed 8 History8 Last

Claude Code on behalf of Claus Ibsen

davsclaus and others added 3 commits May 17, 2026 12:45
…nge, fix scroll drift

- Reduce MAX_LOG_LINES from 5000 to 3000 to reduce memory pressure
- Show line range in Log block title when buffer is full (e.g. "Log level:INFO #42001-45000")
- Fix log view drifting/scrolling when follow mode is off and buffer is at capacity:
  when new lines evict old ones from the front of the ring buffer, compensate logScroll
  by the eviction delta so the pinned view stays on the same content

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…cements

- ContextDevConsole: emit devMode flag (true when ResourceReloadStrategy active)
  and Dev Mode line in text output
- RouteDevConsole: emit supportsSuspension per route in JSON and text output
- TUI Overview: show [dev] badge next to name for integrations running with --dev
- TUI Overview: add VERSION to sort cycle
- TUI Info tab: show Profile and Reload count on same line (Reload only if > 0);
  fix reload parsing from nested statistics.reload.reloaded
- TUI Routes tab: gate P key and footer hint on route.supportsSuspension;
  add FROM to sort cycle; rename consumers tab ID column to ROUTE
- TUI all sort tabs: add hidden S key to reverse sort order (arrow flips ▼/▲);
  pressing s to cycle columns resets reverse to false

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…detection

- Show Log (*) in yellow in tab header when log lines are present
- Rename History tab to Last
- Detect JBang platform from process command line; show as 'JBang v0.x.y'

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

ghost commented May 17, 2026

🌟 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.

@github-actions
Copy link
Copy Markdown
Contributor

ghost commented May 17, 2026

🧪 CI tested the following changed modules:

  • core/camel-console
  • dsl/camel-jbang/camel-jbang-plugin-tui
All tested modules (13 modules)
  • Camel :: All Core Sync point
  • Camel :: Console
  • Camel :: DSL :: CLI Connector
  • Camel :: DSL :: CLI Debug
  • Camel :: Diagram
  • Camel :: JBang :: Console
  • 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 davsclaus merged commit d147f48 into main May 17, 2026
6 checks passed
@davsclaus davsclaus deleted the fix/camel-tui-log-buffer branch May 17, 2026 11:48
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