🤖 drafts: empty-row edge cases in creation draft list cleanup (deferred from #5232)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 55/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- backend
Direzione di ricerca
Read src/node/services/draftService.ts, focusing first on deleteProjectDrafts, putListEntry, importLegacyList, and collectOrphanedCreationDrafts, along with the referenced review threads. Verify both re-added-project cleanup and orphan-directory failures leave no empty listed draft rows, while preserving the existing lock order and cleanup behavior.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Deferred from the #5232 round-4 review (creation draft list on the backend, src/node/services/draftService.ts). Both are narrow cases in project-removal cleanup that leave or drop an empty listed draft row; no typed input is involved. The coordinator stopped the review loop on #5232 after round 4 and deferred them here.
- Re-added project vs. removal cleanup (thread on
deleteProjectDrafts). If the same project path is registered again whiledeleteProjectDraftsholds the project's drafts dir lock,putListEntry(which takes only the list lock) can list a new empty draft that the cleanup's delisting then removes. Fix shape: haveputListEntry/importLegacyListtake the project dir lock too (dir lock, then list lock, the existing order), or record a project generation and delist only rows older than the removal. - List GC stops at the first failing orphan dir (thread on
collectOrphanedCreationDrafts). If clearing one orphan project dir throws, the outer catch skipsremoveUnownedListEntries, so empty rows of unconfigured projects stay until the next start (and show again if that path is re-added). Fix shape: catch per directory, or run the list cleanup as its own guarded step.
Refs #5225
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high • Cost: $31.20
- Lingua principale
- TypeScript
- Stelle
- 2.1k
- Fork
- 142
- Merge medio
- 5h 26m
- PR unite (30g)
- 903
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Nessuna 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 coder/xum
-
🤖 fix: two command-palette titles and old Windows rows still use a backslash-blind project nameApertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
tech-debt
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
tech-debt
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
area:security documentation effort:S priority:P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
app:web meta:ops
Difficoltà 2/5 Mezza giornata Idoneità per principianti 78/100
osu-tournament-rating/otr#1113 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
typegoose/mongodb-memory-server#1040 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 92/100