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

   ## Summary
   
   _Claude Code on behalf of forgebot_
   
   Fixes missing pane borders in the TUI dashboard. TamboUI's `Block` widget 
requires **both** `.borderType()` and `.borders(Borders.ALL)` to render border 
characters. All 131 `Block.builder()` calls across the TUI module were missing 
`.borders(Borders.ALL)`, causing no rounded border box-drawing characters 
(`╭╮╰╯│─`) to render around any pane.
   
   **Before (no borders):**
   ```
    Routes sort:name
      ROUTE   FROM      STATUS   AGE   TOTAL  FAIL
      route1  timer://  Started  10s       0     0
   
    Processors [route1]
      TYPE    PROCESSOR   TOTAL  FAIL
      log     log1           50     0
   ```
   
   **After (borders restored):**
   ```
   ╭ Routes sort:name ────────────────────────────────────╮
   │  ROUTE   FROM      STATUS   AGE   TOTAL  FAIL       │
   │  route1  timer://  Started  10s       0     0        │
   ╰──────────────────────────────────────────────────────╯
   ╭ Processors [route1] ────────────────────────────────╮
   │  TYPE    PROCESSOR   TOTAL  FAIL                     │
   │  log     log1           50     0                     │
   ╰──────────────────────────────────────────────────────╯
   ```
   
   ### Changes
   - **36 source files**: Added `.borders(Borders.ALL)` after every 
`.borderType(BorderType.ROUNDED)` call and added `import 
dev.tamboui.widgets.block.Borders`
   - **1 new test file** (`BorderRenderTest.java`): 17 rendering tests that 
render tabs into a virtual terminal buffer via `Frame.forTesting(Buffer)` and 
verify border characters appear at the correct positions
   
   ### Test Coverage (BorderRenderTest — 17 tests)
   - HealthTab: top/bottom corners, vertical/horizontal borders, complete box 
formation, left/right border alignment
   - RoutesTab: full border box, dual pane borders (routes + processors), 
separate borders for each pane, non-overlapping borders
   - ErrorsTab: border box with data, border box in empty state
   - No-selection: border in unselected state
   - ShellPanel: border rendering when panel is open
   - Border type validation: `BorderType.ROUNDED` characters match expected 
Unicode codepoints
   - Corner alignment: `╭`/`╮` on same row, `╰`/`╯` on same row
   
   ## Test plan
   - [x] All 248 tests pass locally (231 existing + 17 new border tests)
   - [x] Rendering tests validate actual border characters (`╭╮╰╯│─`) in the 
virtual terminal buffer
   - [x] Code formatted with `mvn formatter:format impsort:sort`
   - [ ] CI build passes
   
   🤖 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