You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(controller): withhold commands a peer's library cannot name (v0.6.2)
`supported_commands` is a typed enum list on the far side, so a value the
client has never heard of does not degrade one feature — it invalidates the
whole `server/state`. An aiosendspin below 6.1.0 meets `seek`/`seek_relative`
that way: it drops the message, never starts the stream, and stays silent
while the server's log looks perfectly healthy.
The protocol cannot be asked. `client/hello` has no controller support object
and the core version has stayed 1 across every release, so a later enum entry
is indistinguishable from an original one. What a peer does tell us is which
library it is, in `device_info.software_version`, so filter there: a deny-list
of peers known to be blind, with everything unrecognised keeping the full set.
Filtering at the session rather than at the caller covers group members too,
which are sent the leader's payload verbatim. `seek_max_ms` goes out with
`seek`, and the tolerance is reported once through `onNoncompliance`.