Second review pass (Fable) cleared all six fixes; these are its leftovers.
- _reconcileElapsedTime() runs off the same suspend-blind Stopwatch, so after
a long device sleep the countdown over-reports - and with the API
unreachable nothing corrects it, which is precisely the state the app now
stays in instead of disconnecting. It now takes the lesser of the Stopwatch
value and the wall-clock deadline; the minimum, so a clock set backwards
cannot extend a session.
- CHANGELOG claimed the alert covers "the tunnel reporting an error". It
cannot: AppConfigs.V2RAY_STATES has no error state and the plugin's
stateName when() ends in else -> "DISCONNECTED", so VpnStatus.error is
unreachable from the status stream on Android.
- AGENTS.md file map still listed a setSessionExpiry bridge in
power_settings.dart; no such symbol exists.
Co-Authored-By: Claude Opus 5 <[email protected]>