You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Widget: Rabby silently reconnects after explicit disconnect + reload #12682
Disconnecting Rabby from the AppKit account view and then refreshing the page brings the ETH address back in the header, as if the disconnect never happened. Reported from QA on the /developers embed in website-frontend; reproduces on https://widget.shapeshift.com, so it is widget/AppKit behaviour rather than the host integration.
References and additional details
The disconnect itself works: wallet_revokePermissions is sent, @appkit/connected_namespaces and eip155:connected_connector_id are cleared, and the header shows Connect. On reload, wagmi's EIP-6963 injected connector (@wagmi/coreinjected.js) sets up onAccountsChanged while probing; Rabby ignores wallet_revokePermissions and emits accountsChanged with the still-authorised account shortly after load (also on unlock), so onConnect fires and the connector auto-reconnects. The widget's config/appkit.ts doesn't set the <connectorId>.disconnected shim or pass enableInjected/reconnect options, so nothing stops it.
Reload. Header shows the address again after a few seconds; no connect click required.
Control: a wallet that honours wallet_revokePermissions and doesn't emit accountsChanged on load stays disconnected after reload. Confirmed both cases with a mock provider under Playwright (IGNORE_REVOKE + delayed accountsChanged reproduces; without either it stays disconnected).
Acceptance Criteria
After an explicit disconnect, a page reload does not silently reconnect the previously connected EVM wallet, regardless of whether the wallet honours wallet_revokePermissions.
Reconnect still works for wallets that were not explicitly disconnected (normal session restore).
Verified against Rabby specifically, plus one wallet that honours revoke (e.g. MetaMask) to make sure the fix doesn't regress normal restore.
Activity