gnodet opened a new pull request, #23915:
URL: https://github.com/apache/camel/pull/23915

   [CAMEL-23727](https://issues.apache.org/jira/browse/CAMEL-23727)
   
   ## Summary
   
   Follow-up improvements for the TUI shell panel (CAMEL-23635):
   
   - **Proper borders**: Replace manual separator line with `Block` widget 
using `BorderType.ROUNDED`, matching all other TUI tabs
   - **Full-screen command integration**: Detect embedded shell context via 
`EnvironmentHelper.isEmbedded()` so that `--watch`/`--follow` commands (`log`, 
`top`, etc.) run once and exit instead of entering infinite loops that corrupt 
the TUI. Redirects `clearScreen()` and `AnsiConsole.out()` through the virtual 
terminal when embedded. Prints hints directing users to the native TUI tabs for 
live monitoring.
   - **Keyboard scrollback**: Add Shift+PageUp/Down to scroll through 
ScreenTerminal history buffer. Uses reflection for forward-compatible access to 
JLine's `getHistory()`/`getHistorySize()` methods (added upstream, pending 
release). Auto-follows on new output.
   - **Exit handling**: Auto-close the shell panel when the user types `exit`, 
and start a fresh shell on next open.
   
   ## Test plan
   
   - [ ] Run `camel tui`, open shell panel (F2 > Shell)
   - [ ] Verify rounded border renders correctly at all sizes (Shift+F6 to 
cycle 25/50/75%)
   - [ ] Type `top` or `top --watch` — should print one-shot output with hint, 
not enter watch loop
   - [ ] Type `log` — should dump current logs with hint, not enter follow loop
   - [ ] Type `exit` — shell panel should auto-close
   - [ ] Reopen shell (F2 > Shell) — fresh shell should start
   - [ ] Shift+PageUp/Down for scrollback (functional once JLine is updated)
   
   _Claude Code on behalf of Guillaume Nodet_


-- 
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]

Reply via email to