lichess-org / mobile

Lichess mobile app v2
GNU General Public License v3.0
1.22k stars 176 forks source link

App Requires User Action Despite Opponent's Time Expiring #730

Open opsrcode opened 4 months ago

opsrcode commented 4 months ago

What is the problem?

During a game against any opponent, when the opponent leaves the match before the time runs out, the app will present the options "claim victory" or "claim draw" as usual. However, if this happens moments before the end of the game, when the opponent's time is about to run out, the message remains even after the opponent's time expires. The options remain functional, allowing the user (me) to choose an option to alter the result.

Steps to reproduce the bug

  1. Open the Lichess app.
  2. Start a game against any opponent.
  3. Play the game until the opponent's time is nearly expired.
  4. Observe if the opponent leaves the match just before their time runs out.
  5. Notice that the app presents the options "claim victory" or "claim draw."
  6. Observe that the message with the options "claim victory" or "claim draw" remains visible and requires user interaction to finalize the game result, even though the opponent's time has already expired.

What did you expect to happen?

The app should ensure a victory or result automatically since the opponent's time has expired, as it happens on the browser platform.

What happened instead?

The app waits for the user's choice even after the opponent's time has run out.

Device Info

Galaxy A21s

Operating System Version

Android version 12

Additional information

Knox version 3.8 Knox API level 35 Lichess Beta version 0.8.10 (Play Store, updated on May 16, 2024) Screenshot_20240531-020309

NST-d commented 3 months ago

I encountered a probably related bug where the opponents time was running out, and the app wouldn't end the game. I resolved this by opening the game in the old app, where it was immediately ended.

opsrcode commented 3 months ago

Once again, the same bug occurred in the version downloaded via Github v0.8.17: Screenshot_20240608-144709.jpg

opsrcode commented 3 months ago

I conducted some tests on the bug I found earlier, which can be seen in the messages above, and I noticed new features that were affected by the same bug. Tests were conducted, and the screenshots below from the Android app show these different actions in the app's functionality.

Screenshot_20240612-152134.jpg

The screenshot above represents the screen when the bug occurred: the user left the match, and the time ran out, but the app did not give me a response.

Screenshot_20240612-152216.jpg

In the screenshot above, you can see what happens when the user clicks outside the options suggested by the app. By clicking on the common match options generated during the game, we can see that the app still prompts the user to claim victory or accept a draw, indicating that the match has not yet ended.

Screenshot_20240612-152349.jpg

Another test conducted was closing the application during the bug, while the app's request was active. As shown in the screenshot above, the match where the user left and the time ran out is not recorded in the recent results.

Screenshot_20240612-152452.jpg

Now we move to the browser platform, accessed via Android. Through the browser, we can see that the match appears as ongoing.

Screenshot_20240612-152512.jpg

And finally, when we enter the match that is theoretically ongoing, we see that on the browser platform, it gives us the correct result of the match, which is a win due to the opponent's time running out.