In general, the person's timer at 40 will be the green timer, most likely from slow frame-rate from tabbing out.
The yellow timer will generally be the one at 0.
In the old system, when that yellow timer hits 0, then the AI will take over and the game is lost to desync.
In the system I am proposing, when that yellow timer hits 0, it switches to "Waiting for your opponent" until that green timer either has time to catch up, or until your opponent finishes his turn, instead of instantly disconnecting you.
This effectively "Resyncs" the timers (Both will hit 0), preventing the AI from taking over by itself until it becomes obvious that your opponent really isn't responding properly.
The button gives you control over when the AI takes over. This means that if your opponent has to leave for a bit, or got distracted from the game, you have the option of either waiting for him to complete his turn still, or you can switch to the AI.
Depending on the situation, the loss is the other player's fault for being unresponsive, but if you are playing an important match like a tournament match and one or the other player needs to answer the phone or something similar, they can just let their opponent know and put the match on hold for a small moment.
As for implementation, I realize that this is something that takes a bit of effort to implement. I have talked to Zanz about it, he has seen this thread, and I think the best option regarding this is to find him in chat at some period of time and to talk about it.
There can always be a bit of time for testing, and if it
really doesn't work, we can always revert.
But desync is a really frustrating and serious issue that needs to be solved at some point, so why not at least try to solve or at least lessen it now rather than later?
I hope this answers some questions, if you still have some, please ask