ammachado opened a new pull request, #25317: URL: https://github.com/apache/camel/pull/25317
# Description Adds a `--web` flag to `camel tui monitor` that serves the same live-monitoring TamboUI app over WebSocket, so it can be driven from a browser instead of (or alongside) a local terminal, using TamboUI's Aesh backend (`dev.tamboui:tamboui-aesh-backend` + `org.aesh:terminal-http`). Each browser connection gets its own `CamelMonitor`/`TuiRunner` instance driven by an `AeshBackend`, sharing the same underlying live data source. The server binds to `127.0.0.1` only and is opt-in (default off), matching the existing `TuiMcpServer` (`--mcp`) posture. This PR also includes follow-up polish on top of the initial `--web` implementation: - Vendors `xterm.js` / `xterm-addon-fit` instead of loading them from a CDN, and serves a Camel-branded page (logo, disconnect overlay) instead of Aesh's default terminal page. - Shows the "web :port" badge as an underlined, clickable (OSC 8) hyperlink in the local terminal session, hidden once a browser session is attached (a browser session shouldn't advertise its own URL to itself). - A browser session can no longer quit the shared TUI process via `q`/`Ctrl+C`, and the footer hint no longer advertises quit as an available action for web sessions. - `TuiBackendHelper` now builds the local `JLineBackend` explicitly, since TamboUI's `ServiceLoader`-based backend auto-discovery could otherwise pick `AeshBackend` for the local terminal session too, now that `tamboui-aesh-backend` is also on the classpath. **Known limitation, not fixed by this PR:** there's a tab-bar rendering artifact caused by an emoji-presentation-sequence character-width bug in `tamboui-core` (`CharWidth`/`Buffer.setString`), already fixed and approved upstream in [tamboui#388](https://github.com/tamboui/tamboui/pull/388) but not yet released. This module currently pins `tamboui-version` 0.4.0, which predates that fix; it can only be resolved here once a new tamboui release ships and the dependency is bumped. _Claude Code on behalf of Adriano Machado_ # Target - [x] I checked that the commit is targeting the correct branch (Camel 4 uses the `main` branch) # Tracking - [x] If this is a large change, bug fix, or code improvement, I checked there is a [JIRA issue](https://issues.apache.org/jira/browse/CAMEL) filed for the change (usually before you start working on it). # Apache Camel coding standards and style - [x] I checked that each commit in the pull request has a meaningful subject line and body. - [x] I have run `mvn clean install -DskipTests` locally from root folder and I have committed all auto-generated changes. # AI-assisted contributions - [x] If this PR includes AI-generated code, commits have proper co-authorship attribution (e.g., `Co-authored-by` trailers) and the PR description identifies the AI tool used. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
