Repository navigation
Conversation
makeConnection copies the parameters listed for the Sender's transport. A transport with no list, such as a manufacturer's own, which IS-05 v1.2 allows, left that list undefined, so connecting failed with a TypeError before any request was made. For such a transport, copy each parameter that the Sender's active transport_params and the Receiver's staged transport_params both have. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T8cahEd4GfsHQ89sNrmP4p
A PATCH to a Receiver turns a string that reads as a number into a number, which suits a value typed into a text input. The values makeConnection copies from the Sender already have the type the Sender gave them, so a string parameter such as a channel name of "11" or "05" must stay a string. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01T8cahEd4GfsHQ89sNrmP4p
Do tell! 😁 Ah! https://www.linkedin.com/feed/update/urn:li:activity:7511611534075166721/ |
Indeed :) Milan, too, but not yet tested. |
|
Hey, @lhoward, thanks for this (and pushing the new IS-05 v1.2 envelope with a vendor transport!). I agree the failure is real: for a transport with no entry in It is the wrong fallback for the other three, and any future transport with similar complexity in its parameters:
So my feeling is that a transport should be opted into this, with a flag on its The Active and Staged tabs should follow the same flag. They currently render "Unknown Type", so the parameters just written cannot be seen or edited. An opted-in transport should get a generic card per leg, with each key labelled from its name. The explicitly handled transports would keep the cards they have. I'll open a follow-up from this branch. It will also tidy Your |
|
As long as I can opt into this behaviour, sounds good :) FWIW we are using |
|
Yeah, I guess as a good citizen you probably want My proposal for opt-in would involve making a one-line addition to the code for each new transport. Not sure whether that's too much friction. |
|
Deleting comment from my over-eager 🤖 buddy, mostly repeating what I said above! |
|
The complexity of adding generic client-side support for unknown transports without having access to their schemas is mostly about whether any transport parameter supports FWIW, we had to handle this rough part of IS-05 v1.2 in nmos-cpp A generic card can show the current JSON value by its runtime type: a string, a boolean, or a number. It cannot tell, in the edit view, when the value is |
Connecting a Sender to a Receiver fails for any transport that
makeConnectionhas no parameter list for. With a manufacturer transport (which IS-05 v1.2 allows), the Connections matrix and the Receiver's Connect tab both show:and no PATCH is sent.
oneToOneTransportParams[transport]is undefined for such a transport andcopyTransportParamsiterates it.Changes
transport_paramsand the Receiver's stagedtransport_paramsboth have is copied across. RTP, MQTT, WebSocket and MXL keep their lists and behave as before.UPDATEturns a string that reads as a number into a number, which suits a value typed into a text input. A value copied from the Sender already has the right type, somakeConnectionnow marks its requestverbatimand the conversion is skipped for it. Without this, a string parameter whose value is"11"is sent as11, and"05"as5. Edits made through the forms are converted as before.Testing
makeConnection.test.js, andUPDATE receiversindataProvider.test.js);yarn testandyarn lint-checkpass.🤖 Generated with Claude Code
https://claude.ai/code/session_01T8cahEd4GfsHQ89sNrmP4p