- Fixed initial board state to avoid showing incorrect spectator/opponent status.
- Introduced players[] tracking in React state to correctly reflect match readiness.
- Updated Board component to derive turn text based on player index and session user ID.
- Ensured proper handling of initial match state broadcast from backend.
- Improved overall clarity of gameplay state for both clients on match start.
- Detect Nakama error code 3 ("No match ID or token found") when a
match is rejected due to incompatible match properties (e.g., mode mismatch).
- Preserve last selected game mode using a ref so client can requeue
automatically without user interaction.
- Implement fallback logic to call joinMatchmaker() again after server
rejection.
- Improve robustness of matchmaking flow by ensuring players remain
in queue until a valid match is formed.