chore(release): 0.7.0
Publish Documentation / Build & publish docs to gitea-pages (push) Canceled after 0s
🏗️ Build and Test JellyTau / Run Tests (push) Successful in 21m50s
Traceability Validation / Check Requirement Traces (push) Successful in 44s
🏗️ Build and Test JellyTau / Android Compile Check (push) Successful in 10m50s
Build & Release / Run Tests (push) Successful in 18m46s
Build & Release / Build Linux (push) Successful in 30m52s
Build & Release / Build Windows (push) Successful in 15m13s
Build & Release / Build Android (push) Successful in 31m53s
Build & Release / Create Release (push) Successful in 12s
Publish Documentation / Build & publish docs to gitea-pages (push) Canceled after 0s
🏗️ Build and Test JellyTau / Run Tests (push) Successful in 21m50s
Traceability Validation / Check Requirement Traces (push) Successful in 44s
🏗️ Build and Test JellyTau / Android Compile Check (push) Successful in 10m50s
Build & Release / Run Tests (push) Successful in 18m46s
Build & Release / Build Linux (push) Successful in 30m52s
Build & Release / Build Windows (push) Successful in 15m13s
Build & Release / Build Android (push) Successful in 31m53s
Build & Release / Create Release (push) Successful in 12s
Version bumped across package.json, tauri.conf.json and Cargo.toml (+ lock), CHANGELOG entry written from the five commits in the range rather than from the trace extractor's output — VideoPlayer.svelte alone carries dozens of TRACES, so the generated draft named most of the app's requirements for a five-commit release. DR-188 is retargeted: it recorded the native-video default as waiting on the background-audio handoff, which is now fixed (DR-196), so it records the completed flip and the evidence for it instead. Minor, not patch: the rendering path changes underneath every Android user.
This commit is contained in:
@@ -9,6 +9,50 @@ 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.7.0
|
||||
|
||||
### ✨ Changes
|
||||
|
||||
- **Native Android video is now the default.** Video decodes on the device's
|
||||
hardware decoder instead of the built-in web player, which is easier on the
|
||||
battery and lets picture-in-picture show the video rather than the app. The
|
||||
default had been held back deliberately since the picture defects were fixed,
|
||||
because returning from background audio left playback dead on that path; both
|
||||
blockers below are fixed and verified on a device, which is the standard this
|
||||
default has been held to since it last shipped early. The Settings toggle
|
||||
remains, now as the fallback to the web player, and an explicit choice still
|
||||
wins in both directions — anyone who turned it off keeps it off.
|
||||
(UR-003, UR-004 → DR-188)
|
||||
|
||||
### 🐛 Fixes
|
||||
|
||||
- **The letterbox bars stop showing things that are no longer there.** With
|
||||
native video on, the padding around the picture kept whatever had last been
|
||||
drawn in it: the previous frame flashing on rotation, a ghost copy of the
|
||||
control bar stranded at the top of the screen, each new clock digit drawn over
|
||||
the one before it, and the sleep-timer and quality menus leaving their imprint
|
||||
after closing. One cause under all of it — nothing painted those bars. The
|
||||
window surface is opaque, and for an opaque surface Android's renderer skips
|
||||
clearing the damaged region and assumes the view hierarchy covers every pixel;
|
||||
the video view covers only the letterboxed rect, so the bars were the window
|
||||
background's alone to paint, and enabling compositing had cleared that
|
||||
background to transparent. Three earlier attempts missed because they aimed at
|
||||
the window's rotation animation and at video-frame retention — which is also
|
||||
why the artefact reproduced standing still, with no rotation involved.
|
||||
(UR-003, UR-066 → DR-194)
|
||||
|
||||
- **Returning from background audio brings the picture back.** On the native
|
||||
path, coming back from the lockscreen left a black screen: a play overlay
|
||||
pinned at 0:00 and a play button that did nothing. Nothing had crashed — the
|
||||
transition was simply dropped. The two render paths resume by different means,
|
||||
and only one of them was performed: the web player reloads from its stream URL,
|
||||
while the native player owns no element and nothing watches that URL on its
|
||||
behalf, so it has to be handed the item again explicitly. It now is, at the
|
||||
position the audio reached. (UR-040, UR-003 → DR-196)
|
||||
|
||||
- **Next Up stops repeating what Continue Watching already shows.** The same
|
||||
episode could occupy both home rows at once. (UR-023 → DR-197)
|
||||
|
||||
## v0.6.0
|
||||
|
||||
### 🐛 Fixes
|
||||
|
||||
Reference in New Issue
Block a user