I did, because of the local shenanigans I do expect active clients to get disagreements about each other. But the "ISS on one client, DG on another trying to dock" setup should not result in 10 meter jumps o.o. If you see jumps on the ISS position, trying burning a thruster on the DG and that should smooth out the ISS position instantly.
Open one client, persist ISS.
Open another client, persist a DG. Copy the state of the DG to the ISS.
Switch over to the other client. At this point, hopefully both clients should be in sync. If you see jumps, use a thruster on the intended active client. It has a 30 second timeout, after which you become an inactive client yourself and stop applying localized smoothing to global coordinate updates (thus the 10 meter jumps).
Basically the trade off is: Given that there is agreement between two parties that one will remain inactive and one is approaching, the active party will see no jitter at all. If you see jitter, you are inactive.
The behavior for non-orbital vessels remains unchanged, can you explain the steps you took to reproduce the behavior? I created a DG on the ISS client, persisted it. Switched focus to the DG on the other client, and it remains on the ground plopping like always.
My digitalocean droplet is temperamental, I guess this isn't the intended use of their droplets What's your ping like to orbiter.world?
I am going to move over to Google cloud soon, so we should get much better performance from HTTP side...
But I'd love to know how you managed to get 10 m jitters on ISS in orbit. The github has the latest source, you can take a look that on local active clients if the local displacement is really high it just ignores it entirely, thus the need for reconciliation. The ISS client will see jitter, but it should be a lot less than what you'd normally see with straight up global vessel coordinates.
Talked in IRC about this... just a post here to drop the ping value: around 100ms.