Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 47s
CI / test-go-edu-search (push) Successful in 45s
CI / test-python-klausur (push) Failing after 2m58s
CI / test-python-agent-core (push) Successful in 31s
CI / test-nodejs-website (push) Successful in 38s
The useEffect for mode changes called buildGrid() which was a useCallback closing over stale ipaMode/syllableMode values due to React's asynchronous state batching. The first click triggered a rebuild with the OLD mode; only the second click used the new one. Now inlines the API call directly in the useEffect, reading ipaMode and syllableMode from the effect's closure which always has the current values. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>