fix: address code review findings
- Honor ignore_singles/ignore_compilations at scanner read time so toggles take effect immediately on the dashboard, artist page, and digest instead of waiting for the MusicBrainz cache to expire and prune rows. - Run notifier notify synchronously in the scheduler loop to avoid overlapping read-send-mark runs double-sending the digest. - Show artist name (with ID fallback) on the archive page instead of raw IDs. - Select last_synced in GetAllArtistSettings for contract consistency. - Fix stale startPeriodicSync comment and remove redundant error var. - Remove dead ignored-branch from the artist template (never rendered). - Add tests: CSRF sameOrigin, ArtistCacheFresh, secondary_types round-trip, and scanner type-toggle filtering. - Update Specification.md schema/config to reflect mbid, last_synced, secondary_types, sync.interval, and server.public_url.
This commit is contained in:
@@ -28,7 +28,19 @@ func ScanArtist(ctx context.Context, db *database.DB, artistID string, threshold
|
||||
return nil, err
|
||||
}
|
||||
|
||||
missing := FindMissingReleases(local, external, threshold)
|
||||
// Apply the artist's type toggles at read time so ignore_singles /
|
||||
// ignore_compilations changes take effect immediately, without waiting for
|
||||
// the MusicBrainz cache to expire and prune rows on the next re-sync.
|
||||
settings, err := database.GetArtistSettings(db, artistID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
filter := TypeFilter{
|
||||
IgnoreSingles: settings.IgnoreSingles,
|
||||
IgnoreCompilations: settings.IgnoreCompilations,
|
||||
}
|
||||
|
||||
missing := FindMissingReleases(local, external, threshold, filter)
|
||||
return missing, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user