go test ./backend/database/... ./backend/library/...
golangci-lint run .
The incremental scan's orphan cleanup and RemoveFromLibrary deleted audio_files rows without first filling the playlist phantom columns,
so a track removed from the library folder outside YellowJacket (or
removed from the library) became a permanently empty playlist row. Adds
a scoped PreservePlaylistPhantomsForFiles and runs it in the same
transaction as the deletes.
| commit | issue |
|---|---|
| `1b9868dd` fix(library): preserve playlist phantoms on incremental scan and removal | #246 |
## Verification
- `go test ./backend/database/... ./backend/library/...`
- `golangci-lint run .`
The incremental scan's orphan cleanup and `RemoveFromLibrary` deleted
`audio_files` rows without first filling the playlist phantom columns,
so a track removed from the library folder outside YellowJacket (or
removed from the library) became a permanently empty playlist row. Adds
a scoped `PreservePlaylistPhantomsForFiles` and runs it in the same
transaction as the deletes.
Closes #246
The incremental scan's orphan cleanup and RemoveFromLibrary deleted
audio_files rows without first filling the playlist phantom columns, so
a track removed from the library folder outside YellowJacket (or
removed from the library) became a permanently empty playlist row that
nothing could re-link — the same bug #183 fixed on the full-rescan and
retire paths, on the two paths it missed.
Add a scoped PreservePlaylistPhantomsForFiles and run it in the same
transaction as the deletes on both paths.
Closes#246
yonlu
merged commit 1335572f0a into main2026-09-21 00:41:06 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
1b9868ddfix(library): preserve playlist phantoms on incremental scan and removalVerification
go test ./backend/database/... ./backend/library/...golangci-lint run .The incremental scan's orphan cleanup and
RemoveFromLibrarydeletedaudio_filesrows without first filling the playlist phantom columns,so a track removed from the library folder outside YellowJacket (or
removed from the library) became a permanently empty playlist row. Adds
a scoped
PreservePlaylistPhantomsForFilesand runs it in the sametransaction as the deletes.
Closes #246