[P2] Route state indicators in sidebar and dashboard #119
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent Epic
#100
Problem
There is no visual indicator showing whether an application has stopped/suspended routes, or whether individual routes are stopped/suspended. Users must navigate to the route control bar to see this state.
Proposed Solution
Dependencies
Acceptance Criteria
Implemented in 2 commits.
Backend:
RouteStateRegistry— in-memory ConcurrentHashMap tracking route operational state (STARTED/STOPPED/SUSPENDED) per application+route. Defaults to STARTED. Resets on server restart.AgentCommandController.sendGroupCommand()— after all agents ACK a ROUTE_CONTROL command successfully, updates the registry with the new stateRouteSummaryDTO — newrouteStatefield (null = started, "stopped", "suspended")RouteCatalogController— injects RouteStateRegistry, populates routeState in catalog responseFrontend:
SidebarRoutetype — newrouteState?: 'stopped' | 'suspended'fieldbuildAppTreeNodes()andbuildRouteTreeNodes()— stopped routes show red square icon, suspended show amber pause icon; badge shows "STOPPED" or "SUSPENDED" prefixLayoutShell.tsx— mapsr.routeStatefrom catalog response, passes stop/pause icon factories to tree buildersState accuracy: State only updates when ALL agents successfully ACK a route-control command. Partial failures leave state unchanged. On server restart, all states reset to started (Camel default behavior).