Skip to content

Feature/live routing feedback#36

Closed
ndorin wants to merge 5 commits into
mainfrom
feature/live-routing-feedback
Closed

Feature/live routing feedback#36
ndorin wants to merge 5 commits into
mainfrom
feature/live-routing-feedback

Conversation

@ndorin

@ndorin ndorin commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

No description provided.

ndorin added 5 commits June 22, 2026 21:25
…on component

feat: update Routing to support synthetic tie lines for live routing feedback
feat: modify Versions component layout for better responsiveness
feat: extend apiSlice and routingFeedbackSlice to handle multiple sink routes
Copilot AI review requested due to automatic review settings July 23, 2026 18:24
@ndorin ndorin closed this Jul 23, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “live routing feedback” data path and UI affordances so the Routing view can reflect real-time routes/layouts (via WebSocket), support signal-path highlighting, and show multiview tile layouts. Also includes a couple of small UX improvements (login password toggle and improved Versions table scrolling).

Changes:

  • Introduces a routing feedback Redux slice + middleware to manage a routing-feedback WebSocket session and apply snapshot/incremental updates.
  • Enhances Routing graph visualization with synthetic edges for live-only sink routes, signal-path tracing/highlighting, and floating multiview layout panels.
  • Adds a password-visibility toggle to Login and improves scrolling behavior in Versions.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/store/store.ts Registers the routing feedback reducer and middleware in the global store.
src/store/routingFeedbackSlice.ts Adds routing feedback state + actions and connect/disconnect action constants.
src/store/routingFeedbackMiddleware.ts Implements WebSocket connection/reconnect logic and dispatches routing feedback actions.
src/store/apiSlice.ts Adds routing feedback and multiview layout-related API/type definitions.
src/shared/components/EyeIcon.tsx Adds a lightweight inline eye/eye-slash icon component for password toggles.
src/features/Versions.tsx Adjusts layout to keep the header fixed and make the table scrollable.
src/features/RoutingDeviceNode.tsx Renders internal route overlays, adds layout toggle button, and supports route highlighting.
src/features/RoutingDeviceNode.module.scss Styles the layout toggle, internal SVG overlay layering, and port label backgrounds.
src/features/Routing.tsx Wires in routing feedback WebSocket/session handling, synthetic live edges, path tracing, layout panels, and live/offline UX.
src/features/MultiviewLayoutPanel.tsx Adds a draggable floating panel wrapper for displaying multiview layouts.
src/features/MultiviewLayoutPanel.module.scss Styles the floating panel (light/dark, titlebar, close button).
src/features/MultiviewLayoutCanvas.tsx Renders the multiview canvas/tile mock-up and supports tile selection/clicking.
src/features/MultiviewLayoutCanvas.module.scss Styles the canvas and tile appearance/selection states.
src/features/LoginForm.tsx Adds password visibility toggle UI (InputGroup + EyeIcon).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/features/Routing.tsx
Comment on lines +288 to +291
// ─── Signal path tracing ─────────────────────────────────────────────────────

import type { MidpointRoute } from "../store/apiSlice";

Comment thread src/features/Routing.tsx
Comment on lines +863 to +867
const certUrls = failedUrls.length > 0
? [...new Set<string>(failedUrls.map((u: string) =>
new URL(u).origin.replace(/^wss:/, "https:").replace(/^ws:/, "http:"),
))]
: null;
Comment on lines +119 to +123
onClick={() => setShowPassword((prev) => !prev)}
disabled={isLoading}
aria-label={showPassword ? "Hide password" : "Show password"}
tabIndex={-1}
>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants