fix: a slot emptied of another song's file drops that file's recording MBID, so missing-pair folding cannot fold it into the copy kept (M498)
release / govulncheck (push) Successful in 24s
release / web (push) Successful in 1m21s
release / go (push) Successful in 1m35s
release / integration (push) Failing after 5m1s
release / android (push) Successful in 5m2s
release / Build signed APK (releases and dev) (push) Successful in 5m11s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Skipped
release / Verify release artifacts (tag releases only) (push) Skipped

On 2026-10-20 twelve of the 24 slots the resolver emptied were folded by MBID
into the kept copy, so their albums were never wanted back.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-20 09:39:17 -04:00
co-authored by Claude Opus 5.5
parent 304caaee02
commit 8daa3d07b5
4 changed files with 40 additions and 1 deletions
+15
View File
@@ -56,6 +56,21 @@ func (q *Queries) ClearStaleSuspectSourceTracks(ctx context.Context, pattern str
return result.RowsAffected(), nil
}
const clearTrackMbids = `-- name: ClearTrackMbids :exec
UPDATE tracks
SET mbid = NULL
WHERE id = ANY($1::uuid[])
`
// Forgets the recording MBID of rows whose file was another song's (M498's
// wrong-slot removal). The MBID came from that file, so it names the song kept
// elsewhere on the album, and missing-pair folding would fold the emptied slot
// into it: twelve slots went that way on 2026-10-20 and were never wanted back.
func (q *Queries) ClearTrackMbids(ctx context.Context, ids []pgtype.UUID) error {
_, err := q.db.Exec(ctx, clearTrackMbids, ids)
return err
}
const clearTracksMissing = `-- name: ClearTracksMissing :execrows
UPDATE tracks
SET missing_since = NULL