Relay team battles (2v2)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Start by reading backend/server.js and the planned module split in #17, then inspect the existing battle and socket tests. Build the separate team-battle room and state, including server-enforced turns, disconnect handling, private chat, and code visibility. Done means a recorded four-browser battle and the specified socket tests pass, along with npm test and node scripts/check-boundary.js.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Every battle is one player against one player. Relay team battles add a format that friends can play together: two teams of two race on one problem, and teammates take turns at a shared editor.
Design
- Each team shares one editor. Control passes between teammates every 90 seconds (configurable). The player not typing sees the code live and can chat with their teammate only.
- Teams see the other team's test progress but never its code, until the battle ends.
- First team to pass every test wins. Partial credit and ties follow the same rules as one-on-one battles.
- Queue as a pre-made pair (invite a friend) or solo, with solo players paired into teams by rating.
- Unranked at first. Team ratings need their own design and are out of scope.
Engineering notes
- Build it as a separate module with its own room and state. Do not add team branches to the one-on-one battle code in
backend/server.js(see #17 for the planned split). - The server owns the turn timer. A player whose turn it is not cannot edit, enforced on the server, not just hidden in the UI.
- A teammate disconnecting hands control to the other teammate immediately. Rejoining restores their place in the rotation.
Definition of done
- A recorded four-browser battle, including a disconnect mid-turn.
- Socket tests for turn handoff, edits out of turn being rejected, team-only chat and the opposing team never receiving code.
npm testandnode scripts/check-boundary.jspass.
- Lingua principale
- JavaScript
- Stelle
- 0
- Fork
- 2
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun 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 sennaicodes/codearena
-
Add issue and pull request templatesForse di nuovo libera @franciscorodr26 l’ha presa 19 giorni fa e non c’è nessuna pull request aperta. Apertadocumentation good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
sennaicodes/codearena#13 · 1 commento ·
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
sennaicodes/codearena#34 ·
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
sennaicodes/codearena#33 ·
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
sennaicodes/codearena#32 ·
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
sennaicodes/codearena#31 ·
Tutte le issue di sennaicodes/codearena
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 12 giorni
-
[Bug]: Payment providers removed from config are never disabled in payment_providerForse già presa @medusa-os-bot l’ha presa oggi. Apertatype: bug
Difficoltà 2/5 Mezza giornata Idoneità per principianti 82/100
medusajs/medusa#17544 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area:cli good first issue priority:medium type:feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
PicadoLabs/build-with-ai#199 ·
I maintainer di solito rispondono entro 1 giorno
-
Cookies with valid Max-Age are omitted when Expires is in the pastForse già presa @Max-Reisinger l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
sagemathinc/sagebrush#252 ·
I maintainer di solito rispondono entro 1 giorno