Fix TV episode Back navigation and live Resume freshness #48
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fm/tv-fb2-fix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
TV episode navigation and live Resume freshness
AI-assisted implementation and PR description for this fork-internal change. No device connection, ADB, installation, backend release, or service mutation.
Changes
NavigationManager.replaceTop, preserving every parent. Repeated A → B → C choices no longer build an episode history; Back reaches the series/Home parent. Opening the first episode from a series, related titles, cast and performer credits remains a push. The existing root-clearingreplaceis unchanged.EnableResumable=true; explicit episode choice remains exact, and explicit Restart remains zero. Current Played flags are retained without discarding resumable rewatches.docker/README.mddocuments the boundaries.No card progress lines/subtitles, hero rail, artwork/layout styling, or Conductarr changes.
Verification
Final head:
5bd2affc1ab124b1562bcea07b30c479773c5fc7.make testmake apk-debugAn earlier full run exposed a new signed-out catalogue-ratings assertion. Limited state reuse to held pages and preserved authority reset; that existing surface test then passed targeted and on the final full run. There was one full-suite invocation on the corrected final head, plus the earlier full invocation on its predecessor. No native SIGABRT occurred; no serial rerun was needed. Existing Android 9/11 Robolectric jars were copied from the local Gradle cache into ignored test output; no SDK/build workaround is committed.
Exact remaining full-suite failures
All are
PersonPickerSessionTesttimeouts with the chosen person and closed picker correct, but replacement sign-in/identity absent:launchRightThenOneOkKeepsPickerClosedfastLeftLeftOkKeepsPickerClosedavatarRightThenOneOkKeepsPickerClosedgearAndBackThenOneOkKeepsPickerClosedlaunchLeftThenOneOkKeepsPickerClosedavatarLeftThenOneOkKeepsPickerClosedThe final log also contains GCLocker allocation retries. No main A/B or causal isolation was run, so the two additional names are newly observed failures, not evidence that their cause is established. Person switching is not cleared for shipping by this run.
On-device review checklist — owner installation only
Debug APKs use stub playback codecs; this is not optimized-release or physical-TV playback proof. Failed stop reports remain logged and do not fabricate an acknowledgement. External players without a usable stop result cannot supply a missing checkpoint; another client's writes after the final click-time read are outside that snapshot.