onSessionUpdated property

Stream<Session> get onSessionUpdated

Emits the refreshed Session every time an expired access token is renewed, so the owner of the credentials can re-persist them.

Without this, an automatic refresh is invisible outside the client: session holds the new credentials, but nothing tells the caller to read it. Because refresh tokens are single-use, a caller that keeps persisting the session it originally passed in ends up storing a spent refresh token, and the next run restores a session that can no longer be refreshed. Mirrors OAuthSessionManager.onSessionUpdated, which covers the same need for the OAuth path — this stream is the legacy (app-password) counterpart and stays silent on OAuth-backed contexts.

Implementation

Stream<Session> get onSessionUpdated => _sessionUpdates.stream;