@d4Nf6 do you think there is a difference between a random newbie who has been a couple hours on this site and someone who has seen the features in question being implemented years ago?
It takes a few moments to realize that your number of "1 in 4" is Bullshit. I said this number is far lower.
Try and use your head a bit.
Happens to me every third or fourth game. Lichess should really fix this.
Getting points for winning a game is a given. Having to sit around waiting for a clock to tick down to get that win while the opponent has already left the game is not. If players can’t manage to hit resign before leaving the game, then yes, there should be a consequence for it that scales accordingly (I.e warning>short temp ban > longer ban> permanent ban). People need to respect others time and have basic sportsmanship like resigning before leaving a game in progress. Don’t act like a child for losing a game.
@jg777 "(I.e warning>short temp ban > longer ban> permanent ban)."
This is what is done. However, people should understand that punishment can in the best case reduce the number of offends, but never to zero.
EDIT: Or will this detect a false positive when the user re-loads the page?
If the user gets disconnected, how would you send that message?
But, no, the onbeforeunload can't know *why* the page is being unloaded, only that its being unloaded. Whether you hit the back button, the forward button, a link to another page, close the tab, close the browser, click a favorite link to go to another page. They will all - potentially - trigger the onbeforeunload event handler. In any event, its a security issue to know *why* a user left a page and also a security issue to know *where* they are going. If you want/need that type of control, you got an app to get it but you can't do it in a browser via a webpage.
I don't have an answer to how to deal with people who leave, just saw the JS question and wanted to answer it since I have been scripting since 1998 or so.
EDIT: The onbeforeunload would also get triggered every time you changed pages on lichess. Start a new game? Gets triggered. Go back to find a new game? Gets triggered. The server would get "pinged" every time you changed pages. Not a good solution
No, it's used in games (but does nothing if the game isn't active). It's just that it doesn't fire on tab close in mobile Chrome so anyone who plays on a phone or a tablet has an easy way around it. github.com/ornicar/lila/blob/ffd768254054ec6b11270d48c91ffc1d20c63f4f/ui/round/src/ctrl.ts#L695
About reloading: either you're connected, in which case the reload will hopefully finish in the 10-second grace period, or you're not, in which case the handler has no way to communicate to the server that the page is unloading so you're fine.
My two cents worth is that i can see both sides. Occasionally, i have just lost connection for no apparent reason so it would be a bit harsh to lose points, but on the other hand I lose points for playing badly (which is often) so it's not the end of the world. But the way I look at it is, that "rage quitters" tend to rage quit often, so surely the answer is to measure the frequency of quitting over a period of time. And how about this for an idea, if someone has a high quit rate, lichess should match up that player with someone from their team who is very good at chess but give that player an average rating. Then when that rage quitter starts to lose and quits, then you can ban him full in the knowledge that he at least rage quit at least once.
People at Lichess should understand that if someone begins a chess game, he's expected... to play chess. Not fooling around! 'Justifiable leavers'... there is no such a thing. What would you do in 'real' chess if all of a sudden your opponent went outside for a phone call and left you waiting for him to come back at the board?
Just put a 30 seconds time out when a player goes offline, and stop this nonsense. Quitters will learn.
Players leave the board during "real" chess all the time - maybe to go to the toilet or just to get up and walk around.