For the mates-in-two (starting from puzzle #307), when white makes their first move and then makes a move for black, the position on the Game Board doesn't reflect the state of the game. So when the user tries to make a move for black again, it considers it an illegal move.
Solved implicitly when I changed how the board position is being passed to Chessboard. It now uses a gamePosition variable that is being updated in the goToProblem function.
For the mates-in-two (starting from puzzle #307), when white makes their first move and then makes a move for black, the position on the Game Board doesn't reflect the state of the game. So when the user tries to make a move for black again, it considers it an illegal move.