retry method
void
retry()
Re-attempt after a WalletSyncDrive.failed — the only state with a manual affordance, and a contextual recovery action (honest next step, invariant 6), not the old always-on Start/Stop button.
Implementation
void retry() {
final session = ref.read(walletSessionProvider);
if (session == null) return;
// #383 R1: retry is the failed-start escape, never a policy override — a
// disabled host stays disabled (the retry notice isn't rendered there,
// this is the belt for a stale tap racing a policy flip).
if (!ref.read(walletSyncPolicyProvider)) return;
// Optimistic `running` (the same treatment build() uses — safe because
// this state is internal except the `failed` notice): the retry notice
// clears ON TAP instead of sitting enabled through the serialized command
// settle (a dead-feeling tap invites double-taps — reliability LOW);
// _command re-asserts `failed` if the start actually fails again.
state = WalletSyncDrive.running;
_command(session, start: true);
}