reconnect issue in a DroneKit + MAVLink based GCS

I’m debugging a reconnect issue in a DroneKit + MAVLink based GCS running over UDP. Issue:

  • Connection drops and auto-reconnect starts telemetry resumes successfully after reconnect

  • But mode change commands from the GCS fail after reconnect

  • Mode changes from the Herelink still work correctly

Current reconnect flow: self.vehicle = connect(…, wait_ready=False)

My current hypothesis is that reconnect completes before MAVLink heartbeat synchronization / target identification is fully initialized. Since mode changes depend on valid: target_system target_component the command may be sent during a partially initialized reconnect state, while telemetry still works because incoming MAVLink packets do not depend on outbound target initialization.

Does this sound technically plausible in DroneKit/pymavlink? Has anyone seen cases where telemetry resumes before outbound MAVLink command readiness after reconnect?