Please see https://www.chess.com/forum/view/help-support/how-do-i-downgrade-from-premium-to-non-paying for the latest on this - locking this iteration of the thread.
Thanks,
David - moderator
Please see https://www.chess.com/forum/view/help-support/how-do-i-downgrade-from-premium-to-non-paying for the latest on this - locking this iteration of the thread.
Thanks,
David - moderator
When any client opens a connection it could send information about the nature of the connection and what initiated it, and maybe a time stamp. That should be enough to let the backend figure out how to protect a game in progress from client heartbeats or automatic reconnects, and not interfere with the client that had the most recent user activity, such as game interaction. Obviously I don't know much about the implementation, but just seems very solvable.
If the clients just kept a variable that holds time of last user interaction with GUI and sent that timestamp in a packet header or something, that would probably make it pretty easy to prevent this problem.