bug(copi): next_round and toggle_continue_vote can be triggered on unstarted or finished games
I maintainer di solito rispondono entro 1 giorno
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Describe the bug
In copi.owasp.org/lib/copi_web/live/player_live/show.ex, while toggle_vote verifies that a game is active before accepting votes (via PR #3662), next_round and toggle_continue_vote do not check game.started_at or game.finished_at.
As a result:
- On unstarted games: A player in the lobby can trigger
next_round. Because cards haven't been dealt yet,last_round?evaluates totrue, which immediately setsfinished_atand ends the game session before the host can start it. - On finished games: Players can continue calling
next_roundandtoggle_continue_vote, modifying database state and advancingrounds_playedon a completed game.
Code Reference
In copi.owasp.org/lib/copi_web/live/player_live/show.ex:
handle_event("next_round", ...)(lines 122–152)handle_event("toggle_continue_vote", ...)(lines 155–192)
Neither handler checks is_nil(game.started_at) or not is_nil(game.finished_at), unlike handle_toggle_vote in the same file.
Expected Behavior
Both events should require the game to be active (not is_nil(game.started_at) and is_nil(game.finished_at)), matching Copi.Cornucopia.Game.active?/1 and rejecting calls on unstarted or finished games with a flash notice.
Proposed Solution
Add the existing lifecycle guard checks to both handlers in player_live/show.ex and add LiveView regression tests in show_test.exs.
- Lingua principale
- Python
- Stelle
- 158
- Fork
- 110
- Merge medio
- 1g 11h
- PR unite (30g)
- 115
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di OWASP/cornucopia
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
OWASP/cornucopia#3778 ·
I maintainer di solito rispondono entro 1 giorno
-
Upgrade @vitest/mocker from 4.1.10 to 5.0Forse di nuovo libera @Mahaboobunnisa123 l’ha presa 43 giorni fa e non c’è nessuna pull request aperta. Apertahelp wanted javascript
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
OWASP/cornucopia#3538 · 2 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 52/100
OWASP/cornucopia#3784 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 55/100
OWASP/cornucopia#3783 ·
I maintainer di solito rispondono entro 1 giorno
-
Add the Hindi translation for the Companion EditionForse già presa @V-2007-P l’ha presa 2 giorni fa. Aperta
OWASP/cornucopia#3770 · 6 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di OWASP/cornucopia
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
AI bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
AUTO-MAS-Project/AUTO-MAS#1960 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
btclib-org/btclib-wallet#872 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Scheduled returns scan all accepted minion keys causing extreme loadForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
saltstack/salt#70789 · 1 commento ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
btclib-org/btclib#3093 ·
I maintainer di solito rispondono entro 1 giorno