-
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