Commit Graph

  • 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 bvandeusen 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 bvandeusen 2026-05-06 13:15:10 -04:00
  • 39a07a280c feat(web/m7-cover-sources): cover-providers API client + query bvandeusen 2026-05-06 13:11:08 -04:00
  • b6632136b7 feat(server/m7-cover-sources): admin cover-sources HTTP handlers bvandeusen 2026-05-06 13:08:45 -04:00
  • 00cd28e79b feat(server,web/m7-cover-sources): scan-orchestrator 4th stage bvandeusen 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 bvandeusen 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 bvandeusen 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 bvandeusen 2026-05-04 21:45:15 -04:00
  • cc12ab7e96 fix(server/m7-382): strip NUL bytes from MBIDs before persist bvandeusen 2026-05-04 21:35:01 -04:00
  • 947f944fe9 fix(server/m7-382): MBID extraction never matched dhowden/tag's Raw() keys bvandeusen 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 bvandeusen 2026-05-04 20:16:29 -04:00
  • 3d0e213081 feat(server/m7-381): admin scan-status + manual trigger endpoints bvandeusen 2026-05-04 20:13:31 -04:00
  • 65a3c4892c feat(server/m7-381): RunScan orchestrator chains library+backfill+enrich bvandeusen 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 bvandeusen 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 bvandeusen 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 bvandeusen 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 bvandeusen 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) bvandeusen 2026-05-04 15:21:24 -04:00
  • 28617df5bd feat(web/m7-353): admin cover-refetch UI (per-album + bulk) bvandeusen 2026-05-04 15:15:26 -04:00
  • d4a837b904 feat(server/m7-353): admin endpoints for cover refetch (per-album + bulk) bvandeusen 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 bvandeusen 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 bvandeusen 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
  • d35ed5945a feat(web/m7-377): AlbumCard gains bottom-right kebab bvandeusen 2026-05-04 13:07:06 -04:00
  • 4e42fc8280 feat(web/m7-377): ArtistCard top-right cluster + bottom-right kebab bvandeusen 2026-05-04 13:05:11 -04:00
  • 43a3dc47a8 feat(web/m7-377): AlbumMenu component + listAlbumTracks helper bvandeusen 2026-05-04 11:59:38 -04:00
  • ce01b3d992 feat(web/m7-377): ArtistMenu component with like/queue/playlist actions bvandeusen 2026-05-04 11:53:41 -04:00
  • 72496852a5 feat(web/m7-377): LikeButton gains size prop (sm/md/lg) bvandeusen 2026-05-04 11:50:31 -04:00
  • 9eeb79e99f fix(web/m7-377): update AddToPlaylistMenu tests for tracks-array prop bvandeusen 2026-05-04 11:48:55 -04:00
  • 7ddf77ace5 refactor(web/m7-377): AddToPlaylistMenu accepts tracks: TrackRef[] bvandeusen 2026-05-04 11:47:53 -04:00
  • 2b286a9bfd docs(db/m7-352): note ListPlaylistsByUserAndKind is test-only bvandeusen 2026-05-04 10:31:09 -04:00
  • 0a1e76564d feat(server/m7-352): 403 system_playlist_readonly on playlist edit endpoints bvandeusen 2026-05-04 09:29:37 -04:00
  • a90ff11f0f feat(server/m7-352): kind filter on GET /api/playlists + lazy fallback bvandeusen 2026-05-04 09:24:27 -04:00
  • 391f5f16a1 feat(server/m7-352): cron loop + main.go wiring for system playlist build bvandeusen 2026-05-04 09:16:07 -04:00
  • 797a2c8a45 fix(server/m7-352): log Finish/Fail run errors; drop unused seed-limit constant bvandeusen 2026-05-04 09:14:40 -04:00
  • 46a9de8e9a feat(server/m7-352): BuildSystemPlaylists with atomic replace + concurrency guard bvandeusen 2026-05-04 08:35:02 -04:00
  • ef478778ef feat(server/m7-352): system mix helpers (tieBreakHash, pickSeedArtists) bvandeusen 2026-05-04 08:24:39 -04:00
  • d7aebafa5d feat(server/m7-352): AssertEditable + ErrSystemPlaylistReadonly on playlists service bvandeusen 2026-05-04 08:21:18 -04:00
  • 58a27e2f0f fix(db/m7-352): cast COALESCE to uuid so sqlc emits typed return bvandeusen 2026-05-04 08:15:21 -04:00
  • 3fe929cebd feat(db/m7-352): sqlc queries for system playlist runs + seed selection bvandeusen 2026-05-04 08:14:20 -04:00
  • 36d05310ce feat(db/m7-352): system playlists schema (kind, variant, seed_artist_id, runs table) bvandeusen 2026-05-04 08:03:06 -04:00
  • 79d6045f7a fix(server/m7-365): silence unused-pool-param lint in history test bvandeusen 2026-05-04 07:05:49 -04:00
  • aa5b277b6b fix(web/m7-365): history page error-state test asserts by role bvandeusen 2026-05-04 07:05:20 -04:00
  • c04b288737 feat(web/m7-365): add History entry to Library nav bvandeusen 2026-05-04 06:59:05 -04:00
  • cd0b9c97e1 fix(web/m7-365): align /library/history with albums-page conventions bvandeusen 2026-05-04 06:57:24 -04:00
  • ecf4ed86f5 feat(web/m7-365): /library/history page with day grouping + infinite scroll bvandeusen 2026-05-04 06:53:37 -04:00
  • da39ff847b feat(web/m7-365): HistoryRow component with click-to-play bvandeusen 2026-05-04 06:19:59 -04:00
  • 4dee5922d9 feat(web/m7-365): dayBucket + groupByDay utilities bvandeusen 2026-05-04 06:18:18 -04:00
  • 46066c4d08 feat(web/m7-365): history API helper + tests bvandeusen 2026-05-04 06:16:15 -04:00
  • fc608fb36e feat(server/m7-365): GET /api/me/history handler + integration test bvandeusen 2026-05-04 05:52:17 -04:00
  • 45a17e4e95 feat(server/m7-365): sqlc query for user listening history bvandeusen 2026-05-04 05:46:30 -04:00
  • d202319c87 fix(web/m7-364): vitest failures — exact-match query, inert prop, -0, user guard bvandeusen 2026-05-03 22:37:00 -04:00
  • d43c6b31f4 chore(web/lint): clear svelte-check warnings + fix QueueDrawer test query bvandeusen 2026-05-03 22:26:09 -04:00
  • 22e3f67411 feat(web/m7-364): drawer focus management + grip Enter/Space handling bvandeusen 2026-05-03 22:23:20 -04:00
  • d83b3eab25 fix(web/m7-364): TrackRef field shape + seek-on-restore + drawer inert bvandeusen 2026-05-03 22:14:59 -04:00
  • 49c8e5959e feat(web/m7-364): mount QueueDrawer + esc handler + restore on bootstrap bvandeusen 2026-05-03 21:53:36 -04:00
  • 82846c9fcd fix(web/m7-364): align queue toggle styling with sibling toggles bvandeusen 2026-05-03 21:52:39 -04:00
  • 36805914d8 feat(web/m7-364): PlayerBar queue toggle + Up next line bvandeusen 2026-05-03 21:50:14 -04:00