-
4845628ae4
feat(db/m7-user-mgmt): migration 0022 + audit helper

bvandeusenandClaude Sonnet 4.6
2026-05-07 11:51:00 -04:00
-
e48d84cde1
feat(web/playlists): For-You tile play button refreshes and plays

bvandeusenandClaude Sonnet 4.6
2026-05-07 10:40:23 -04:00
-
54c40c18be
feat(server/playlists): manual For-You refresh endpoint
bvandeusen
2026-05-07 10:37:12 -04:00
-
0bfd51a149
feat(server/playlists): For-You head+tail + diversity caps

bvandeusenandClaude Sonnet 4.6
2026-05-07 10:34:39 -04:00
-
ac774f09fc
fix(server/playlists): dedupe covers in playlist cover collage
bvandeusen
2026-05-07 10:29:05 -04:00
-
b20738f925
feat(web/playlists): Discover refresh button (detail + home kebab)
bvandeusen
2026-05-07 08:44:33 -04:00
-
0ba31c7816
feat(server/playlists): manual Discover refresh endpoint
bvandeusen
2026-05-07 08:39:26 -04:00
-
f77a0699ec
feat(server/playlists): Discover system playlist

bvandeusenandClaude Sonnet 4.6
2026-05-07 08:35:54 -04:00
-
a98a106f6f
feat(db/m7-discover): migration 0021 + bucket queries

bvandeusenandClaude Sonnet 4.6
2026-05-07 08:31:17 -04:00
-
735383fb1d
feat(server/playlists): generate cover collages for system playlists
bvandeusen
2026-05-07 08:14:13 -04:00
-
e1d544f59f
feat(server/coverart): embedded album art extraction
bvandeusen
2026-05-07 08:05:56 -04:00
-
c53bcb6c99
feat(server/web/coverart): manual Re-search missing art button

bvandeusenandClaude Sonnet 4.6
2026-05-07 07:59:40 -04:00
-
8f5ec4c304
feat(server/coverart): auto-bump version on registered-provider change

bvandeusenandClaude Sonnet 4.6
2026-05-07 07:55:07 -04:00
-
238920540f
feat(server/coverart): Last.fm artist + album provider

bvandeusenandClaude Sonnet 4.6
2026-05-07 07:51:56 -04:00
-
8f8e88c8b9
feat(server/coverart): Deezer artist + album provider
bvandeusen
2026-05-07 07:48:02 -04:00
-
425f12db38
refactor(server/coverart): provider interface takes ArtistRef/AlbumRef

bvandeusenandClaude Sonnet 4.6
2026-05-07 07:44:34 -04:00
-
9a705d0ba4
feat(db/m7-art-providers): migration 0020 + provider-hash queries
bvandeusen
2026-05-07 07:39:02 -04:00
-
d57004b085
feat(web/admin): sticky tabs at top of admin scroll container
bvandeusen
2026-05-07 06:53:06 -04:00
-
126d4e53aa
feat(server/coverart): batch summary log with category breakdown
bvandeusen
2026-05-06 23:30:21 -04:00
-
bd4f5d3818
feat(server/coverart): album sidecar falls back to managed cache
bvandeusen
2026-05-06 23:29:27 -04:00
-
5207fae653
fix(deploy): writable data_dir in container + fatal-on-mkdir
bvandeusen
2026-05-06 23:28:54 -04:00
-
876f994904
fix(server/m7-recurring-scans): early-return in TryStartScan reap branch
bvandeusen
2026-05-06 23:03:21 -04:00
-
837db5c929
test(server/m7-recurring-scans): TZ-tolerant next-fire assertion
bvandeusen
2026-05-06 22:59:23 -04:00
-
6a2697518f
feat(web/m7-recurring-scans): admin Scan schedule section
bvandeusen
2026-05-06 22:31:11 -04:00
-
0cc3d6255d
feat(web/m7-recurring-scans): scan-schedule API client + query

bvandeusenandClaude Sonnet 4.6
2026-05-06 22:28:22 -04:00
-
b650a121b5
feat(server/m7-recurring-scans): admin schedule HTTP handlers

bvandeusenandClaude Sonnet 4.6
2026-05-06 22:26:16 -04:00
-
4607ce6db4
feat(server/m7-recurring-scans): Scheduler goroutine + boot wiring

