For a long time I’ve wondered how hard it would be to fork Lichess and use it to play Go. It turns out it’s super hard. But what’s not hard is grabbing the CSS and re-implementing some of the basic functionality in Svelte with an LLM.
I’m not really interested in hosting Yet Another Go Server – I think most people here have seen the community fracture too many times. But hopefully this code is helpful and it’s easy to imagine taking this frontend and using OGS or KGS as a backend. I’m happy to help in whatever way I can.
I’d be happy to discuss more in this thread, or if you find one of the many bugs or many missing features you can report them at the links below.
It’s a reasonable question! For me, the OGS UI isn’t satisfying to use in the same way that Lichess is. Something about the layout of the page and the feel of playing stones just doesn’t do it for me even as compared to Sabaki (which are the components used here).
This means in my free time I’ll turn to playing quick chess games or chess puzzles instead of Go, even though it’s not the game I prefer. I made this for playing by myself and with friends, but I’ve put it up and posted here in case it’s more generally useful.
Super interesting stuff in that thread, appreciate the reference.
this sounds a little bit over the top
No arguments here. I’ve been around long enough to not extrapolate trends from the data point of a single unreasonable user. But at least for me I like the design of lichess enough and dislike the design of OGS enough that it tips the balance for the “go to the site for 5 minutes and do a few puzzles” use case.
Alright, leaving an update from the initial post because the site is quite different from then. I’m not planning on doing this regularly since I’m not really trying to get a userbase, but if the site is useful for you as always feel free to reach out or use it.
Uses the OGS TV API to show streams in the top left.
Uses the OGS liveplay API to show the top game in the bottom left.
Play games against local models (reuses the Kaya code)
Uses one of the WeiqiHub datasets for problem of the day and play random problem. These aren’t curated on libaduk, but are still pretty fun.
Users optionally can link an account to OGS and see unranked games in the lobby and use quick pairing to post an unranked game. You can then play those games but please use caution when using this, the functionality is rough around the edges. If you find weirdness let me know.
Tried the default Passkey but for some reason it didn’t work (before attempting that I did whitelist libaduk in all my blockers), but the QRcode thing worked.
Then I went to preferences and looked at “link OGS”, but decided to cancel, and after clicking “cancel”, I got this:
Really appreciate it! I wish I could take more credit but the vast majority of the hard work was done by lichess in making their site look nice. Anything that looks great comes from them and then the broken things are mistakes I made in porting it over.
Tried the default Passkey but for some reason it didn’t work (before attempting that I did whitelist libaduk in all my blockers), but the QRcode thing worked.
I have a friend who had a similar problem but for the life of me I haven’t been able to reproduce it. If you could send me more details here or in DM I’d be very appreciative! I use basically the simplest implementation from Passkeys | SimpleWebAuthn but there’s some percent of users it just flakes out for.
I know exactly what that second bug is, should be able to knock that out soon. Thanks for sending it!
Basically as soon as I’m able to create the issue on my end I should be able to fix it up, so this is already helpful and is totally different than what the other person had. Almost certainly an implementation issue on my end but I don’t know what yet and everyone’s passkey looks different. I guess the other questions I would have are:
what do you see as your initial option for creating the passkey? This is computer-by-computer since it’s just an API browsers are supposed to implement. I usually use Bitwarden, but on Safari I see an OSX pop-up “use touchid to sign in”. I was able to just use safari and touchid to make a test account though.
Do you have any extensions or plugins that could be intercepting or altering the messages? Password managers are the most likely suspect, but maybe there’s something else that could be going weird with the networking?
And then again extra (redundantly?) by whitelisting in
Ghostery
wBlock
StopTheMadness Pro
I even tried in a private window (where all extensions are turned off by default), same result: “Verification failed”
LOL, really? Next you’ll tell me I should try a different computer instead of a Mac, or logging in from another place than Germany?
I think I have seven or eight different browsers on my machine, and I must have used perhaps a dozen or more in my 35 years of surfing on the WWW, but currently Safari is my browser of choice
And when trying to diagnose a problem that occurs with Safari it wouldn’t be of much use if I’d try Firefox, or DuckDuckGo, or Brave Browser, or Chrome, or Arc Browser, or Vivaldi, or Microsoft Edge, or Opera, or iCab (which BTW I loved to use for a few years back when it was new) …
Really appreciate the info and the effort you’ve put into this! Seems like we can exclude extensions pretty thoroughly as a cause.
That second “Save a passkey” screen is entirely different than mine on Sonoma. I’m overdue to bump my own machine so hopefully I can reproduce the issue after that. The problem went away on its own (?!) for the other person but I’d still like to get to the bottom of this. Thanks again for the info!