Feature/live routing feedback#36
Closed
ndorin wants to merge 5 commits into
Closed
Conversation
…d display alert for untrusted certificates
…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
…and integrate with routing feedback
Contributor
There was a problem hiding this comment.
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 on lines
+288
to
+291
| // ─── Signal path tracing ───────────────────────────────────────────────────── | ||
|
|
||
| import type { MidpointRoute } from "../store/apiSlice"; | ||
|
|
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} | ||
| > |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.