bvandeusenandClaude Sonnet 4.6
2026-05-06 22:20:56 -04:00
-
8784e938bd
feat(server/m7-recurring-scans): TryStartScan helper + reaper
bvandeusen
2026-05-06 22:15:19 -04:00
-
e27d030e68
feat(db/m7-recurring-scans): migration 0019 + sqlc queries
bvandeusen
2026-05-06 22:12:27 -04:00
-
6e985cf532
fix(server/m7-scan-progress): forward-fix CI — ScanTrigger interface
bvandeusen
2026-05-06 21:26:36 -04:00
-
3b2d1009cd
feat(web/m7-scan-progress): StageBadge + 4-card layout updates
bvandeusen
2026-05-06 21:19:53 -04:00
-
a368c74a9a
feat(web/m7-scan-progress): stageState inference + tests
bvandeusen
2026-05-06 21:16:30 -04:00
-
3e9e46f190
feat(server/m7-scan-progress): wire stagePublisher into 4 scan stages

bvandeusenandClaude Sonnet 4.6
2026-05-06 21:14:50 -04:00
-
7b9ea131a2
feat(server/m7-scan-progress): stagePublisher helper
bvandeusen
2026-05-06 21:10:33 -04:00
-
34888c5181
fix(server/m7-cover-sources): forward-fix CI — last unused r
bvandeusen
2026-05-06 18:30:46 -04:00
-
e2ad3a4600
fix(server/m7-cover-sources): forward-fix CI — more unused r params
bvandeusen
2026-05-06 18:26:59 -04:00
-
fabbe777ec
fix(server/m7-cover-sources): forward-fix CI — unused-parameter lint
bvandeusen
2026-05-06 17:59:29 -04:00
-
4911b2a0d5
fix(server/m7-cover-sources): forward-fix CI — Mount call in library_test
bvandeusen
2026-05-06 17:49:26 -04:00
-
62222d8438
fix(server,web/m7-cover-sources): forward-fix CI round 2

bvandeusenandClaude Sonnet 4.6
2026-05-06 13:55:35 -04:00
-
5c386dc73e
fix(server,web/m7-cover-sources): forward-fix CI
bvandeusen
2026-05-06 13:22:36 -04:00
-
8307cbdbf9
feat(web/m7-cover-sources): admin /integrations cover-provider cards

bvandeusenandClaude Sonnet 4.6
2026-05-06 13:15:10 -04:00
-
39a07a280c
feat(web/m7-cover-sources): cover-providers API client + query

bvandeusenandClaude Sonnet 4.6
2026-05-06 13:11:08 -04:00
-
b6632136b7
feat(server/m7-cover-sources): admin cover-sources HTTP handlers

bvandeusenandClaude Sonnet 4.6
2026-05-06 13:08:45 -04:00
-
00cd28e79b
feat(server,web/m7-cover-sources): scan-orchestrator 4th stage

bvandeusenandClaude Sonnet 4.6
2026-05-06 13:03:36 -04:00
-
295d9da361
feat(server/m7-cover-sources): artist art enricher (thumb + fanart)
bvandeusen
2026-05-06 12:59:53 -04:00
-
385eb3b163
feat(server/m7-cover-sources): album enricher uses provider chain

bvandeusenandClaude Sonnet 4.6
2026-05-06 12:52:57 -04:00
-
392b8aa12a
feat(server/m7-cover-sources): SettingsService
bvandeusen
2026-05-06 12:43:54 -04:00
-
8f64bcdb5f
feat(server/m7-cover-sources): TheAudioDB provider
bvandeusen
2026-05-06 12:39:50 -04:00
-
1e3a76eba8
feat(server/m7-cover-sources): MBCAA provider wrapper
bvandeusen
2026-05-06 12:35:35 -04:00
-
b8c758c7c9
feat(server/m7-cover-sources): Provider interface + registry
bvandeusen
2026-05-06 12:31:00 -04:00
-
526a78b302
feat(db/m7-cover-sources): SQL queries for provider settings + recheck
bvandeusen
2026-05-06 12:28:18 -04:00
-
a86897b35e
feat(db/m7-cover-sources): migration 0018 — artist art + provider settings
bvandeusen
2026-05-06 12:24:36 -04:00
-
e2e9ab36f7
feat(web/m7-coverage-gauge): inline coverage gauge in admin overview

