Feature request: A pre-leave confirmation (with a “Resign” button) for active live games — so opponents aren’t left waiting

Please add a confirmation prompt shown before a player leaves the page of an active live/blitz game (closing/reloading the tab, or navigating away within OGS), offering “Stay”, “Leave anyway”, and “Resign”.

The core problem (from the opponent’s side)

Today, if a player accidentally leaves an in-progress live game, the opponent — who did nothing wrong — is left with a passive, frustrating experience: they can only sit and wait. They wait for the clock, or wait out the anti-escaping timer and then have to manually end the game. The whole burden of resolving an accidental departure falls on the innocent player. That’s a poor UX.

A single confirmation before leaving would prevent most accidental departures, and the “Resign” option ends the game instantly for the cases where the player really does want to go — so the opponent never has to just sit there waiting.

What already exists (and why this is different)

I’m aware OGS already has the non-dismissible “you left a live game” notification and the anti-escaping behavior (opponent can end the game ~30s after someone leaves). But both are reactive — they only kick in after the departure, and still leave the opponent waiting and doing the manual work. This request is the missing preventive piece. A similar idea appeared inside Help with escapers but was never opened as its own request.

Proposed behavior

  • While you are a player in an in-progress live/blitz game:

    • Closing/reloading the tab → standard browser beforeunload confirmation.

    • In-app navigation away from the board → a modal, e.g.:

      “You have a live game in progress. Leaving may cause you to lose on time — and your opponent will be left waiting.”
      [ Stay ] [ Leave anyway ] [ Resign ]

  • “Resign” ends the game cleanly and immediately, sparing the opponent the wait.

Scope / edge cases

  • Correspondence games: no prompt — leaving is expected.

  • Only for games where the user is an actual player (not spectating/reviewing).

  • Not shown once the game is finished.

  • Non-naggy: a single, dismissible confirmation (optionally one-time or slightly delayed, per the escapers thread), not a repeated pop-up.

  • Two technical paths: tab-close = beforeunload; in-app navigation = SPA route guard.

Why it’s worth it

  • Fewer accidental timeout losses.

  • Opponents aren’t left passively waiting on someone who bailed — the resign path resolves it instantly.

  • Complements the existing anti-escaping system rather than replacing it.

6 Likes

I personally dislike this idea because I have a poor wifi connection in one part of my house and the only practical way OGS offers to force-refresh the page, as I understand it, is to navigate away to the OGS home page or user profile and then click back into the active live game. People who are intentionally escaping games without resigning and letting the game timeout aren’t going to care about your nagging UI tweak, and people who have legitimate reasons to close the window don’t want pop-up clutter.

More generally, adding clutter to a UI to “nudge” people back to a consensus norm for community behavior is a huge anti-pattern, because the people who deviate from the norm are the least likely to feel any guilt when the UI clutter reminds them that what they’re doing is anti-social.

2 Likes