-
d87d9e3255
fix(web): widen TrackMenuItem icon prop type to match Lucide signature
bvandeusen
2026-05-02 23:34:11 -04:00
-
5d69e9614f
fix(web): TrackMenuItem icon prop accepts Lucide class-components
bvandeusen
2026-05-02 23:24:20 -04:00
-
6858e45dbe
ci: split test.yml into test-web.yml + test-go.yml, run on dev pushes
bvandeusen
2026-05-02 23:11:20 -04:00
-
9dc4786fd9
feat(web): TrackMenu rewrite — 9 entries in 4 groups (M7 #372)

bvandeusenandClaude Opus 4.7
2026-05-02 23:00:09 -04:00
-
681b532b57
feat(web): TrackMenuDivider primitive for M7 #372 menu groups
bvandeusen
2026-05-02 22:46:44 -04:00
-
9256369926
feat(web): TrackMenuItem primitive for M7 #372
bvandeusen
2026-05-02 22:46:29 -04:00
-
f43ea6af5b
feat(player): playNext for M7 #372 track-actions menu
bvandeusen
2026-05-02 22:45:13 -04:00
-
905b5f0da7
feat(web): admin removeTrack API helper for M7 #372
bvandeusen
2026-05-02 22:44:01 -04:00
-
bb931746e3
feat(api): DELETE /api/admin/tracks/{id} for M7 #372

bvandeusenandClaude Opus 4.7
2026-05-02 22:41:51 -04:00
-
f6975cfad3
fix(tracks): rewrite RemoveTrack — direct os.Remove + optional Lidarr unmonitor

bvandeusenandClaude Opus 4.7
2026-05-02 22:35:34 -04:00
-
723eee9773
docs(m7): revise #372 spec — Remove from library no longer goes via Lidarr
bvandeusen
2026-05-02 22:28:49 -04:00
-
50a231fdc1
feat(tracks): RemoveTrack service with Lidarr-aware delete + cascade

bvandeusenandClaude Opus 4.7
2026-05-02 21:58:12 -04:00
-
30b0edf97b
feat(db): cascade-cleanup queries for M7 #372 track removal
bvandeusen
2026-05-02 21:53:33 -04:00
-
9c53c9894a
docs(m7): implementation plan for #372 track-actions menu
bvandeusen
2026-05-02 21:39:30 -04:00
-
136a475133
docs(m7): spec for #372 track-level actions menu
bvandeusen
2026-05-02 21:31:40 -04:00
-
f27e83612d
fix(flutter): two test environment issues from CI
bvandeusen
2026-05-02 19:36:27 -04:00
-
1e8b8aaa2d
fix(flutter): drop redundant const in nested const contexts
bvandeusen
2026-05-02 19:17:05 -04:00
-
d86c694cde
fix(flutter): five flutter analyze --fatal-infos issues from first CI run
bvandeusen
2026-05-02 19:01:54 -04:00
-
de1bfcf58b
ci: retrigger after node-baked flutter-ci runner image
bvandeusen
2026-05-02 18:57:39 -04:00
-
ec89201e04
ci(flutter): switch to dedicated flutter-ci runner
bvandeusen
2026-05-02 18:42:08 -04:00
-
7f10535420
fix(ci): flutter workflow runs on go-ci runner, not ubuntu-latest
bvandeusen
2026-05-02 18:09:26 -04:00
-
e4b211eb13
docs(flutter): replace flutter-create-default README
bvandeusen
2026-05-02 17:43:30 -04:00
-
7c0f9750d8
ci(flutter): Forgejo workflow — sync, analyze, test, build APK
bvandeusen
2026-05-02 17:42:38 -04:00
-
ec0c10f312
feat(flutter): connection-error banner + 401-clears-session interceptor
bvandeusen
2026-05-02 17:41:46 -04:00
-
f675782bf5
feat(flutter/player): NowPlaying full-screen view with scrubber
bvandeusen
2026-05-02 17:40:13 -04:00
-
bbfeb5d3ff
feat(flutter/player): mini PlayerBar in shell + tap-to-play wiring
bvandeusen
2026-05-02 17:39:09 -04:00
-
80f98b3243
feat(flutter/player): MinstrelAudioHandler + just_audio + audio_service
bvandeusen
2026-05-02 17:37:14 -04:00
-
44e2623b3c
feat(flutter/likes): LikeButton with optimistic toggle + rollback
bvandeusen
2026-05-02 17:34:59 -04:00
-
6ec7cea362
feat(flutter/library): artist + album detail screens
bvandeusen
2026-05-02 17:32:34 -04:00
-
5ef782905e
feat(flutter/home): home screen with five sections
bvandeusen
2026-05-02 17:30:42 -04:00
-
c47deb3c87
feat(flutter/library): card + row widgets (artist/album/track)
bvandeusen
2026-05-02 17:29:03 -04:00
-
3e267918b7
feat(flutter/library): API endpoints + Riverpod providers
bvandeusen
2026-05-02 17:26:57 -04:00
-
d115c267f4
feat(flutter): GoRouter shell + version gate + auth-aware redirects
bvandeusen
2026-05-02 17:24:08 -04:00
-
9cbbfcff6c
feat(flutter/auth): login screen + AuthApi.login posting to /api/auth/login
bvandeusen
2026-05-02 17:21:42 -04:00
-
3cf874ab69
feat(flutter/auth): server URL screen + auth provider + secure storage
bvandeusen
2026-05-02 17:20:26 -04:00
-
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

bvandeusenandClaude Opus 4.7
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

bvandeusenandClaude Opus 4.7
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

bvandeusenandClaude Opus 4.7
2026-05-02 13:04:38 -04:00
-
70d3d60d21
feat(web): add play + like to artist detail header

bvandeusenandClaude Opus 4.7
2026-05-02 12:57:55 -04:00
-
7b91718fc9
feat(admin): expand /admin overview into an actionable workbench

bvandeusenandClaude Opus 4.7
2026-05-02 12:51:57 -04:00
-
1c39001482
feat(web): give album-fallback SVG a card-shaped frame

bvandeusenandClaude Opus 4.7
2026-05-02 00:25:27 -04:00
-
c265b871c3
feat(admin): metadata-profile picker on integrations page

bvandeusenandClaude Opus 4.7
2026-05-02 00:09:13 -04:00
-
7d33166f23
fix(lidarr): include artistName + metadataProfileId on add-artist/add-album

bvandeusenandClaude Opus 4.7
2026-05-01 23:57:39 -04:00
-
2946ec4222
feat(web): coupled section scrolling, earlier infinite-scroll, fuller player cover

bvandeusenandClaude Opus 4.7
2026-05-01 23:52:03 -04:00
-
8d05f623cb
feat(web): /discover scrolls only the results, not the chrome

bvandeusenandClaude Opus 4.7
2026-05-01 23:42:08 -04:00
-
ab8235dd0b
fix(admin): approve flow surfaces real errors; auto-default Lidarr picks

bvandeusenandClaude Opus 4.7
2026-05-01 23:37:17 -04:00
-
8c62f0089e
feat(web): redesign PlayerBar — Lucide icons, focal play button, taller bar

bvandeusenandClaude Opus 4.7
2026-05-01 23:28:10 -04:00
-
564e0bf7ca
feat(web): use static SVG asset for album fallback cover

bvandeusenandClaude Opus 4.7
2026-05-01 23:21:25 -04:00
-
e6552f4ae2
feat(web): scale ArtistCard fallback Disc3 to fill the circle

bvandeusenandClaude Opus 4.7
2026-05-01 23:10:34 -04:00
-
24985c949f
feat(web): redesign FALLBACK_COVER as a beamed-pair glyph

bvandeusenandClaude Opus 4.7
2026-05-01 23:05:29 -04:00
-
65651510fb
feat(web): add chevron + aria affordances to user-menu button

bvandeusenandClaude Opus 4.7
2026-05-01 22:54:14 -04:00
-
7b1cd50cb9
fix(web): user-menu links navigate client-side, not via full reload

bvandeusenandClaude Opus 4.7
2026-05-01 22:51:05 -04:00
-
a5a6a10c7b
fix(web): give user-menu dropdown z-50 so clicks don't fall through

bvandeusenandClaude Opus 4.7
2026-05-01 22:36:03 -04:00
-
45793779df
feat(web): infinite scroll on /library/artists and /library/albums

bvandeusenandClaude Opus 4.7
2026-05-01 22:30:24 -04:00
-
22ac86f200
feat(web): trim main nav; pair Discover+Requests; move chrome to user menu

bvandeusenandClaude Opus 4.7
2026-05-01 22:23:56 -04:00
-
14c1895beb
feat(web): flatten admin shell — horizontal tabs, drop redundant banner

bvandeusenandClaude Opus 4.7
2026-05-01 22:14:39 -04:00
-
4b088e6b6f
feat(server): slog request log + log dropped Lidarr ping errors

bvandeusenandClaude Opus 4.7
2026-05-01 22:10:04 -04:00
-
0c5c10d00b
fix(server): drop duplicate /api/admin route mount that shadowed api.Mount endpoints

bvandeusenandClaude Opus 4.7
2026-05-01 22:05:15 -04:00
-
a598ea1418
feat(web): move Hidden tracks out of main nav, surface from Settings

bvandeusenandClaude Opus 4.7
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

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:27:53 -04:00
-
3d0a42865e
feat(web): add /library/albums wrapping-grid page

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:26:02 -04:00
-
dae08cd71a
feat(web): add /library/artists wrapping-grid page

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:24:48 -04:00
-
7d09e605cc
feat(web): rewrite / as home page composing 4 horizontal-scroll sections

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:23:20 -04:00
-
cf18d51394
feat(web): add AlphabeticalGrid wrapper with letter dividers

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:21:34 -04:00
-
0586483a42
feat(web): add CompactTrackCard for Most played rows

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:19:16 -04:00
-
c7e7dd269b
feat(web): add ArtistCard (circular) with play-shuffle overlay

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:18:05 -04:00
-
b5741e59b7
feat(web): polish AlbumCard with FabledSword tokens + play overlay

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:16:43 -04:00
-
8f5eb21094
feat(web): add HorizontalScrollRow component

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:15:10 -04:00
-
e674869e06
feat(web): add home/albums/artists API clients for M6a

bvandeusenandClaude Sonnet 4.6
2026-05-01 20:13:49 -04:00
-
b1f2227d62
feat(web): extend ArtistRef/AlbumRef + add HomePayload + new query keys

bvandeusenandClaude Opus 4.7
2026-05-01 20:12:25 -04:00
-
c5e42ec8c2
feat(api): wire M6a routes; alpha artist list uses covers query

bvandeusenandClaude Sonnet 4.6
2026-05-01 18:10:04 -04:00
-
2aecbba2ef
feat(api): add GET /api/artists/{id}/tracks handler

bvandeusenandClaude Sonnet 4.6
2026-05-01 18:06:15 -04:00
-
fc12532dee
feat(api): add GET /api/library/albums handler

bvandeusenandClaude Sonnet 4.6
2026-05-01 18:00:59 -04:00
-
00804cb974
feat(api): add GET /api/home composite handler

bvandeusenandClaude Sonnet 4.6
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

bvandeusenandClaude Opus 4.7
2026-05-01 17:54:40 -04:00
-
d25b1f9291
feat(recommendation): add HomeData composite service for /api/home

bvandeusenandClaude Sonnet 4.6
2026-05-01 09:06:43 -04:00
-
b31723c5e2
feat(db): add M6a library-list + artist-tracks queries

bvandeusenandClaude Sonnet 4.6
2026-05-01 09:03:10 -04:00
-
5ed3c20b74
feat(db): add M6a rediscover queries (albums + artists, with fallbacks)

bvandeusenandClaude Sonnet 4.6
2026-05-01 09:00:20 -04:00
-
10c84a536e
feat(db): add M6a home-section queries (recently added, most played, last played)

bvandeusenandClaude Sonnet 4.6
2026-05-01 08:56:53 -04:00
-
fd77217b7c
docs: add M6a home page implementation plan

bvandeusenandClaude Opus 4.7
2026-05-01 08:32:00 -04:00
-
fd053e76ca
docs: add M6a home page redesign + library relocation spec

bvandeusenandClaude Opus 4.7
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

bvandeusenandClaude Opus 4.7
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