bvandeusenandClaude Sonnet 4.6
2026-05-06 10:18:59 -04:00
-
16527cb509
chore: gitignore .claude/ and .remember/
bvandeusen
2026-05-06 10:16:00 -04:00
-
3a424c6f73
feat(web/m7-coverage-gauge): coverage API client + query
bvandeusen
2026-05-06 10:12:57 -04:00
-
97cca4411a
chore(server/m7-coverage-gauge): align coverage test with peer style
bvandeusen
2026-05-06 10:06:38 -04:00
-
a1d295ebac
feat(server/m7-coverage-gauge): GET /api/admin/library/coverage
bvandeusen
2026-05-06 09:54:56 -04:00
-
ff5868bdab
docs(db/m7-coverage-gauge): note CHECK-constraint sync + bucket invariant
bvandeusen
2026-05-06 09:52:10 -04:00
-
98ec64c658
feat(db/m7-coverage-gauge): GetAlbumCoverageRollup query
bvandeusen
2026-05-06 09:40:26 -04:00
-
4481874482
fix(server,web/m7-382): handle duplicate-MBID conflicts during backfill

bvandeusenandClaude Opus 4.7
2026-05-04 21:45:15 -04:00
-
cc12ab7e96
fix(server/m7-382): strip NUL bytes from MBIDs before persist

bvandeusenandClaude Opus 4.7
2026-05-04 21:35:01 -04:00
-
947f944fe9
fix(server/m7-382): MBID extraction never matched dhowden/tag's Raw() keys

bvandeusenandClaude Opus 4.7
2026-05-04 21:15:51 -04:00
-
0db22971c7
fix(server,web/m7-381): forward-fix CI — Mount call + admin.test mock
bvandeusen
2026-05-04 20:19:42 -04:00
-
05bc2628a3
feat(web/m7-381): admin overview Library Scan section + manual trigger

bvandeusenandClaude Sonnet 4.6
2026-05-04 20:16:29 -04:00
-
3d0e213081
feat(server/m7-381): admin scan-status + manual trigger endpoints

bvandeusenandClaude Sonnet 4.6
2026-05-04 20:13:31 -04:00
-
65a3c4892c
feat(server/m7-381): RunScan orchestrator chains library+backfill+enrich

bvandeusenandClaude Sonnet 4.6
2026-05-04 20:08:48 -04:00
-
1ed6ca0309
feat(db/m7-381): sqlc queries for scan_runs
bvandeusen
2026-05-04 20:04:55 -04:00
-
031f4bef8b
feat(db/m7-381): scan_runs table for admin scan-status view
bvandeusen
2026-05-04 20:04:04 -04:00
-
835580ef1e
fix(web/m7-380): convert PlaylistTrack to TrackRef in PlaylistCard play handler
bvandeusen
2026-05-04 19:46:43 -04:00
-
b290b4ff0b
feat(web/m7-380): animate pending placeholder + add play overlay to PlaylistCard
bvandeusen
2026-05-04 19:42:30 -04:00
-
34615fffbd
feat(server/m7-380): one-shot MBID backfill worker for existing libraries

bvandeusenandClaude Sonnet 4.6
2026-05-04 19:40:27 -04:00
-
26f4c7a79f
fix(web/m7-352): use typographic apostrophe in failed-variant copy
bvandeusen
2026-05-04 19:16:25 -04:00
-
b8f9b3891b
fix(server/m7-379): enricher leaves cover_art_source NULL when MBID missing
bvandeusen
2026-05-04 19:04:16 -04:00
-
6c6c4bc1e4
feat(server/m7-379): heal existing artist+album mbid on rescan
bvandeusen
2026-05-04 19:03:12 -04:00
-
ab8fff834a
feat(server/m7-379): extract MusicBrainz IDs from audio tags during scan

bvandeusenandClaude Sonnet 4.6
2026-05-04 19:01:55 -04:00
-
412a1c00ac
fix(web/m7-352): update listPlaylists test URL after kind filter addition
bvandeusen
2026-05-04 18:52:40 -04:00
-
5698cfe8e4
feat(web/m7-352): home Playlists row — For-You + Songs-like + user playlists

