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

   _Claude Code on behalf of davsclaus_
   
   ## Summary
   
   Three fixes for the About view and the error count, found while running the 
`fail-well/circuit-breaker` example.
   
   **About: room around the sections.** On a 198×53 terminal About used about 
20 rows and the panels sat crammed together. When the screen has room:
   - a blank line goes between the sections and inside the panels
   - the In, Routes and Out panels sit one column apart and reach the right edge
   - the status lines line up with the text in the panels
   
   The strips of *What happened* are as wide as the screen allows, with each 
column a whole number of seconds (100 columns of 3s at that size, instead of a 
fixed 60 of 5s). They are up to two rows high, so an open circuit breaker or an 
outage shows as a full-height band. The time before the integration started is 
blank, matching the sparklines; a dot still means a second it ran and did 
nothing. A short screen keeps the compact layout unchanged.
   
   **The number of errors that happened.** The error registry keeps only the 
newest few entries of each kind of error (CAMEL-24911), and the newest of them 
carries the repeat count. The status file only carried `size`, which is the 
number of entries kept. So 13 errors of two kinds (10 calls rejected by the 
open breaker, 3 supplier failures) showed as "6 errors".
   
   `LocalCliConnector` now adds `total` and the top `kinds` to the errors 
summary in the status file. The Errors badge and the Watch line use them, 
falling back to `size` for an older integration:
   
   ```
   Watch    ✗ 13 errors: CallNotPermittedException ×10 · ConnectException ×3    
9  show errors
   ```
   
   The key to the Errors tab is now drawn as a key hint, like the *Next* line. 
Before, it was "(9 Errors)", which read as a second count.
   
   **Examples are selected once they start.** An example is launched under its 
catalog name (`fail-well/circuit-breaker`) and names itself without the 
category (`circuit-breaker`). The integration it started was therefore never 
selected, and the header and the tab badges stayed empty until F3.
   
   **Test fix.** `LaunchManagerOutcomeTest` changes the CLI's home directory 
for the whole test run and is now `@Isolated` from the tests running in 
parallel; that sharing made it fail now and then.
   
   ## Test plan
   
   - `AboutViewTest`: the column count of the strips, both layouts (roomy and 
compact), blank time before the start, and the Watch line with error kinds.
   - `StatusParserTest`: parsing `total` and `kinds`.
   - `DataRefreshMembershipTest`: an example matches the name it gives itself.
   - `ErrorCountsTest` (camel-cli-connector), with a real error registry: 12 
errors, 5 entries kept, `total` 12.
   - Full `camel-jbang-plugin-tui` suite passes.
   - `camel-cli-connector`: 
`WebSocketCliConnectorTransportTest.reconnectsWhenTheToolStopsAnswering` fails 
with and without this change; the rest passes.
   - Checked live with the `fail-well/circuit-breaker` example: the layout, the 
13-error count, and auto-selection.
   
   Docs: the Overview help page and `camel-jbang-tui-observe.adoc`.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   


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