Tile position editor cannot reorder into an occupied position
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
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
- Open
/admin/tileswith two tiles at positions 0 and 1. - Change the position of tile 0 to 1 and save.
- The database rejects the update on the unique
positionconstraint, 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.tssrc/routes/admin/tiles/+page.server.tssrc/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
- 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 hacksu/bingo
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 78/100
Tutte le issue di hacksu/bingo
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
motiondivision/motion#3849 ·
-
Add: S Play Event HD Apertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
LiteLLM proxy response_cost (x-litellm-response-cost) is never applied to ChatModelOutput.cost Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
i-am-bee/beeai-framework#1697 · 1 reazione ·
-
Support bun dedupe Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
antfu/node-modules-inspector#214 ·