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

   Follow-ups in camel-jbang on when the screens notice new or stopped 
integrations and when they redraw, plus a `tui_navigate` race.
   
   **Noticing integrations**
   - Before, the process list was only rescanned on the Overview tab, with the 
switch popup open, or with no integration known. An integration started or 
stopped while on another tab (e.g. Diagram) was not noticed.
   - Now a cheap listing of the `~/.camel/*-status.json` files, once a second, 
asks for a full scan when the set changes or a known pid is gone.
   
   **Tabs told about a selection change**
   - A selection changed by the refresh itself (auto select of a new 
integration, phantoms merged, the selected one stopped) now resets the 
integration tabs, as a selection by key or MCP already did.
   - Before, the tabs kept showing the data of the previous integration.
   
   **Redraw when data arrives**
   - The tick redrew when a refresh was triggered, not when its (async) data 
arrived, so changes showed one tick late.
   
   **`tui_navigate` with integration + tab + route in one call**
   - It failed with "Route not found in diagram" because the diagram of the 
just-selected integration was still loading.
   - It now waits for the diagram (up to 20s; the first load after startup can 
take several seconds) and stops at once when the diagram is drawn without that 
route.
   
   **Tests**
   - `DataRefreshMembershipTest`: integrations started and stopped (status 
files in a temp home), the once-a-second limit, a gone pid, and the retry with 
its early stop.
   - Module tests: 1492 run, 0 failures.
   - Checked live against a running TUI:
     - a cold `tui_navigate` (integration + Diagram + route) selects the route;
     - a wrong route id fails right away;
     - an app started or stopped while on the Diagram tab changes the 
integration count within a second or two.
   
   _Claude Code on behalf of davsclaus_
   
   🤖 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