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

Tile position editor cannot reorder into an occupied position

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

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
68/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
postgresql, typescript
Ambito
backend, database

Direzione di ricerca

Inizia con l'azione di aggiornamento in src/routes/admin/tiles/+page.server.ts e il vincolo sulla posizione in src/lib/server/db/schema.ts, quindi esamina il flusso del form in src/routes/admin/tiles/+page.svelte. Riproduci lo spostamento dalla posizione 0 alla posizione 1 con due riquadri. Il lavoro è completato quando le posizioni occupate possono essere riordinate o scambiate in sicurezza e i conflitti restituiscono un errore di validazione invece di un errore del database non gestito.

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

Descrizione

Problem

The admin tiles page promises reordering by position, but bingo_tile.position is unique and the update action writes the submitted position directly. Moving a tile to any existing position causes PostgreSQL's unique-constraint error instead of changing the order; swapping two positions is impossible through the UI.

Reproduction

  1. Open /admin/tiles with two tiles at positions 0 and 1.
  2. Change the position of tile 0 to 1 and save.
  3. The database rejects the update on the unique position constraint, currently surfaced as a server error.

Suggested fix

Implement a reorder operation that adjusts the intervening positions in a transaction (or use a temporary unused position for swaps), and return a validation error rather than an unhandled database error for conflicts.

Affected code

  • src/lib/server/db/schema.ts
  • src/routes/admin/tiles/+page.server.ts
  • src/routes/admin/tiles/+page.svelte
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.