fix: WHIP/WHEP endpoint handling and vision mixer multiview API#476
Merged
fix: WHIP/WHEP endpoint handling and vision mixer multiview API#476
Conversation
Endpoint IDs were not globally unique — two flows could register the same endpoint name and the later one would silently override the first, causing misrouted traffic. Now registration returns an error and the flow fails to start with a clear message. Also trims whitespace from all endpoint-related string properties at three layers: the API save handler, the pipeline build phase, and the frontend duplicate-detection UI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace the fragile .contains("multiview") string match with link
traversal from the vision mixer's multiview_out pad through any
intermediate blocks until a WHEP output block is reached.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extract link-traversal logic into reusable find_whep_endpoint_for_pad()
helper. Add GET /api/flows/{flow_id}/blocks/{block_id}/multiview-endpoint
that returns the WHEP endpoint path for the multiview output.
The vision mixer HTML page now fetches the endpoint from the API at
connect time instead of relying on the server-injected config value,
removing duplicated logic.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move openapi_snapshot.json to openapi.json in the repo root — a more conventional and discoverable location for external consumers. Rename the test file to openapi_test.rs accordingly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add fallback to old path for base branch comparison during transition. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Node.js 20 actions are deprecated and will stop working June 2026. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
… workflows Node.js 20 actions are deprecated and will stop working June 2026. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
docker/setup-buildx-action v3→v4, docker/login-action v3→v4, docker/build-push-action v5→v6. Co-Authored-By: Claude Opus 4.6 (1M context) <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.
Summary
.contains("multiview")string matching in vision mixer with link traversal from themultiview_outpadGET /api/flows/{flow_id}/blocks/{block_id}/multiview-endpointAPI endpoint and have the vision mixer HTML page use it instead of duplicated server-side logicopenapi.jsonin repo root for discoverabilityTest plan
GET /api/flows/{flow_id}/blocks/{block_id}/multiview-endpointreturns correct endpointcargo test --test openapi_testto verify spec is up to date🤖 Generated with Claude Code