Feature/demo room - #1492
Merged
Merged
Feature/demo room#1492
Conversation
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
USB routing, initial lighting feedback, and split audio/video midpoint feedback remain incorrect.
Review effort: Balanced
Findings: 4
Open (4)
What changed in this PR
Enhances mock-device simulation, routing feedback, terminal midpoint handling, and development URL resolution.
Changes:
- Adds mock lighting and communication-monitor infrastructure.
- Improves midpoint, sink, and per-signal routing feedback.
- Preserves development-server URLs and emits explicit cleared source states.
| File | Description |
|---|---|
MobileControlTouchpanelController.cs |
Resolves development-server URLs consistently. |
IHasNamedRoutingSlotsMessenger.cs |
Emits explicit per-signal route state. |
ICurrentSourcesMessenger.cs |
Serializes cleared sources as empty strings. |
MockRoutingMidpointPropertiesConfig.cs |
Adds video-sync configuration. |
MockRoutingMidpoint.cs |
Adds sync linking and per-signal route tracking. |
MockCommunicationMonitor.cs |
Adds configurable mock online status. |
MockLightingDevice.cs |
Adds configurable mock lighting scenes. |
GenericSink.cs |
Tracks the selected input port. |
MockDisplay.cs |
Adds communication monitoring. |
MockAudioDevice.cs |
Adds communication monitoring. |
RouteDescriptor.cs |
Handles null terminal midpoint outputs safely. |
Extensions.cs |
Resolves terminal midpoint outputs when unambiguous. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
MockRoutingOutputSlotInfo and IHasNamedRoutingSlotsMessenger only handled Audio/Video, dropping USB routes. RouteSwitchDescriptor gains an optional SignalType so split audio/video routes from AudioVideo inputs report correctly over the routing feedback websocket. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

This pull request introduces several enhancements and fixes to the mock device infrastructure and routing logic, focusing on improved simulation fidelity, better handling of routing midpoints, and expanded mock device support. The most notable changes include the addition of a mock lighting device, improved communication monitoring for all mock devices, and refined routing logic for midpoints and sinks.
closes #1490
closes #1491
New mock device infrastructure:
MockLightingDevice, a simulated lighting scene controller with configurable scenes and a corresponding factory for config-driven instantiation. This allows for more complete simulation and testing of lighting controls.MockCommunicationMonitor, a status monitor that always reports as online, and integrated it into all mock devices (MockAudioDevice,MockDisplay,MockRoutingMidpoint, and the newMockLightingDevice) to provide consistent communication status simulation. [1] [2] [3] [4] [5] [6] [7]Routing logic and device improvements:
GenericSinkinput port selection: Now tracks and exposes the last switched-to input port, uses port selectors for accurate switching, and logs warnings for invalid selectors. [1] [2] [3]Mock routing midpoint enhancements:
MockRoutingMidpointnow links input slots to real video sync status of transmitters, updating sync status dynamically after all devices are constructed. This improves simulation of routing scenarios involving video sync. [1] [2] [3]Other improvements:
These changes collectively make the mock device infrastructure more robust, realistic, and useful for testing and simulation of complex routing and device behaviors.