Commit Graph
449 Commits
Author SHA1 Message Date
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 131b0d56a6 run ci as a single job 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 e7cfe7a840 document the playback queue model and mark generated files 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 143f2accb7 document the phase 2 slice, add ktlint to ci, and warm the gradle cache 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 46bc95104d add the phase 2 dependencies, ktlint and release shrinking 2026-10-04 00:29:51 +00:00
austinried 2dc6d49948 document the architecture, implementation plan, and agent guidance
adds docs/architecture.md (stack, layers, data model, sync, search, networking, testing, CI), docs/implementation-plan.md (phases and status), and AGENTS.md for agents and contributors
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 967b733925 update the toolchain, devshell, and build configuration
AGP 9.4.1 / Gradle 9.7.1 / Kotlin 2.3.10 (AGP built-in Kotlin), compileSdk and targetSdk 37, Room 3 with KSP schema export, and nushell/navidrome/gonic in the devshell plus a direnv .envrc. Adds a dedicated :app:integrationTest task and excludes the integration class from the unit test tasks.
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 3edcbe63bc track screenshot goldens with git lfs 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
Oğuz Ersen ab418fc234 Translated using Weblate (Turkish)
Currently translated at 100.0% (94 of 94 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/tr/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Nguyen Tuan Khoi 786ec10110 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (94 of 94 strings)

Translated using Weblate (Vietnamese)

Currently translated at 77.6% (73 of 94 strings)

Co-authored-by: Nguyen Tuan Khoi <khoint828@proton.me>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/vi/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
itsmekingtiger 735b84d120 Translated using Weblate (Korean)
Currently translated at 94.6% (89 of 94 strings)

Added translation using Weblate (Korean)

Co-authored-by: itsmekingtiger <dlcmaldmlzldxkdlrj@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/ko/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
தமிழ்நேரம் 4c9a5dcd97 Translated using Weblate (Tamil)
Currently translated at 100.0% (94 of 94 strings)

Translated using Weblate (Tamil)

Currently translated at 100.0% (94 of 94 strings)

Translated using Weblate (Tamil)

Currently translated at 100.0% (94 of 94 strings)

Added translation using Weblate (Tamil)

Co-authored-by: தமிழ்நேரம் <anishprabu.t@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/ta/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Kajiab 24730fc332 Translated using Weblate (Thai)
Currently translated at 100.0% (94 of 94 strings)

Added translation using Weblate (Thai)

Co-authored-by: Kajiab <kajiab@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/th/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Babel Nam 0d503467a2 Translated using Weblate (Chinese (Traditional Han script))
Currently translated at 100.0% (94 of 94 strings)

Added translation using Weblate (Chinese (Traditional Han script))

Co-authored-by: Babel Nam <babelman97@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/zh_Hant/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Giuseppe Rimicci ac3c830d79 Translated using Weblate (Italian)
Currently translated at 100.0% (94 of 94 strings)

Co-authored-by: Giuseppe Rimicci <giuseppe.rimicci@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/it/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Clyhtsuriva 19329642c9 Translated using Weblate (French)
Currently translated at 100.0% (94 of 94 strings)

Co-authored-by: Clyhtsuriva <aimeric@adjutor.xyz>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
mechanlou 6729a7c283 Translated using Weblate (French)
Currently translated at 100.0% (94 of 94 strings)

Co-authored-by: mechanlou <loumechan@proton.me>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Zev Ross 444b66070a Translated using Weblate (Japanese)
Currently translated at 32.9% (31 of 94 strings)

Co-authored-by: Zev Ross <zevross@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/ja/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
josé m 29c271ee44 Translated using Weblate (Galician)
Currently translated at 100.0% (94 of 94 strings)

Co-authored-by: josé m <correoxm@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/gl/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Porrumentzio 53723d188b Translated using Weblate (Basque)
Currently translated at 59.5% (56 of 94 strings)

Added translation using Weblate (Basque)

Co-authored-by: Porrumentzio <porrumentzio@riseup.net>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/eu/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
William Andrade Pires 4c9b2eea07 Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.3% (84 of 94 strings)

Added translation using Weblate (Portuguese (Brazil))

Co-authored-by: William Andrade Pires <williamapires88@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/pt_BR/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Alexander Weimer 0d6ec6a754 Translated using Weblate (Swedish)
Currently translated at 100.0% (94 of 94 strings)

Translated using Weblate (Danish)

Currently translated at 62.7% (59 of 94 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (94 of 94 strings)

Added translation using Weblate (Swedish)

Co-authored-by: Alexander Weimer <alexskypie@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/da/
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/sv/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Eryk Michalak aea589a85e Translated using Weblate (Polish)
Currently translated at 87.2% (82 of 94 strings)

Co-authored-by: Eryk Michalak <gnu.ewm@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/pl/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Joe Roe a235809d0e Translated using Weblate (Danish)
Currently translated at 60.6% (57 of 94 strings)

Co-authored-by: Joe Roe <jroeuk@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/da/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Alex 38545e316b Translated using Weblate (Italian)
Currently translated at 87.2% (82 of 94 strings)

Co-authored-by: Alex <alexbuffa22+github@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/it/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Sargon-Isa b19b6c4919 Translated using Weblate (German)
Currently translated at 100.0% (94 of 94 strings)

Translated using Weblate (German)

Currently translated at 97.8% (92 of 94 strings)

Co-authored-by: Sargon-Isa <Sargon_isa@hotmail.de>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/de/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
juan 4e3efa396a Translated using Weblate (Spanish)
Currently translated at 100.0% (94 of 94 strings)

Co-authored-by: juan <elian.dylen@fixedfor.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/es/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
nullptr-0 4e2d974e4e Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (94 of 94 strings)

Co-authored-by: nullptr-0 <959220793@qq.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/zh_Hans/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Dan 05960dc3db Translated using Weblate (Ukrainian)
Currently translated at 100.0% (94 of 94 strings)

Added translation using Weblate (Ukrainian)

Co-authored-by: Dan <jonweblin2205@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/uk/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Matt 34e1235fc5 Translated using Weblate (Japanese)
Currently translated at 29.7% (28 of 94 strings)

Co-authored-by: Matt <ermacaz@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/ja/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
Hosted Weblate 6b13af8e42 Update translation files
Updated by "Remove blank strings" hook in Weblate.

Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
mechanlou c1db84e499 Translated using Weblate (French)
Currently translated at 86.1% (81 of 94 strings)

Co-authored-by: mechanlou <loumechan@proton.me>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/fr/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00
István Varga d8bdfb17af Translated using Weblate (Hungarian)
Currently translated at 86.1% (81 of 94 strings)

Added translation using Weblate (Hungarian)

Co-authored-by: István Varga <istvan82@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/subtracks/subtracks/hu/
Translation: Subtracks/subtracks
2026-10-04 09:24:53 +09:00