Route Wolfskin setup through the household profile picker
All checks were successful
review/code-claude Opus review PASS: no blockers, 10 non-blocking notes
review/safety-opus Opus review PASS: no blockers, 10 non-blocking notes
All checks were successful
review/code-claude Opus review PASS: no blockers, 10 non-blocking notes
review/safety-opus Opus review PASS: no blockers, 10 non-blocking notes
This commit is contained in:
parent
2b142af8d1
commit
a5b5e92017
10 changed files with 983 additions and 2 deletions
|
|
@ -241,6 +241,33 @@ household labels, requester capabilities and library audiences after sign-in.
|
|||
The locked shell projection in `app/src/debug/assets/wolfskin-shell.json` is used
|
||||
only when the Advanced debug fixture switch is enabled; release excludes it.
|
||||
|
||||
### Household setup and sign-in recovery
|
||||
|
||||
With **Wolfskin screens** enabled, `MainContent` intercepts both upstream setup
|
||||
destinations before their stock server/user selectors can render. Cold start,
|
||||
restart with automatic sign-in disabled, the old drawer's user action, legacy
|
||||
sign-out-equivalent state, setup fallbacks and intent failures all use Wolfskin's
|
||||
own picker. Entering it does not call `SwitchUserViewModel.init` or clear the
|
||||
remembered server/user preference.
|
||||
|
||||
Setup reuses the supplied/current/recent household server, recovering the most
|
||||
recently used Room server if the legacy picker erased the preference. Saved people
|
||||
render without a network request. Only an install with no saved server gets the
|
||||
one-time Jellyfin URL field; it uses existing Jellyfin discovery and Room
|
||||
persistence, not a new compiled endpoint. Conductarr remains on its existing
|
||||
configured URL and enriches the signed-in shell as before.
|
||||
|
||||
Selecting a protected profile still requires its PIN or server credentials.
|
||||
Expired credentials during saved-session revalidation or foreground refresh
|
||||
return to the picker without allowing a late failure to replace another person's
|
||||
session. A failed selection offers Wolfskin **Try again** and **Sign in** actions;
|
||||
hidden/unsaved profiles can use username/password sign-in through the setup
|
||||
picker's Settings gear. An outage never replaces the saved household endpoint.
|
||||
|
||||
Turning **Wolfskin screens** off retains the unchanged upstream
|
||||
`SwitchServerContent` and `SwitchUserContent` setup screens for rollback. Debug
|
||||
fixtures still seed the existing fixture picker after authentication.
|
||||
|
||||
Person selection immediately clears the old Conductarr identity and Jellyfin
|
||||
read gate before saved-login I/O. Detached clients are disposed exactly once on
|
||||
the application's IO scope, after the replacement (or signed-out) identity is
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue