No task waits on a Codex review; the redesign tasks are confirmed on the
product owner's Z Fold7; TASK-016's leftovers are on hold; no biometric
reauthentication.
Agent: main (opus)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Two features gated behind a new Settings screen so neither silently
changes existing behavior:
- Reactive auth retry (opt-in, default off): a live 401 despite
proactive refresh already judging the token fine now optionally
retries once with a forcibly-refreshed token before falling back to
re-login. ReactiveTokenProvider is a separate interface from the
existing fun interface BearerTokenProvider (not an addition to it),
so every existing test fake keeps compiling; a new shared
callAuthenticated helper (used by all four Gitea API classes instead
of four duplicated retry implementations) checks for it and falls
back to the old single-attempt behavior otherwise.
- Favorite push notifications (on/off, default on): TASK-036's
background checker can now be turned off entirely, closing that
task's own 'no in-app way to disable this' limitation.
Every new constructor parameter defaults to preserving old behavior
exactly, so no existing call site or test needed to change.
Live-verified: Settings screen opens from a new button, both switches
toggle and persist across navigation, no crash.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>