The ClientInfo message passed in the ConnectClientReq has a field called is_observer that can be set to true to indicate to the drone that the client does not want to get promoted to be client_id_in_control.
We should expose this as an attribute on the Drone object, similar to how we can specify disconnect_other_clients.
For backward compatibility, the default value of is_observer should be false. For instance, we need this field for the Foxglove Bridge, to prevent it from "occupying" the drone if all we want is to forward telemetry messages.
The
ClientInfo
message passed in theConnectClientReq
has a field calledis_observer
that can be set totrue
to indicate to the drone that the client does not want to get promoted to beclient_id_in_control
.We should expose this as an attribute on the
Drone
object, similar to how we can specifydisconnect_other_clients
.For backward compatibility, the default value of
is_observer
should be false. For instance, we need this field for the Foxglove Bridge, to prevent it from "occupying" the drone if all we want is to forward telemetry messages.