{"version":"2.1.225","anchor":"remote-control-token-refresh-chain-gives-up-loudly-and-auth-","canonical_anchor":"remote-control-token-refresh-chain-gives-up-loudly-and-auth-","heading":"Remote Control: token refresh chain gives up loudly, and auth changes invalidate in-flight attempts","tier":"notice","area":"Remote Control","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.225\/e\/remote-control-token-refresh-chain-gives-up-loudly-and-auth-","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.225","markdown":"### Remote Control: token refresh chain gives up loudly, and auth changes invalidate in-flight attempts\n\nRemote Control now reports dead token refreshes instead of failing silently, and re-logging in cancels stale connection attempts.\n\n**What**\n\nWhen the bridge token refresher exhausts its retry chain it now reports the failure instead of stopping quietly, and re-logging in cancels bridge init attempts that started under the old credentials.\n\n**Details**\n\n- On exhaustion it logs an error built from the fixed fragment \"Refresh chain exhausted for sessionId=\" plus the session id and failure count, emits `bridge_token_refresh_exhausted`, and returns \"no_oauth_token\" to the caller.\n- App state gained `authChangeGeneration`, bumped on login or account change; bridge init compares it before applying results.\n- The 401 recovery path keys off a per-endpoint `needsOAuthRefresh` flag and aborts init after a successful refresh rather than continuing with the stale response.\n\n**Evidence**\n\n`bridge_token_refresh_exhausted`\n\n- Area: Remote Control\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 0\/5"}