a3c0aed63e
feat(flutter): playlist detail nav hydration — header renders before fetch
bvandeusen2026-05-11 22:24:02 -04:00
1ddde12959
perf: lazy player source build + Cache-Control on byte endpoints
bvandeusen2026-05-11 22:18:58 -04:00
f1b4652c77
Merge pull request 'release v2026.05.11.3: caching, perf, playlist polish' (#41) from dev into main
v2026.05.12.0
bvandeusen2026-05-12 00:35:48 +00:00
4ede37d9ad
fix(flutter): stop the cache feedback loop — playback no longer competes
bvandeusen2026-05-11 19:02:16 -04:00
4bd069430b
feat(flutter): extend metadata prefetch to library tabs + artist detail
bvandeusen2026-05-11 18:52:37 -04:00
22152b1ba3
feat(flutter): metadata prefetcher — pre-warm drift for likely tap targets
bvandeusen2026-05-11 18:44:09 -04:00
572325e23f
fix(flutter): write cachedTracks rows from playlist fetch (was the empty-rows bug)
bvandeusen2026-05-11 18:38:21 -04:00
8d466ebdd5
fix(flutter): reconcile stale playlists + recover from 404 on tap
bvandeusen2026-05-11 18:32:40 -04:00
af5744f8ab
perf(home): aggregate-first rewrites for two scan-the-world queries
bvandeusen2026-05-11 18:26:20 -04:00
c7549bbe48
perf(api): collapse N+1 in /api/artists/{id} + 1 round-trip in /api/albums/{id}
bvandeusen2026-05-11 18:13:27 -04:00
9cac664679
feat(flutter): register stream-cached files in the audio cache index
bvandeusen2026-05-11 17:46:32 -04:00
c08f4ace80
fix(flutter): cache usage display reflects actual disk, not just index
bvandeusen2026-05-11 17:41:07 -04:00
c1df2af992
fix(flutter): /queue at top level — fixes duplicate-key crash from player
bvandeusen2026-05-11 17:32:57 -04:00
a7f35a5d6d
feat(flutter): full player — combined action row above seek
bvandeusen2026-05-11 17:25:27 -04:00
e610948307
Merge pull request 'release v2026.05.11.2: signing key + library infinite scroll' (#40) from dev into main
v2026.05.11.2
bvandeusen2026-05-11 19:51:41 +00:00
8c00ee21c7
feat(flutter): infinite scroll on library Artists + Albums tabs
bvandeusen2026-05-11 15:41:01 -04:00
2500914498
fix(flutter): persistent release signing key via CI secret
bvandeusen2026-05-11 14:22:32 -04:00
fb811804d2
Merge pull request 'release v2026.05.11.1: Flutter caching, navigation, and player polish' (#39) from dev into main
v2026.05.11.1
bvandeusen2026-05-11 17:47:41 +00:00
0134281b8c
fix(flutter): CI analyze + center title in full player
bvandeusen2026-05-11 13:01:52 -04:00
4dbb3190ff
fix(flutter): player updates on track change + kebab artist nav + Start radio
bvandeusen2026-05-11 12:32:43 -04:00
2299824ad9
fix(flutter): system playlist tap loads tracks (mirror album refetch fix)
bvandeusen2026-05-11 12:26:17 -04:00
11c40c6aca
feat(flutter): SWR everywhere + nav hydration + cold-start home skeleton
bvandeusen2026-05-11 12:12:44 -04:00
37134950a5
Merge pull request 'release: M5-M7 server + web + Flutter, plus Flutter v1 polish' (#38) from dev into main
v2026.05.11.0
bvandeusen2026-05-11 15:21:58 +00:00
f4d07ef9a1
diag(flutter): trace playlist provider — wire vs drift vs filter
bvandeusen2026-05-11 11:07:24 -04:00
74cc76b369
fix(flutter): preserve dev-version safety net + update version tests
bvandeusen2026-05-11 10:48:06 -04:00
19061cd10c
feat(flutter): full parity for player bar — shuffle/repeat/volume + Like + kebab + 3-column layout (#356)
bvandeusen2026-05-10 23:59:53 -04:00
fcded9294c
Merge pull request 'fix(web): download button + server version display' (#37) from dev into main
v2026.05.10.2
bvandeusen2026-05-11 03:20:39 +00:00
5054c46385
fix(web): collapse the entire Mobile app section when no APK bundled
bvandeusen2026-05-10 22:44:38 -04:00
42abb7adff
Merge pull request 'ci: unify REGISTRY_TOKEN + RELEASE_TOKEN into CI_TOKEN' (#36) from dev into main
v2026.05.10.1
bvandeusen2026-05-11 01:45:01 +00:00
e4578593d1
ci: unify REGISTRY_TOKEN + RELEASE_TOKEN into a single CI_TOKEN secret
bvandeusen2026-05-10 21:33:10 -04:00
04933f2d9f
Merge pull request 'M5–M7 sweep + offline cache + in-app updates + DRY pass' (#35) from dev into main
v2026.05.10.0
bvandeusen2026-05-11 01:09:36 +00:00