bvandeusenandClaude Sonnet 4.6
2026-05-04 18:34:03 -04:00
-
b8bb1c1fa7
feat(web/m7-352): PlaylistPlaceholderCard with 4 state variants
bvandeusen
2026-05-04 18:31:42 -04:00
-
886903ae27
feat(web/m7-352): kind-aware createPlaylistsQuery + system-playlists-status helper
bvandeusen
2026-05-04 18:30:43 -04:00
-
56f0998f84
feat(web/m7-352): Playlist type gains kind/system_variant/seed_artist_id fields
bvandeusen
2026-05-04 18:14:46 -04:00
-
a8630a1355
feat(server/m7-352): GET /api/me/system-playlists-status for home placeholders
bvandeusen
2026-05-04 18:13:13 -04:00
-
db361c8305
feat(web/m7-377): CompactTrackCard gains like + queue + kebab overlays
bvandeusen
2026-05-04 17:49:19 -04:00
-
a062c8229f
fix(server/m7-353): rename unused r in handleAdminBulkRefetchCovers
bvandeusen
2026-05-04 17:43:22 -04:00
-
1691290875
fix(server): forward-fix CI — gofmt convert/types + rename unused r in enricher_test
bvandeusen
2026-05-04 17:41:16 -04:00
-
0dbe326d8b
fix(server,web): forward-fix CI lint + vitest failures

bvandeusenandClaude Opus 4.7
2026-05-04 17:39:06 -04:00
-
93f54e00a4
fix(server,web/m7-353): forward-fix CI — Mount call + AlbumRef test fixtures
bvandeusen
2026-05-04 17:31:27 -04:00
-
4e3bd46d69
fix(server,web/m7-353): post-review fixes (test compilation, AlbumRef field, bulk handler, design system)

bvandeusenandClaude Sonnet 4.6
2026-05-04 15:21:24 -04:00
-
28617df5bd
feat(web/m7-353): admin cover-refetch UI (per-album + bulk)

bvandeusenandClaude Sonnet 4.6
2026-05-04 15:15:26 -04:00
-
d4a837b904
feat(server/m7-353): admin endpoints for cover refetch (per-album + bulk)

bvandeusenandClaude Sonnet 4.6
2026-05-04 15:11:53 -04:00
-
6c33acf062
feat(server/m7-353): config + main.go wiring for coverart enricher
bvandeusen
2026-05-04 15:06:28 -04:00
-
64475d45dc
fix(server/m7-353): log retry-missing errors + tighten 404 test + cover EnrichRetryMissing
bvandeusen
2026-05-04 15:04:23 -04:00
-
78994a60cf
feat(server/m7-353): coverart.Enricher orchestrates sidecar + MBCAA + record

bvandeusenandClaude Sonnet 4.6
2026-05-04 15:00:28 -04:00
-
2d3841966e
feat(server/m7-353): coverart.Fetcher MBCAA HTTP client + rate limiter
bvandeusen
2026-05-04 14:49:28 -04:00
-
ef6c09dbfb
refactor(server/m7-353): consolidate findSidecarCover into coverart package
bvandeusen
2026-05-04 14:46:28 -04:00
-
70defdb5bc
feat(server/m7-353): coverart.FindSidecar shared helper + tests
bvandeusen
2026-05-04 14:45:20 -04:00
-
15170ed7c6
feat(db/m7-353): sqlc queries for album cover enrichment
bvandeusen
2026-05-04 14:30:55 -04:00
-
458a183099
feat(db/m7-353): add albums.cover_art_source enum column
bvandeusen
2026-05-04 14:29:13 -04:00
-
40be3bf917
feat(web/m7-377): album detail header gets LikeButton + Play/Shuffle row

bvandeusenandClaude Sonnet 4.6
2026-05-04 13:10:47 -04:00
-
ebafdbfb05
feat(web/m7-377): artist detail moves LikeButton inline with heading at size lg
bvandeusen
2026-05-04 13:09:25 -04:00
-
8fff7f62d6
refactor(web/m7-377): TrackRow +queue uses Lucide Plus icon + scoped aria-label
bvandeusen
2026-05-04 13:08:26 -04:00