Commit Graph
50 Commits
Author SHA1 Message Date
austinried 3ea7b9a829 drop the header shadow and weight the image title 2026-10-04 00:29:52 +00:00
austinried ed306dfea4 one-line artist title, shared with the header style 2026-10-04 00:29:52 +00:00
austinried c44f1d31bb tie the artist header fade to the image title 2026-10-04 00:29:52 +00:00
austinried d337e49a64 overlay the artist name on the image with a fading header 2026-10-04 00:29:52 +00:00
austinried c6d837ae0d shrink the header logo and blur the arrow shadow 2026-10-04 00:29:52 +00:00
austinried e98d5ad900 put the logo in the library header 2026-10-04 00:29:52 +00:00
austinried 2fae54b708 shadow the artist back arrow 2026-10-04 00:29:52 +00:00
austinried a365491e42 drop the artist header scrim, shadow the title, space the grid 2026-10-04 00:29:52 +00:00
austinried 228fe08783 trim the library header, enlarge artist art, fix album title color 2026-10-04 00:29:52 +00:00
austinried d4cf5bc4ca align the library headline height with the title bar 2026-10-04 00:29:52 +00:00
austinried f3ad1a0ba2 make the artist header full-bleed at a fixed height 2026-10-04 00:29:52 +00:00
austinried dd660597fb fetch full-res artist art and match the old artist layout 2026-10-04 00:29:52 +00:00
austinried 53875b3640 open an artist's albums from the artists tab 2026-10-04 00:29:52 +00:00
austinried 70ffdf7ce9 cover the drag drop target mapping 2026-10-04 00:29:52 +00:00
austinried e76976dfdf fix drag drop target, serialize queue edits, guard empty ranges 2026-10-04 00:29:52 +00:00
austinried bab303ef91 anchor the queue window at the playing track 2026-10-04 00:29:52 +00:00
austinried 92d1baa930 request the initial queue scroll and settle it before loading 2026-10-04 00:29:52 +00:00
austinried 3438c64428 do not extend the queue window until it is centred 2026-10-04 00:29:52 +00:00
austinried 147916ff06 fix queue delete latency, reorder hitch and open scroll 2026-10-04 00:29:52 +00:00
austinried bb42975bb4 animate queue edits and focus the playing track on open 2026-10-04 00:29:52 +00:00
austinried a682cfc1cb reorder the queue with the reorderable library 2026-10-04 00:29:52 +00:00
austinried 68ca600bb5 key queue rows and keep the dragged row composed 2026-10-04 00:29:52 +00:00
austinried 821a2b02a2 keep artist and playlist rows at a fixed two-line height 2026-10-04 00:29:52 +00:00
austinried 03c58a0c36 show the artist as the song row subtitle 2026-10-04 00:29:52 +00:00
austinried 56d2a3c326 keep song rows a fixed two-line height 2026-10-04 00:29:52 +00:00
austinried 5492a57e09 track the finger position while dragging queue rows 2026-10-04 00:29:52 +00:00
austinried c2ecc63fe5 fix the queue paging refresh key and drag edge detection 2026-10-04 00:29:52 +00:00
austinried 2d64826164 put the queue button at the bottom left of now playing 2026-10-04 00:29:51 +00:00
austinried 59a4bee51b cover pause-free undo with tests 2026-10-04 00:29:51 +00:00
austinried dde78bb9fb keep playback going through undo and polish the queue drag 2026-10-04 00:29:51 +00:00
austinried 7fc142ce6f add a one-step undo and harden queue edits 2026-10-04 00:29:51 +00:00
austinried e87d176155 add a queue view with jump, remove and reorder 2026-10-04 00:29:51 +00:00
austinried 320a9db597 stop syncing from rewriting unchanged rows 2026-10-04 00:29:51 +00:00
austinried ebe76cd5bb play the songs list from the songs tab 2026-10-04 00:29:51 +00:00
austinried 659df47c14 choose the stream bitrate and format from settings 2026-10-04 00:29:51 +00:00
austinried 6e4e911f95 show the playlists tab before songs in the library 2026-10-04 00:29:51 +00:00
austinried 7abf01c5ce add queue, migration and playback controller tests and goldens 2026-10-04 00:29:51 +00:00
austinried ed9d74d5ae add the mini player and now playing screen 2026-10-04 00:29:51 +00:00
austinried 592c27c99c add media3, the playback session and the sql-backed queue 2026-10-04 00:29:51 +00:00
austinried 177e5ad108 add screenshot goldens and the title collapse gesture test 2026-10-04 00:29:51 +00:00
austinried 87cab9d805 add the browse ui: library tabs, detail screens, settings and server setup 2026-10-04 00:29:51 +00:00
austinried 3f91a29850 add preferences, paging reads, repositories and sync status 2026-10-04 00:29:51 +00:00
austinried 760e951128 add native integration tests and a nushell harness
SubsonicSourceIntegrationTest runs against locally started navidrome and gonic; tools/integration-test.nu downloads the test music once, starts both servers, seeds data, runs :app:integrationTest, and tears everything down.
2026-10-04 00:29:51 +00:00
austinried 7bc1bd9a19 add unit tests for the data layer
MockWebServer client tests, XML mapping (including timestamp parsing), source fallback, and sync/search against an in-memory Room DB using the bundled SQLite JVM driver.
2026-10-04 00:29:51 +00:00
austinried 2c377f0f22 add the subsonic data layer on Room 3
SubsonicClient (token/plaintext auth, XXE-hardened parsing, root validation), SubsonicXml mapping (ISO-8601 with fractions and offsets), SubsonicSource (paged albums/ranks, search fallback), Room 3 entities/DAOs with diff-based sync pruning and an FTS5 trigram search index.
2026-10-04 00:29:51 +00:00
austinried 6b6758a9b0 disable auto backup 2026-10-04 00:29:51 +00:00
austinried 67ef1626dd keep allowBackup enabled so server settings survive device changes 2026-10-04 00:29:51 +00:00
austinried 43d26d52e4 pin the android sdk explicitly and apply review fixes
- flake: pin build-tools and platform-tools to 37.0.0 instead of "latest", matching build.gradle.kts
- robolectric: run at sdk 35 (targetSdk) and re-record the golden
- manifest: allowBackup off, drop not-yet-used permissions
- theme: drop no-op status/nav bar colors (edge-to-edge)
- deps: kotlin 2.1.20, drop unused deps and test runner
- wrapper: regenerate jar from 8.11.1, add distributionSha256Sum
- remove stale README
2026-10-04 00:29:51 +00:00
austinried d227972a12 drop unused placeholder art 2026-10-04 00:29:51 +00:00
austinried 05ac1768d3 start kotlin/jetpack compose rewrite
replace the flutter project with a gradle/compose android app:
- nix flake dev shell (jdk21, android sdk 35, build-tools 37, gradle)
- material3 app with a placeholder screen
- roborazzi/robolectric screenshot tests with one golden
- carry over the existing launcher/notification assets
2026-10-04 00:29:51 +00:00