Commit Graph

  • c0785cf894 feat(flutter/models): User, ArtistRef, AlbumRef, TrackRef, HomeData bvandeusen 2026-05-02 17:18:12 -04:00
  • c93b852e65 feat(flutter/api): dio client with Bearer interceptor + ApiError bvandeusen 2026-05-02 17:15:55 -04:00
  • 2729ab897f feat(flutter): FabledSwordTheme ThemeExtension + Material 3 ThemeData bvandeusen 2026-05-02 16:56:38 -04:00
  • f97cf6eb38 feat(flutter): token + asset sync from web; gen_tokens.dart bvandeusen 2026-05-02 16:55:21 -04:00
  • d8bfdc1733 chore(ci): .dockerignore + path filters on existing workflows bvandeusen 2026-05-02 16:05:28 -04:00
  • e46224acc9 feat(flutter): project scaffold with pubspec and smoke test bvandeusen 2026-05-02 15:25:05 -04:00
  • b03da903d9 feat(server): /healthz returns min_client_version bvandeusen 2026-05-02 15:11:10 -04:00
  • c3be0f3e6e refactor(web): consolidate error-copy table to JSON source of truth bvandeusen 2026-05-02 15:01:46 -04:00
  • ea22807a3f refactor(web): extract design tokens to tokens.json source of truth bvandeusen 2026-05-02 14:55:46 -04:00
  • 261c2c4301 docs(m7): implementation plan for Flutter mobile foundation + first slice bvandeusen 2026-05-02 14:26:25 -04:00
  • d16ea16d5d docs(m7): spec for Flutter mobile foundation + first slice bvandeusen 2026-05-02 14:11:55 -04:00
  • f77245bc41 feat(requests): show ingest progress while requests are in flight bvandeusen 2026-05-02 13:04:38 -04:00
  • 70d3d60d21 feat(web): add play + like to artist detail header bvandeusen 2026-05-02 12:57:55 -04:00
  • 7b91718fc9 feat(admin): expand /admin overview into an actionable workbench bvandeusen 2026-05-02 12:51:57 -04:00
  • 1c39001482 feat(web): give album-fallback SVG a card-shaped frame bvandeusen 2026-05-02 00:25:27 -04:00
  • c265b871c3 feat(admin): metadata-profile picker on integrations page bvandeusen 2026-05-02 00:09:13 -04:00
  • 7d33166f23 fix(lidarr): include artistName + metadataProfileId on add-artist/add-album bvandeusen 2026-05-01 23:57:39 -04:00
  • 2946ec4222 feat(web): coupled section scrolling, earlier infinite-scroll, fuller player cover bvandeusen 2026-05-01 23:52:03 -04:00
  • 8d05f623cb feat(web): /discover scrolls only the results, not the chrome bvandeusen 2026-05-01 23:42:08 -04:00
  • ab8235dd0b fix(admin): approve flow surfaces real errors; auto-default Lidarr picks bvandeusen 2026-05-01 23:37:17 -04:00
  • 8c62f0089e feat(web): redesign PlayerBar — Lucide icons, focal play button, taller bar bvandeusen 2026-05-01 23:28:10 -04:00
  • 564e0bf7ca feat(web): use static SVG asset for album fallback cover bvandeusen 2026-05-01 23:21:25 -04:00
  • e6552f4ae2 feat(web): scale ArtistCard fallback Disc3 to fill the circle bvandeusen 2026-05-01 23:10:34 -04:00
  • 24985c949f feat(web): redesign FALLBACK_COVER as a beamed-pair glyph bvandeusen 2026-05-01 23:05:29 -04:00
  • 65651510fb feat(web): add chevron + aria affordances to user-menu button bvandeusen 2026-05-01 22:54:14 -04:00
  • 7b1cd50cb9 fix(web): user-menu links navigate client-side, not via full reload bvandeusen 2026-05-01 22:51:05 -04:00
  • a5a6a10c7b fix(web): give user-menu dropdown z-50 so clicks don't fall through bvandeusen 2026-05-01 22:36:03 -04:00
  • 45793779df feat(web): infinite scroll on /library/artists and /library/albums bvandeusen 2026-05-01 22:30:24 -04:00
  • 22ac86f200 feat(web): trim main nav; pair Discover+Requests; move chrome to user menu bvandeusen 2026-05-01 22:23:56 -04:00
  • 14c1895beb feat(web): flatten admin shell — horizontal tabs, drop redundant banner bvandeusen 2026-05-01 22:14:39 -04:00
  • 4b088e6b6f feat(server): slog request log + log dropped Lidarr ping errors bvandeusen 2026-05-01 22:10:04 -04:00
  • 0c5c10d00b fix(server): drop duplicate /api/admin route mount that shadowed api.Mount endpoints bvandeusen 2026-05-01 22:05:15 -04:00
  • a598ea1418 feat(web): move Hidden tracks out of main nav, surface from Settings bvandeusen 2026-05-01 21:14:01 -04:00
  • 4e47b2e7f5 feat(web): pair scroll arrows beside section title; bleed scroller to viewport edge bvandeusen 2026-05-01 21:05:16 -04:00
  • 4412a4af0c feat(web): update nav (Home/Artists/Albums); retire ArtistRow bvandeusen 2026-05-01 20:27:53 -04:00
  • 3d0a42865e feat(web): add /library/albums wrapping-grid page bvandeusen 2026-05-01 20:26:02 -04:00
  • dae08cd71a feat(web): add /library/artists wrapping-grid page bvandeusen 2026-05-01 20:24:48 -04:00
  • 7d09e605cc feat(web): rewrite / as home page composing 4 horizontal-scroll sections bvandeusen 2026-05-01 20:23:20 -04:00
  • cf18d51394 feat(web): add AlphabeticalGrid wrapper with letter dividers bvandeusen 2026-05-01 20:21:34 -04:00
  • 0586483a42 feat(web): add CompactTrackCard for Most played rows bvandeusen 2026-05-01 20:19:16 -04:00
  • c7e7dd269b feat(web): add ArtistCard (circular) with play-shuffle overlay bvandeusen 2026-05-01 20:18:05 -04:00
  • b5741e59b7 feat(web): polish AlbumCard with FabledSword tokens + play overlay bvandeusen 2026-05-01 20:16:43 -04:00
  • 8f5eb21094 feat(web): add HorizontalScrollRow component bvandeusen 2026-05-01 20:15:10 -04:00
  • e674869e06 feat(web): add home/albums/artists API clients for M6a bvandeusen 2026-05-01 20:13:49 -04:00
  • b1f2227d62 feat(web): extend ArtistRef/AlbumRef + add HomePayload + new query keys bvandeusen 2026-05-01 20:12:25 -04:00
  • c5e42ec8c2 feat(api): wire M6a routes; alpha artist list uses covers query bvandeusen 2026-05-01 18:10:04 -04:00
  • 2aecbba2ef feat(api): add GET /api/artists/{id}/tracks handler bvandeusen 2026-05-01 18:06:15 -04:00
  • fc12532dee feat(api): add GET /api/library/albums handler bvandeusen 2026-05-01 18:00:59 -04:00
  • 00804cb974 feat(api): add GET /api/home composite handler bvandeusen 2026-05-01 17:58:59 -04:00
  • 1abaf15051 feat(api): extend ArtistRef/AlbumRef + add HomePayload for M6a bvandeusen 2026-05-01 17:56:19 -04:00
  • 302a15a209 test(recommendation): fix mislabeled compile-time assert in home tests bvandeusen 2026-05-01 17:54:40 -04:00
  • d25b1f9291 feat(recommendation): add HomeData composite service for /api/home bvandeusen 2026-05-01 09:06:43 -04:00
  • b31723c5e2 feat(db): add M6a library-list + artist-tracks queries bvandeusen 2026-05-01 09:03:10 -04:00
  • 5ed3c20b74 feat(db): add M6a rediscover queries (albums + artists, with fallbacks) bvandeusen 2026-05-01 09:00:20 -04:00
  • 10c84a536e feat(db): add M6a home-section queries (recently added, most played, last played) bvandeusen 2026-05-01 08:56:53 -04:00
  • fd77217b7c docs: add M6a home page implementation plan bvandeusen 2026-05-01 08:32:00 -04:00
  • fd053e76ca docs: add M6a home page redesign + library relocation spec bvandeusen 2026-05-01 08:07:37 -04:00
  • cd2ff648d0 Merge pull request 'M5a frontend + M5b quarantine + M5c suggestions' (#30) from dev into main bvandeusen 2026-05-01 11:14:18 +00:00
  • 2f3326aee6 feat(web): suggestion feed on /discover (search-empty default) bvandeusen 2026-05-01 06:51:41 -04:00
  • 7f18a04161 feat(web): DiscoverResultCard attribution prop for M5c suggestions bvandeusen 2026-05-01 06:25:42 -04:00
  • 95b706836d feat(web): API client for /api/discover/suggestions bvandeusen 2026-05-01 06:24:21 -04:00
  • ae2d69d378 feat(api): /api/discover/suggestions handler bvandeusen 2026-05-01 06:23:08 -04:00
  • 277898a49a feat(recommendation): SuggestArtists service for M5c bvandeusen 2026-05-01 06:20:02 -04:00
  • 5e73f590a9 feat(similarity): persist unmatched similar-artist MBIDs for M5c bvandeusen 2026-05-01 06:07:22 -04:00
  • be23ae488d feat(listenbrainz): expose Name on SimilarArtist for M5c suggestions bvandeusen 2026-05-01 05:51:29 -04:00
  • 2ca09749d9 feat(db): add artist_similarity_unmatched schema (migration 0012) bvandeusen 2026-05-01 05:50:22 -04:00
  • cf1b75ca12 docs(plan): add M5c suggested-additions implementation plan bvandeusen 2026-04-30 23:02:41 -04:00
  • a0a9fb201b docs(spec): add M5c suggested-additions design bvandeusen 2026-04-30 22:48:55 -04:00
  • 3e3ad89645 fix: T16 verification cleanups bvandeusen 2026-04-30 20:49:11 -04:00
  • 3bfec944c7 feat(web): /admin/quarantine aggregated queue with resolution actions bvandeusen 2026-04-30 20:40:34 -04:00
  • 0d7a65cffb feat(web): /library/hidden user-facing quarantine view bvandeusen 2026-04-30 20:35:11 -04:00
  • 88ff997af7 feat(web): mount TrackMenu in TrackRow + PlayerBar bvandeusen 2026-04-30 20:31:56 -04:00
  • 8da4a3f9c0 feat(web): TrackMenu overflow + FlagPopover for the quarantine flow bvandeusen 2026-04-30 20:29:07 -04:00
  • b653e83478 feat(web): API client modules for quarantine + admin quarantine bvandeusen 2026-04-30 20:26:07 -04:00
  • b7f8136502 fix(server): wire real Lidarr clientFn for requests + quarantine services bvandeusen 2026-04-30 20:23:07 -04:00
  • 6fedd495be feat(api): /api/quarantine user + admin endpoints + Service wiring bvandeusen 2026-04-30 20:19:39 -04:00
  • ba81e4f2ac feat(api): route track-list reads through user-context quarantine filter bvandeusen 2026-04-30 20:09:04 -04:00
  • 559fb5dd2c feat(db): add user-context track query variants honoring quarantine bvandeusen 2026-04-30 19:49:00 -04:00
  • ef3fffb3ea fix(lidarrquarantine): keep LidarrAlbumMbid nil on Resolve/DeleteFile audit rows + cover idempotent Resolve bvandeusen 2026-04-30 19:42:19 -04:00
  • 782e72b595 feat(lidarrquarantine): admin actions Resolve/DeleteFile/DeleteViaLidarr bvandeusen 2026-04-30 19:37:40 -04:00
  • 7a0bc1f815 fix(lidarrquarantine): translate FK violation to ErrTrackNotFound + drop unneeded *string AlbumTitle bvandeusen 2026-04-30 17:42:55 -04:00
  • b4fe224a67 feat(lidarrquarantine): Service Flag/Unflag/ListMine/ListAdminQueue bvandeusen 2026-04-30 17:36:27 -04:00
  • e6e3f297d6 fix(dbtest,library): include quarantine tables in ResetDB; clarify DeleteTrackFile docstring bvandeusen 2026-04-30 17:32:08 -04:00
  • d0523da520 feat(library): DeleteTrackFile (rm file + tracks row, album/artist preserved) bvandeusen 2026-04-30 17:04:21 -04:00
  • dbe0e79f54 fix(lidarr): wrap MBID-lookup decode errors with ErrInvalidPayload + fill test gaps bvandeusen 2026-04-30 17:01:50 -04:00
  • f2cdd23fd5 feat(lidarr): LookupArtistByMBID, LookupAlbumByMBID, DeleteAlbum bvandeusen 2026-04-30 16:57:14 -04:00
  • 71a9bd8dee fix(db): drop redundant quarantine user index + tighten ListQuarantineForUser bvandeusen 2026-04-30 16:54:03 -04:00
  • a8df73fe42 feat(db): add lidarr_quarantine + actions schema (migration 0011) bvandeusen 2026-04-30 16:48:33 -04:00
  • 0806a37a42 docs(plan): add M5b quarantine workflow implementation plan bvandeusen 2026-04-30 15:15:53 -04:00
  • 0b3919e4a1 docs(spec): add M5b quarantine workflow design bvandeusen 2026-04-30 14:54:44 -04:00
  • db37deb6f8 test(lidarrrequests): expand coverage on Service.Approve + Reconciler bvandeusen 2026-04-30 10:58:21 -04:00
  • ab9be40bb2 feat(web): add /admin/requests approval queue with override modal bvandeusen 2026-04-29 23:31:18 -04:00
  • b895e9ef7e feat(web): add /admin/requests approval queue with override modal bvandeusen 2026-04-29 23:24:34 -04:00
  • b1b50187b3 fix(web): integrations panel review fixes bvandeusen 2026-04-29 23:11:32 -04:00
  • c281c8b5dd feat(web): add /admin/integrations Lidarr connection panel bvandeusen 2026-04-29 23:06:19 -04:00
  • 041e63744d fix(web): promote bg-accent-tint to a real Tailwind utility bvandeusen 2026-04-29 22:54:30 -04:00
  • bfd48f5a02 feat(web): add /admin layout with role-gated load + sidebar bvandeusen 2026-04-29 22:48:26 -04:00
  • dd86ffca94 fix(web): a11y on /requests aria-labels when titles are absent bvandeusen 2026-04-29 22:29:07 -04:00
  • ad904afaf6 feat(web): add /requests user-facing request history bvandeusen 2026-04-29 22:24:17 -04:00
  • a7506d9413 fix(web): drop dead onkeydown stopPropagation on discover modal bvandeusen 2026-04-29 22:20:35 -04:00