diff --git a/CHANGELOG.md b/CHANGELOG.md index d5f34e1c..facfc5bb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,54 @@ generated trace matrix lives in [docs/traceability.md](docs/traceability.md). For how long each fixed defect had been shipping before it was found, see [docs/defect-windows.md](docs/defect-windows.md). +## v0.11.4 + +### 🐛 Fixes + +- **A newly-added album shows up as one album, not as fourteen songs.** + Importing an album filled the whole Recently Added row with that one album, + one card per track, burying everything else added that week. The app does ask + the server to group new tracks under their album, but the server only manages + it for a track whose folder structure actually resolves an album — and older + servers ignore the request altogether. The row is now grouped here as well, so + what it shows is a property of the app rather than of the server it is talking + to: one card per album, opening the album, keeping its artwork and artists, and + standing where the first of its tracks stood so the newest is still first. + Standalone tracks and movies are unaffected. (UR-024 → JA-016) + +- **A binge plays on past the end of a season.** Autoplay only ever looked + inside the current season, so the last episode of one was the end of the line: + with the screen locked and background audio playing, that is felt as playback + simply stopping mid-binge, with no visible player to start it again. It now + crosses into the first episode of the next season that has any, skipping empty + seasons and never wandering into Specials. A sleep timer set to end-of-episode + still stops at the boundary — crossing it is autoplay's decision, not the + timer's. (UR-023, UR-040 → DR-263) + +- **The episode you just finished is no longer offered as the one to play next.** + Watch an episode to the end, press Back, and the season list still ringed that + same episode as "Up next" and scrolled to it. Nothing recorded the completion + on the device — progress writes saved a position but never marked an episode + watched, and cached server data dropped the watched flag on the way in — while + the server's own "next up" answer is briefly one report behind and named the + episode that had just ended. An episode is now counted as finished either when + the server says so or when its position is past the same 95% mark that already + disqualifies it from "continue watching", and the server's answer is checked + against that before it is accepted. The highlight, the badge, the auto-scroll + and which season opens expanded all follow the episode that really is next — + and the checkmarks in the season list stay put. (UR-025, UR-062 → DR-264) + +### 🛠 Development + +- **A debug build installs alongside a release build again.** `bun run + android:dev` produced an APK carrying the release application id, so installing + it over a real release build failed outright and the obvious way out was to + uninstall the release app and lose its data. The Tauri CLI rewrites the debug + section of the generated Gradle file to inject its own settings, and that + rewrite dropped the suffix that keeps the two apps apart; the suffix has moved + somewhere the rewrite does not reach, and the build now asserts the id the APK + actually carries rather than assuming it. + ## v0.11.3 ### 🐛 Fixes diff --git a/docs/defect-windows.md b/docs/defect-windows.md index d28075d3..40e79404 100644 --- a/docs/defect-windows.md +++ b/docs/defect-windows.md @@ -85,6 +85,7 @@ silently correct an out-of-range index — which is exactly why it was reported | Background-audio base applied in two display-only places (DR-159) | v0.2.9 | **v0.5.3** | pickaxe | | Positions reported as 0 before the first tick, and always 0 for webview media (DR-178/179/180) | v0.5.3 | **v0.5.5** | feature (DR-159's tick boundary) | | Length-less handoff transcode left to the player's own load-error retry, which can only restart it (DR-203) | v0.0.16 | **v0.8.2** | feature (the handoff's progressive-mp3 choice) | +| Recently Added trusted the server to group new tracks — `GroupItems=true` only groups a track whose parent chain resolves a `MusicAlbum`, and older servers ignore it | v0.5.1 | **v0.11.4** | feature (the v0.5.1 fix for the same symptom) | Three of these are worth separating out, because the defect is not a mistake in the code so much as **plumbing that was built and never connected**: diff --git a/package.json b/package.json index afc766b1..bb4db983 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jellytau", - "version": "0.11.3", + "version": "0.11.4", "description": "A cross-platform Jellyfin client built with Tauri, SvelteKit and Rust.", "author": "Duncan Tourolle ", "license": "MIT", diff --git a/packaging/arch/PKGBUILD b/packaging/arch/PKGBUILD index 967ae068..d078f8eb 100644 --- a/packaging/arch/PKGBUILD +++ b/packaging/arch/PKGBUILD @@ -8,7 +8,7 @@ # tarball/VCS URL and drop the local-copy prepare() step. pkgname=jellytau -pkgver=0.11.3 +pkgver=0.11.4 pkgrel=1 pkgdesc="A cross-platform Jellyfin client" arch=('x86_64') diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 78d09e18..8b52f62f 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -2181,7 +2181,7 @@ dependencies = [ [[package]] name = "jellytau" -version = "0.11.3" +version = "0.11.4" dependencies = [ "aes-gcm", "async-trait", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 0a3e3d7f..912fd06f 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -4,7 +4,7 @@ name = "jellytau" # `player-conformance`, and a second binary makes a bare `cargo run` — # which `tauri dev` issues — ambiguous. default-run = "jellytau" -version = "0.11.3" +version = "0.11.4" description = "A cross-platform Jellyfin client" authors = ["Duncan Tourolle "] license = "MIT" diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 8302ce0e..19986303 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "JellyTau", - "version": "0.11.3", + "version": "0.11.4", "identifier": "com.dtourolle.jellytau", "build": { "beforeDevCommand": "bun run dev",