Looking to pick up an issue and add to the code. Can’t assign an issue to myself in github. Might not matter but not much point two devs picking up the same thing. Will add a note to the issue fornow.
Thanks for your help with coding.
@anoek may be able to comment if this is on purpose or not
In practice, you will find this is not an issue, because there are plenty of issues to go around!
The pool of active developers is small enough that generally we have a good idea what each person is working on.
If you need any help with setup or whatever … please reach out.
Github only allows those with write access (or Triage access I believe) to assign issues.
It looks like anoek already made the assignment on GitHub. Thanks @Gurumanger for volunteering!
Trying to install and build: I have an npm dependency issue - it says it can’t resolve reference @types/react when running the npm install yarn step inside the cloned repo.
Any idea?
I am running on Kubuntu 23.04 if that helps
Hmm I don’t think I’ve seen that one. Could you share the command and full error output?
If you are having issues installing yarn, you might try the official instructions here: https://yarnpkg.com/getting-started/install
End of the log from running npm install yarn in the cloned repo folder:
4609 silly fetch manifest react@^16.13.0
4610 timing idealTree Completed in 260162ms
4611 timing command:install Completed in 260193ms
4612 verbose stack Error: Unable to resolve reference $@types/react
4612 verbose stack at get spec [as spec] (/usr/share/nodejs/@npmcli/arborist/lib/edge.js:186:15)
4612 verbose stack at OverrideSet.getEdgeRule (/usr/share/nodejs/@npmcli/arborist/lib/override-set.js:53:34)
4612 verbose stack at Edge.reload (/usr/share/nodejs/@npmcli/arborist/lib/edge.js:228:46)
4612 verbose stack at [_setFrom] (/usr/share/nodejs/@npmcli/arborist/lib/edge.js:266:10)
4612 verbose stack at new Edge (/usr/share/nodejs/@npmcli/arborist/lib/edge.js:85:19)
4612 verbose stack at [_loadDepType] (/usr/share/nodejs/@npmcli/arborist/lib/node.js:890:9)
4612 verbose stack at [Arborist.Node._loadDeps] (/usr/share/nodejs/@npmcli/arborist/lib/node.js:867:23)
4612 verbose stack at new Node (/usr/share/nodejs/@npmcli/arborist/lib/node.js:259:20)
4612 verbose stack at <computed>.then.error.requiredBy (/usr/share/nodejs/@npmcli/arborist/lib/arborist/build-ideal-tree.js:1250:20)
4612 verbose stack at async [nodeFromEdge] (/usr/share/nodejs/@npmcli/arborist/lib/arborist/build-ideal-tree.js:1058:19)
4613 verbose cwd /home/andy/sandbox/online-go.com
4614 verbose Linux 6.2.0-20-generic
4615 verbose node v18.13.0
4616 verbose npm v9.2.0
4617 error Unable to resolve reference $@types/react
Not sure what the react 16 reference here is.
I was wanting to try with the production release that you have deployed to the web server to see if anything had changed via a change since, but you don't see you have labelled releases when you deploy or can I identify the deployed release come other way?
I think there have been some peer dependency issues since we migrated from React 16 to React 18. I can’t seem to reproduce this message though, even after re-installing with npm.
Some things you might try though - I’d make sure everything is up-to-date (git pull
, npm install -g npm@latest
etc.) install yarn in a different way, and then use yarn to install everything else.
Option 1: Install yarn globally with npm
npm install --global yarn
Option 2: Install yarn with apt
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn
I was wanting to try with the production release that you have deployed to the web server to see if anything had changed via a change since, but you don’t see you have labelled releases when you deploy or can I identify the deployed release come other way?
That’s a good idea. I don’t think there are tags, but if you check out online-go.com/docs/about, there is a commit hash at the bottom of the page. You can try to sync to that.
git checkout c873cc7f
Great - option 1 worked with the global yarn install.
Next issue: npm run dev works fine until it gets part way through running eslint (12%). Then, the will laptop I am using freezes - can’t even move the mouse.
I ran top in a separate terminal and repeated (after a forced reboot) and that freezes. At the point in freezes, I have cpu usage of:
webpack 147.6%
gulp 120.2%
node 88.3%
kswapd0 30.9%
Surely it can’t hammer the machine that much?
Good grief. Turns out the default install of kubuntu created no swap space. Wonderful!
All good now. I will update the contribution page for both these this with a small note on this branch.
Glad you got it running! Let us know if there’s anything else we can help with!
OK - so working my way through the code (I will get on to VSCode but since I like to make life difficult for myself, I am in Notepad++ type territory at the moment)
{As an aside I should say I dabble in coding since core developer days are long behind me - I am an Enterprise Architect as a large global bank)
If I am right then game.tsx is where all the game rendering occurs both for a a live game and while you are looking at an AI-generated variation. Is that correct?
This code seems to be the place where the move array is created and, fr this issue, restricting it to the max number selected in preferences is where I was going, But that does not seem to have no effect:
if (stashed_move_string && stashed_review_id === goban.current.review_id) {
const prev_last_review_message = goban.current.getLastReviewMessage();
const moves = GoMath.decodeMoves(
stashed_move_string,
goban.current.width,
goban.current.height,
);
goban.current.engine.jumpTo(goban.current.engine.move_tree);
for (const move of moves) {
If I put a console.log in game.tsx, should it appear in the browser console or am I missing something here (I can see other console.log calls in the code) or is what is run in the browser dynamically generated per game? Logging “moves” in this way does not show anything.
Can you give me a few pointers?
I think @benjito linked a few commits on the github issue to do with stone transparency in case that pointed to related code.
online-go.com/Game.tsx at devel · online-go/online-go.com · GitHub would have a lot of game page code yes, and online-go.com/AIReview.tsx at devel · online-go/online-go.com · GitHub has a lot of the stuff to do with the AIReview code.
Somewhere around here,
would be my guess as to probably what is drawing the ghost variations on the board. I think the setMarks
function can draw different kinds of markings on the board.
This line
seems like it might just jump to the current position when disconnecting/reconnecting. I think I’ve seen that happen before where the game/variation kind of refreshes.
I think so, as long as the function is getting called somewhere it should print things out. I use it a lot when testing things to see current states of variables or testing which parts of code are being called etc.
Actually maybe this could be the method to play around with in AIReview.tsx
I think that might set the marks to be turned into the ghost variations.
That’s only at a glance though, I could be wrong but hopefully it generates some ideas
Thanks @shinuito – that should be enough to get me there. Perhaps the reason console.log is not showing up is that code is not being called - that makes sense and good to confirm it works in principle.