Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Reject bingo toggle requests for tiles outside the user's current card

Aperta
#12 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
72/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

Inizia da src/routes/bingo/+page.server.ts seguendo toggle e verificando come viene costruita la scheda corrente del chiamante con seed, quindi esamina src/lib/server/standings.ts e loadStandings. Verifica che gli ID delle caselle non presenti nella scheda non possano creare né rimuovere progressi, che lo spazio libero rimanga un no-op e che la classifica conti solo i progressi della scheda corrente oppure applichi il comportamento scelto per il cambio di pool.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Problem

toggle verifies that a supplied tile ID exists and is active, but never verifies that the tile is one of the caller current seeded card tiles. Any authenticated user can POST an arbitrary active tileId from the global pool to ?/toggle; a bingo_progress row is inserted and a completion activity is logged.

This is visible in standings because loadStandings uses completedIds.size, which counts every progress row, not just IDs on the displayed card. It also lets players pre-mark tiles that may appear after later pool changes.

Reproduction

  1. Configure more tiles than a single card uses.
  2. Sign in and obtain the ID of an active tile that is not on the rendered card.
  3. Submit POST /bingo?/toggle with that ID.
  4. The request succeeds despite no corresponding tile being available to the player; the activity log and leaderboard progress increase.

Suggested fix

Build the caller current seeded card before insertion or removal and return 400 or 403 unless the requested ID is in it (free space remains a no-op). Count only current-card progress in standings, or deliberately clear or migrate off-card progress when the pool changes.

Affected code

  • src/routes/bingo/+page.server.ts
  • src/lib/server/standings.ts
Lingua principale
TypeScript
Stelle
0
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di hacksu/bingo

Tutte le issue di hacksu/bingo

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.