online-go / online-go.com

Source code for the Online-Go.com web interface
https://online-go.com/
GNU Affero General Public License v3.0
1.24k stars 345 forks source link

Analysis/score estimator sometimes is activated on games it is not supposed to be #1765

Open maurelio1234 opened 2 years ago

maurelio1234 commented 2 years ago

Describe the bug

It happened to me twice already, You get to a page of a game that has analysis off, and it is on, and you can play with it and with the estimator

To Reproduce

Unfortunately I cannot reproduce it. It seems to happen when you come back from an old session I didn't use for days, but surprisingly I found the game by navigating to it (it was not an old game that was already loaded). When I refresh the page it comes back to the correct state (analysis off).

It's not a matter of missing information since I can see that on the game details it knows that the analysis is off. It just didn't have the time to turn it off as expected.

Expected behavior

Analysis should be always off in games with analysis disabled.

Screenshots

Couldn't take an screenshot , the game finished while I was trying to take one.

Desktop (please complete the following information):

maurelio1234 commented 2 years ago

I will investigate this thing later when I have time... I hope it happens again so I can take a screenshot of it. But unfortunately I think it will be difficult to reproduce without knowledge of how the code works.

maurelio1234 commented 2 years ago

I can reproduce it on dev mode. Just go to this game: http://dev.beta.online-go.com:8080/game/11998 Keep refreshing and from time to time you get the analysis/score tools. What I see is that goban.engine.config.disable_analysis is false when it happens.

When it happens it contains a default uninitialized goban.engine.config object:

image

anoek commented 2 years ago

Analysis mode is always enabled for spectators - are you reproducing this as a player?

maurelio1234 commented 2 years ago

Analysis mode is always enabled for spectators - are you reproducing this as a player?

Yes! In this computer I get the bug very easily!

image

I get it on the prod website too. Just to go to any of my games with disabled analysis and sometimes the analysis is enabled (even though game info popup says it shouldn't). I couple of refreshes and then I get it disabled again as it should.

maurelio1234 commented 2 years ago

It seems that my Firefox is slightly old (October 2021)

anoek commented 2 years ago

I can see that you can click the analyze button before the game has loaded and get it into analyze mode, but once the game is loaded I haven't seen that the button is still clickable, I can't reproduce it being enabled after the load completes :(

(FTR I believe what you're seeing, I'm just having trouble reproducing to track it down)

maurelio1234 commented 2 years ago

I know it is hard to believe :) Besides... I think I only see it on this computer... I can't see it when I test on other computer/mobile/tablets.

https://user-images.githubusercontent.com/6065520/164539107-2b421a56-3e61-4496-bf4e-e516787b69a1.mp4

A short video to prove myself I'm not crazy :)

Concerning the debug I think I have more news... I just noticed that what happens is that when it happens original_disable_analysisand disable_analysis on the goban cofig disagree because the time the goban checks the ẁindow.user it is still not defined yet, so it thinks I'm not the one of the users of the game and it seems that once that variable is set on the constructor of the GoEngine it won't change anymore, even if the window.user is set later.