- streamystats: derive toggle enablement from the same effective URL the
input renders (locked admin URL no longer disables every switch)
- FilterSheet: use the deep-equality rule for toggling that rendering
already uses — option objects are recreated across renders
- DownloadCard: take t from useTranslation so badge labels re-render on
language change
- fileOperations: count trickplay bytes in the storage total, matching
the per-item size model
- PendingAccountSaveModal: warn instead of silently swallowing a failed
account save
The protection picker used to show before the login attempt, so a wrong
password still walked the user through choosing a PIN/password for an
account that never logged in - and a Quick Connect login could not save
the account at all.
Login flows now only flag the intent (pendingAccountSaveAtom); the
picker is a global PendingAccountSaveModal mounted at the root, shown
once the session is authorized - the login screen unmounts on success,
so it cannot host the modal itself. Works identically for the password
and Quick Connect flows; the credential is saved from the live session
token (saveCurrentAccount). Cancelling saves nothing, and a logout
before answering drops the intent.