KeymashGame / game-tracker

Official Bugtracking Repository for all Keyma.sh issues
6 stars 0 forks source link

Losses incorrectly registering as quits #124

Closed nathannguyen650 closed 3 years ago

nathannguyen650 commented 3 years ago

Describe the bug Losing sometimes counts as a quit, even when you 100% finished the race. It seems to happen randomly. Check https://keyma.sh/profile/Akagi316-1675 for his "quit" races. He is a true 100% nonquit. The only times he quits is during bugged quotes. This was not one of those bugged quotes.

image

To Reproduce Lose a match. Make sure you finish the race.
Check your match history to see if it registered as a quit.

Expected behavior Losses should count as losses.

Screenshots Screenshot is above in the bug description.

Desktop (please complete the following information):

Additional context Chrome Windows 10

aevi72 commented 3 years ago

After testing that bug myself I concluded the following:

Out of 7 matches the only time it showed "Quit" for my account was when there were 3 players in the match and I lost to one (therefore became 2nd). That might be a coincidence though since it happens quite random as @nathannguyen650 stated. It showed the game as a "Quit" but apparently only for my perspective, since the other person I tested with looked up the match on my profile and saw the match placement as "2nd".

Either the "Quit" is only displayed for a short time and when the other person went on my profile it already corrected itself to show the correct placement or it's only shown from the account owner's perspective in the first place.

My perspective of the match result on my profile: image

Perspective of the second person: image

This doesn't explain why the matches were not corrected on Akagi316-1675's account though.

As for Akagi316-1675 both games that were shown as "Quit" were registered by the System as completed and should definitely not show "Quit".

CameronCT commented 3 years ago

For future reference, thankful to Aevi for making a potential segway into this issue.

Your "reproducibility" is about as useful as telling a newborn baby to cook family dinner.

When we get issues reported, it is pivotal that we know how to reproduce it - without reproducing it then you eliminate my 80-100% of even knowing what it was. Obviously there is edge cases where determining how to recreate an issue is tough, but your original post was poorly written especially based on your evidence that a player simply "does not" quit matches.

nathannguyen650 commented 3 years ago

I too appreciate Aevi's timely segue. It was a bug that was reported to me, so I never directly experienced it myself. I just wanted to make a quick post to bring it to your attention. I didn't want to spend 30 minutes figuring out how to reproduce it and making a beautifully detailed post like Aevi did.

Syndric commented 3 years ago

After testing the bug myself, I found that reloading someone's profile right after they complete a match - and I mean reload RIGHT after - in the following circumstances makes the most recent match show as quit:

There are three people in a game. User 1 finishes the text User 2 finishes the text, and user 1 reloads right when user 2 finishes the text User 3 does nothing the entire time

User 1 should see a quit for the most recent race on the profile of user 2. If user 1 reloads the profile of user 2 again, it'll change to second place.

This has a success rate of around 50% for me, but the reload has to be really precise. I don't know if it's related to the issue but every time it happened the respective race in the json would have "placement": 999

CameronCT commented 3 years ago

Because of the first keystroke delay, the actual players aren't calculated until after all of them finish. So the culprit is likely in our Disconnection phase where a potential quitter (who may have had 100% Progress) gets removed from the list which causes the mistake of bad placements.

We have pushed a fix for staging - I really hope everyone tests this as much as they possibly can. We also realized that the Recent matches wasn't showing many quits in general, so we also addressed that too - if you previously quit a match you will likely see it more now.

CameronCT commented 3 years ago

fix pushed to staging then pushed to production.