Skip to content

Conversation

@glitch-txs
Copy link
Contributor

Description

  • Added disconnect event emitter in WalletStandarProvider when account is undefined.
  • Moved addDisconnectedConnectorId function up in the onDisconnectNamespace function from the AppKitBaseProvider.

The second mentioned change was done to fix the following issue: when the wallet was manually disconnected (and so the disconnect event triggered), AppKit would trigger connect on page load even though the wallet was previously disconnected.
This was happening because ConnectorController.removeConnectorId was being called from resetAccount and so making ConnectorController.getConnectorId undefined, therefore StorageUtil.addDisconnectedConnectorId was failing to add the connector.

Type of change

  • Chore (non-breaking change that addresses non-functional tasks, maintenance, or code quality improvements)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Associated Issues

For Linear issues: Closes APKT-xxx
For GH issues: closes #5365

Showcase (Optional)

If there is a UI change include the screenshots with before and after state.
If new feature is being introduced, include the link to demo recording.

Checklist

  • Code in this PR is covered by automated tests (Unit tests, E2E tests)
  • My changes generate no new warnings
  • I have reviewed my own code
  • I have filled out all required sections
  • I have tested my changes on the preview link
  • Approver of this PR confirms that the changes are tested on the preview link

Copilot AI review requested due to automatic review settings November 30, 2025 00:24
@changeset-bot
Copy link

changeset-bot bot commented Nov 30, 2025

⚠️ No Changeset found

Latest commit: ddcb323

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link

vercel bot commented Nov 30, 2025

@glitch-txs is attempting to deploy a commit to the Reown Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions
Copy link
Contributor

Thank you for your contribution! We ask that you please read and sign our CTA Document before we can accept your contribution. You can sign the CTA simply by posting a Pull Request Comment with the following text:


I have read the CTA Document and I hereby sign the CTA


You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a critical bug in the Solana wallet disconnect flow by addressing two issues: 1) ensuring the connector ID is captured before being removed during disconnect, and 2) adding proper disconnect event emission when a Solana wallet disconnects externally.

  • Reordered operations in onDisconnectNamespace to capture connector ID before resetAccount removes it
  • Added disconnect event emission in WalletStandardProvider when account becomes undefined
  • Added comprehensive tests to verify execution order and prevent regression

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
packages/appkit/src/client/appkit-base-client.ts Reordered disconnect logic to call addDisconnectedConnectorId before resetAccount, fixing a bug where connector ID was undefined when needed
packages/adapters/solana/src/providers/WalletStandardProvider.ts Added disconnect event emission when wallet change event has undefined account
packages/appkit/tests/client/appkit-base-client.test.ts Added two comprehensive tests verifying execution order and connector ID handling during disconnect
packages/adapters/solana/src/tests/WalletStandardProvider.test.ts Added test verifying disconnect event is emitted when account becomes undefined

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[bug] - several multi-chain issues.

1 participant