At the moment, if the connection to Yarbo is unstable, the device may receive very old remotely issued movement commands — sometimes apparently even minutes old.
As I understand it, the app communicates with Yarbo via MQTT. It would be good to verify that the MQTT QoS for movement commands is set to 0. Currently, some commands may arrive duplicated (QoS 2?), and the robot may suddenly start moving after a long delay and perform so-called “ghost movements.”
I would suggest at the very least verifying that movement start commands use QoS 0, and preferably that they also include a timestamp so that, for example, commands older than 2 seconds are not processed at all.