chore(release): v0.11.4
Three fixes since v0.11.3: Recently Added groups a new album's tracks into one album card in the client rather than trusting the server's GroupItems; autoplay crosses a season boundary instead of stopping dead at the last episode; and a finished episode is no longer offered as its own "up next". Plus the Android debug applicationId suffix, which the Tauri CLI's Gradle rewrite had been dropping, so a debug build again installs beside a release one. Version stamped with scripts/set-version.sh. defect-windows.md records the Recently Added grouping as the second fix for the same symptom: v0.5.1 sent GroupItems=true and the server does not always honour it.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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**:
|
||||
|
||||
+1
-1
@@ -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 <duncan@tourolle.paris>",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -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')
|
||||
|
||||
Generated
+1
-1
@@ -2181,7 +2181,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "jellytau"
|
||||
version = "0.11.3"
|
||||
version = "0.11.4"
|
||||
dependencies = [
|
||||
"aes-gcm",
|
||||
"async-trait",
|
||||
|
||||
@@ -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 <duncan@tourolle.paris>"]
|
||||
license = "MIT"
|
||||
|
||||
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user