Learn to play Go - will it be server-based?

Right now ‘Learn to Play Go’ section is stored locally, so it’s not synchronized between devices and also may be erased if cookies are cleared. Is it going to be changed?

1 Like

I assume that you mean the progress is stored locally, in a cookie.

And yes, I just checked again, and this seems to be the case.

And yes, I concur, storing the progress on the server would be great (and appropriate!) … and so I moved this thread to Feedback > Suggestions :slightly_smiling_face:

If you’d slightly change the wording of your post to express that you suggest storing the progress on the server then it would also make sense to change the topic title to reflect this … right now I don’t want to change it prematurely :wink:

Ok, thanks(

I thought we fixed this recently?

What makes you say that it is “stored locally”?

1 Like

Doesn’t seem so.

I’m not the one you asked but my different browsers and devices all show different progress for Learn to Play Go

OH, WAIT … so apparently it’s NOT that “all” show different progress …

Safari on macOS:

Brave on macOS:

Chrome on macOS:

And Edge and Firefox on Windows show the same as Brave and Chrome on macOS.

<scratches head>

So, now I wonder why Safari/macOS shows a different progress – different even from Safari on iOS.

@GreenAsJade, do you have any idea what I can do to find out why there’s this discrepancy?

The behaviour is indeed kinda weird. Deleting cookies resets the progress for me. However, it comes back on its own after a few refreshes :smiley: Is it possible we somehow do both? Look for a cookie first (if present), and download progress from server when none is found?

That would possibly also explain @trohde’s discrepancy. Not sure how collisions would be treated though.

1 Like

THAT would be very extraordinary, I think :grinning_face_with_smiling_eyes:

And thanks, although I abhor having to set all my preferences again I might try deleting the OGS cookie(s).

We totally could do that, but I’m not sure it would “do what you want”.

But this in turn depends on what you want :slight_smile:

I thought it was the case that we try to sync “the latest” to the server, and pull “the latest” as well.

So all devices always have “the latest”.

There are tricky scenarios and what-if’s involved.

I had a go at implementing this then IIRC @noob42 did some more work to try and fix it.

If we’re really lucky @noob42 might pop in again to take a look! :crossed_fingers:

1 Like

Mh… I interpreted this not as a request but rather as a question whether that might be what’s actually happening, because the whole paragraph is this:

1 Like

I worded my reply poorly, but yes, as Tom assumes I wondered whether the current process is a mix of both looking for a cookie, and downloading the progress from a server if none is found, which I thought might explain the observed weird behavior.

Should that be the case, it is probably not gonna be an issue for most users, but I wondered if it might possibly be an unwanted remnant of the “old” code. Just a quick guess though, obviously it might be a different matter completely :man_shrugging:

Its definitely the case that the intent is not “initialize my progress on this device from the server, then use the cookie from now on”.

It’s quite possible a bug causes that to be what happens.

To understand what’s happening, it needs “first I do this, then I do that, then I go back here and … look, this is what I see” kind of tests.

1 Like

I’ve found two scenarios that can break our current “server based storage of progress”.

  1. Doing Learn To Play sessions while logged out
  2. Progress that was achieved on a device before the feature went in (January this year).

I’m looking at how to “rescue” browsers that got into this situation.

One way to achieve it (workaround) is to do a lesson in Learn To Play Go on a device that does not have either of those two problems. This will get synced back to the problematic device - for that section of Learn To Play Go, and from there it should be OK.

The proper solution is code that recognises the problem - I’m working on it

1 Like

:exploding_head: – I must say that I’m totally confused now …

What about different browsers on the same device?

I currently have:

  • macOS, with different browsers: Safari, Firefox, Brave, Chrome, DuckDuckGo

  • iOS, Safari

  • iPadOS, Safari

And the only outlier is Safari on macOS, this is the device and the browser what I use most.

Oh, and this one also shows the most progress.