austinried
754323bfdc
remove the logo from the library header
2026-10-04 00:29:52 +00:00
austinried
7560fec6ae
match the image title weight to the header
2026-10-04 00:29:52 +00:00
austinried
46d8ec5ad7
pin the artist scrim to the top behind the status bar
2026-10-04 00:29:52 +00:00
austinried
1c4f514e54
bring back a stronger scrim over the artist image
2026-10-04 00:29:52 +00:00
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
853f37f14d
stop committing the roborazzi screenshots
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
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
austinried
1777727316
Fix initial server ping/feature tests always using token auth
2023-05-18 06:42:29 +09:00
austinried
da64f1e917
bump version
2023-05-16 18:59:16 +09:00
austinried
db9a566fbc
remove todo
2023-05-16 09:34:39 +09:00
austinried
db57933201
redact error too
...
create log file if it doesn't exist first
2023-05-16 09:34:39 +09:00
austinried
16e128b538
show snackbar error for sync
...
log http errors
log sync errors
2023-05-16 09:34:39 +09:00
austinried
8c6d4ac05f
add snackbar method for errors
...
test (ping) server before saving source
display error message when saving source
2023-05-16 09:34:39 +09:00
austinried
590ded1f6a
default force plaintext password off
2023-05-14 14:35:19 +09:00
austinried
be6a76205c
wording
2023-05-14 14:29:04 +09:00
austinried
1a5a4167b5
audio playback error logging
...
subsonic error logging
source save error logging
2023-05-14 14:29:04 +09:00
austinried
cdf07b741a
log sql exceptions
2023-05-14 14:29:04 +09:00
austinried
cdea3b2980
initial console/file logging framework
2023-05-14 14:29:04 +09:00
austinried
06b16b27e8
bump version
2023-05-08 06:39:17 +09:00
austinried
7cf717010c
update todo
2023-05-08 06:37:10 +09:00
austinried
eacc2c183c
don't pass all ids as params
...
instead, only pass ids to delete and chunk those by the param limit
2023-05-07 13:56:05 +09:00
austinried
e455a09401
update todo
2023-05-07 13:54:56 +09:00
austinried
1a7363ac4e
add artist radio
2023-05-07 13:28:15 +09:00
austinried
8f3cf278fd
add plaintext password option
...
fixes #161
2023-05-06 17:56:03 +09:00
austinried
9ea713f1e7
add server info fields
2023-04-28 21:59:33 +09:00
austinried
0712cf28f3
use english as last fallback locale
...
fixes #160
2023-04-28 21:45:59 +09:00
austinried
4918c3be01
don't use build number in version
2023-04-28 16:04:59 +09:00
austinried
cfa01eb400
Update README.md
2023-04-28 13:22:23 +09:00
austinried
2192965c3e
fix weblate multiple language issue
2023-04-28 13:13:07 +09:00
austinried
3468c7faf8
build on tags
2023-04-28 12:58:49 +09:00
austinried
f453ca1c01
setup workflows for main
2023-04-28 12:26:02 +09:00
austinried
bbd04a10b4
create .env file first
2023-04-28 12:26:02 +09:00
austinried
b2f8ef6f38
rename workflow
2023-04-28 12:26:02 +09:00
austinried
c81162c1f3
aab build, release signing
...
clean up analyze issues
2023-04-28 12:26:02 +09:00
austinried
0b698c30c0
get version?
2023-04-28 12:26:02 +09:00
austinried
16e3b1b9ea
use a valid .env file from example
2023-04-28 12:26:02 +09:00
austinried
3765a55bb5
please grab artifact
2023-04-28 12:26:02 +09:00
austinried
547266f64c
forgot .env file
2023-04-28 12:26:02 +09:00
austinried
2f9f2701a6
signing config & build apk
2023-04-28 12:26:02 +09:00
austinried
eaecda6aab
v2
2023-04-28 12:26:02 +09:00
austinried
09c00f90e0
Create PRIVACY.md
2022-06-20 19:01:25 +09:00
austinried
e40de711c1
minor reorg/cleanup
2022-04-28 15:41:45 +09:00
austinried
adcda47007
1.3.0 changelog
2022-04-26 13:19:45 +09:00
austinried
3b92ab9ddb
bump version 1.3.0
2022-04-26 13:17:01 +09:00
austinried
b216e9a78b
Update release.yml
2022-04-26 12:53:43 +09:00