Build a feature-flagged multi-session competition room
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- cypress, javascript, mongodb, nodejs, react
- Ambito
- full-stack, testing
Direzione di ricerca
Inizia leggendo l’issue #199 e il modello Room/RaceSession esistente, quindi esegui la copertura Cypress delle stanze normali prima di valutare il flusso delle stanze di competizione. Il lavoro è completato quando la funzionalità disabilitata per impostazione predefinita supporta entrare → selezionare l’evento → risolvere → cambiare evento → risolvere, conserva risultati di sessione separati, ripristina lo stato dopo un aggiornamento o una riconnessione e lascia invariate le stanze normali.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Part of #199.
Goal
Prove the new Room/RaceSession model through a small user-visible competition-room flow without changing the simple normal-room experience.
Vertical slice
- Create or seed one competition room associated with a competition.
- Give it at least two event RaceSessions.
- Allow an eligible user to enter the room, choose an event session, and race.
- Keep attempts, waiting state, and results independent between sessions.
- Allow switching sessions without leaving the room.
- Preserve completed results when a session ends or another session becomes active.
- Hide the feature behind a disabled-by-default configuration flag.
UX requirements
- The ordinary home-page Create room action and copy-link flow remain unchanged.
- Normal rooms do not show competition/session-selection UI.
- Competition participants enter one room, then choose an event.
- The active session and event must always be obvious.
- Mobile layouts must not become a dashboard or require navigating a complex competition schedule.
- Unsupported or unavailable sessions show a clear, recoverable state.
Acceptance criteria
- One competition room can contain and display at least two event sessions.
- Two users can race in one session while another session retains separate state.
- Switching sessions cannot submit a solve to the wrong attempt.
- Refresh and reconnect restore the selected room/session safely.
- Permissions prevent unauthorized session creation or control.
- Ended-session results remain available to authorized users.
- Normal-room Cypress coverage proves no added step or visible complexity.
- A competition-room Cypress flow covers join → select event → solve → switch event → solve.
- The feature can be disabled without affecting normal rooms.
Deferred
- Automatic creation three days before every WCA competition.
- Complete competition discovery and registration syncing.
- Friends, invitations, notifications, rankings, and Discord integration.
- Lingua principale
- JavaScript
- Stelle
- 30
- Fork
- 9
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri 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 coder13/LetsCube
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
area: data area: platform enhancement priority: P1
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
Tutte le issue di coder13/LetsCube
Issue simili
-
Update HugeIcons library Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
antfu-collective/icones#398 ·
-
ECmail.com Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
wesbos/burner-email-providers#554 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
radiantearth/stac-browser#1023 ·
-
HMR stops working Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
components-web-app/docs#92 ·