After the login page first loaded successfully, any subsequent
navigation error (e.g. during credential entry) would silently reload
_loginUrl, discarding user-entered credentials. This was because the
auto-retry block only checked _autoRetryCount, which was reset to 0 by
onPageFinished after every successful load.
Add _hasLoadedOnce that is set true in onPageFinished and only cleared
in _retry() (explicit user action). Gate the silent auto-retry on
!_hasLoadedOnce so it only fires before the login page has been shown
to the user for the first time.
https://claude.ai/code/session_016dhktF2DaoTQeifUaZrxbP