Fix picker access and finish Wolfskin on root Back

This commit is contained in:
justinzeus 2026-11-07 18:02:17 +01:00
parent febcded034
commit 9cfe9362ee
11 changed files with 481 additions and 31 deletions

View file

@ -227,7 +227,9 @@ The stroke is inset within the fixed 20 dp / 40 px height; horizontal border-box
padding includes it. The 6 px dash / 4 px gap follows the browser's 3:2 stroke-width
ratios. Resting borders are white at 22% opacity; focused borders use ink at 40%.
The small gear centred beneath the complete people row opens Settings with Requests focused.
The small gear beneath the last avatar opens Settings with Requests focused.
Down from any avatar reaches it; Up returns to the originating avatar, including
after a Settings visit. Left/Right avatar traversal is unchanged.
Settings groups hand off to existing upstream pages; Requests opens the household
Coming-in sheet described below. **Advanced settings → Wolfskin screens** is the persistent
rollout switch: turning it off renders upstream Home and library destinations with
@ -236,6 +238,20 @@ Settings list. Native Up traversal stays in content until the first focusable ro
then enters the nav. Turning the switch on renders Wolfskin Home and Libraries.
Discover and Requests are integrated Wolfskin surfaces; title hand-offs remain labelled.
Root content Back focuses the nav; another Back exits the Android task via
`finishAndRemoveTask`, including Discover, Movies, Shows and Anime without a Home
detour. Cold picker Back exits; a reopened picker dismisses to nav first. Pushed
pages pop normally. Child dialogs, title menus, request sheets and unsaved-setting
prompts keep Back priority. Singleton full-screen pages also exit; they cannot
fall through to the older setup/user UI.
`rememberWolfskinBackHandler` owns Android Back at the app root, including a
single-entry `NavDisplay`; full-screen hand-offs use the same `NavigationManager`
exit event rather than exposing the parent setup stack. `WolfskinRootExitTest`
mounts actual Wolfskin Home/Discover/library surfaces and covers picker,
hardware Back and Coming-in sheet precedence. `WolfskinBackStackTest` mounts
the real Updates and Home Settings pages to cover parent pops and unsaved edits.
Saved Jellyfin identities use the existing upstream session. Conductarr supplies
household labels, requester capabilities and library audiences after sign-in.
The locked shell projection in `app/src/debug/assets/wolfskin-shell.json` is used
@ -655,7 +671,9 @@ The [revision-5 amendment](../data/tv-spec/spec.md) and
[native frame prototype delta](../data/tv-v2/feedback-2026-11-06/index.html)
retain the approved frames except for the requested feedback changes:
- The picker gear is centred under everyone and uses the picker-person ring.
- Round 2 supersedes revision 5: the picker gear sits under the last avatar,
is reachable with Down from every avatar, and returns Up to its origin.
It retains the picker-person ring.
- Shelf tracks share second-last-slot lookahead, count clamping and settled
offsets. Home records completed frame positioning rather than an animation
that may still be cancelled; first mount restores the intended shelf item.