The chart handles are stored in a common array in DataVisClient.js, which is updated by callback functions for each ROS message. If several ROS messages arrive in a short time, the order in which they are processed is undefined.
On the one hand, this makes the ordering of diagrams random; on the other hand, it causes problems when removing charts because the removal operations are neither atomic nor synchronized. This should be fixed by using a proper updating mechanism.
The chart handles are stored in a common array in DataVisClient.js, which is updated by callback functions for each ROS message. If several ROS messages arrive in a short time, the order in which they are processed is undefined.
On the one hand, this makes the ordering of diagrams random; on the other hand, it causes problems when removing charts because the removal operations are neither atomic nor synchronized. This should be fixed by using a proper updating mechanism.