Repository navigation
fix: keep matched players occupied and track assigned games - #119
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: aacc5dc974
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
Codex Review: Didn't find any major issues. Keep them coming! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |

0 New Issues
0 Fixed Issues
0 Accepted Issues
A player could start another search after their previous search became
Matched, because the unique player index only coveredSearching. Extend that index to cover both states so the player remains occupied while the game is being created or played.Add the terminal
Closedstatus and an idempotentMatchSearch.Close()transition fromMatched. Closing the search releases the player for a new search. Other terminal states cannot be closed or reactivated.Track a nullable
GameIdin the domain and read model, with a non-unique index so both participants' searches can reference the same game.AssignGame()assigns a game only to a matched search, accepts repeated assignment of the same game without another event, and rejects replacement. The game reference survives closing. State-change events now include the assigned game ID.Include reversible migrations and updated EF model snapshots. Consuming game creation/completion/cancellation events will be part of the upcoming integration.
Validation: