Skip to content

Use @solana/react SelectedWalletAccountContextProvider in example rea…#1327

Merged
mcintyre94 merged 1 commit intoanza-xyz:mainfrom
illegalcall:issue-1183-use-selected-wallet-account-provider
Feb 13, 2026
Merged

Use @solana/react SelectedWalletAccountContextProvider in example rea…#1327
mcintyre94 merged 1 commit intoanza-xyz:mainfrom
illegalcall:issue-1183-use-selected-wallet-account-provider

Conversation

@illegalcall
Copy link
Copy Markdown
Contributor

@illegalcall illegalcall commented Feb 7, 2026

Problem

After #1154 introduced a reusable SelectedWalletAccountContextProvider in @solana/react, the example React app should be updated to use it instead of maintaining app-local selected wallet account context/provider logic.

Summary of Changes

  • Switched the example app to use SelectedWalletAccountContextProvider from @solana/react in examples/react-app/src/main.tsx.
  • Replaced app-local selected wallet context usage with useSelectedWalletAccount in:
    • examples/react-app/src/components/ConnectWalletMenu.tsx
    • examples/react-app/src/components/ConnectWalletMenuItem.tsx
    • examples/react-app/src/components/SignInMenu.tsx
    • examples/react-app/src/routes/root.tsx
  • Removed app-local duplicate context/provider files:
    • examples/react-app/src/context/SelectedWalletAccountContext.tsx
    • examples/react-app/src/context/SelectedWalletAccountContextProvider.tsx

Validation run:

  • pnpm --filter @solana/example-react-app test:typecheck
  • pnpm --filter @solana/example-react-app compile:js

Fixes #1183

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Feb 7, 2026

⚠️ No Changeset found

Latest commit: 8828783

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

@mcintyre94 mcintyre94 force-pushed the issue-1183-use-selected-wallet-account-provider branch from 0516fbf to 8828783 Compare February 13, 2026 10:30
@bundlemon
Copy link
Copy Markdown

bundlemon Bot commented Feb 13, 2026

BundleMon

Unchanged files (139)
Status Path Size Limits
@solana/kit production bundle
kit/dist/index.production.min.js
41.22KB -
rpc-graphql/dist/index.browser.mjs
18.82KB -
rpc-graphql/dist/index.native.mjs
18.81KB -
rpc-graphql/dist/index.node.mjs
18.81KB -
errors/dist/index.node.mjs
17.99KB -
errors/dist/index.browser.mjs
17.97KB -
errors/dist/index.native.mjs
17.97KB -
transaction-messages/dist/index.browser.mjs
7.29KB -
transaction-messages/dist/index.native.mjs
7.29KB -
transaction-messages/dist/index.node.mjs
7.29KB -
instruction-plans/dist/index.browser.mjs
5.54KB -
instruction-plans/dist/index.native.mjs
5.54KB -
instruction-plans/dist/index.node.mjs
5.54KB -
offchain-messages/dist/index.browser.mjs
4.89KB -
offchain-messages/dist/index.native.mjs
4.89KB -
offchain-messages/dist/index.node.mjs
4.89KB -
codecs-data-structures/dist/index.browser.mjs
4.69KB -
codecs-data-structures/dist/index.native.mjs
4.69KB -
codecs-data-structures/dist/index.node.mjs
4.69KB -
codecs-core/dist/index.browser.mjs
3.61KB -
codecs-core/dist/index.native.mjs
3.61KB -
codecs-core/dist/index.node.mjs
3.61KB -
webcrypto-ed25519-polyfill/dist/index.node.mj
s
3.61KB -
webcrypto-ed25519-polyfill/dist/index.browser
.mjs
3.59KB -
webcrypto-ed25519-polyfill/dist/index.native.
mjs
3.57KB -
rpc-subscriptions/dist/index.browser.mjs
3.37KB -
rpc-subscriptions/dist/index.node.mjs
3.34KB -
rpc-subscriptions/dist/index.native.mjs
3.31KB -
rpc-transformers/dist/index.browser.mjs
3.16KB -
rpc-transformers/dist/index.native.mjs
3.16KB -
rpc-transformers/dist/index.node.mjs
3.16KB -
react/dist/index.browser.mjs
3.09KB -
react/dist/index.native.mjs
3.09KB -
react/dist/index.node.mjs
3.09KB -
addresses/dist/index.browser.mjs
2.93KB -
addresses/dist/index.native.mjs
2.92KB -
addresses/dist/index.node.mjs
2.92KB -
signers/dist/index.browser.mjs
2.9KB -
signers/dist/index.native.mjs
2.9KB -
signers/dist/index.node.mjs
2.9KB -
transactions/dist/index.browser.mjs
2.87KB -
transactions/dist/index.native.mjs
2.86KB -
transactions/dist/index.node.mjs
2.86KB -
codecs-strings/dist/index.browser.mjs
2.53KB -
codecs-strings/dist/index.node.mjs
2.49KB -
codecs-strings/dist/index.native.mjs
2.45KB -
transaction-confirmation/dist/index.node.mjs
2.41KB -
transaction-confirmation/dist/index.native.mj
s
2.36KB -
transaction-confirmation/dist/index.browser.m
js
2.35KB -
sysvars/dist/index.browser.mjs
2.35KB -
sysvars/dist/index.native.mjs
2.34KB -
sysvars/dist/index.node.mjs
2.34KB -
kit/dist/index.browser.mjs
2.22KB -
kit/dist/index.native.mjs
2.22KB -
kit/dist/index.node.mjs
2.22KB -
rpc-subscriptions-spec/dist/index.node.mjs
2.18KB -
rpc-subscriptions-spec/dist/index.native.mjs
2.13KB -
rpc-subscriptions-spec/dist/index.browser.mjs
2.13KB -
keys/dist/index.browser.mjs
2.1KB -
keys/dist/index.native.mjs
2.1KB -
keys/dist/index.node.mjs
2.1KB -
rpc/dist/index.node.mjs
1.95KB -
codecs-numbers/dist/index.browser.mjs
1.95KB -
codecs-numbers/dist/index.native.mjs
1.95KB -
codecs-numbers/dist/index.node.mjs
1.94KB -
rpc-transport-http/dist/index.browser.mjs
1.91KB -
rpc-transport-http/dist/index.native.mjs
1.9KB -
rpc/dist/index.native.mjs
1.81KB -
rpc/dist/index.browser.mjs
1.8KB -
subscribable/dist/index.node.mjs
1.8KB -
subscribable/dist/index.native.mjs
1.75KB -
subscribable/dist/index.browser.mjs
1.74KB -
rpc-transport-http/dist/index.node.mjs
1.72KB -
rpc-types/dist/index.browser.mjs
1.53KB -
rpc-types/dist/index.native.mjs
1.53KB -
rpc-types/dist/index.node.mjs
1.53KB -
rpc-subscriptions-channel-websocket/dist/inde
x.node.mjs
1.33KB -
rpc-subscriptions-channel-websocket/dist/inde
x.native.mjs
1.27KB -
rpc-subscriptions-channel-websocket/dist/inde
x.browser.mjs
1.26KB -
program-client-core/dist/index.browser.mjs
1.21KB -
program-client-core/dist/index.native.mjs
1.21KB -
program-client-core/dist/index.node.mjs
1.21KB -
options/dist/index.browser.mjs
1.18KB -
options/dist/index.native.mjs
1.18KB -
options/dist/index.node.mjs
1.17KB -
accounts/dist/index.browser.mjs
1.17KB -
accounts/dist/index.native.mjs
1.17KB -
accounts/dist/index.node.mjs
1.16KB -
rpc-api/dist/index.browser.mjs
976B -
rpc-api/dist/index.native.mjs
975B -
rpc-api/dist/index.node.mjs
973B -
compat/dist/index.browser.mjs
969B -
compat/dist/index.native.mjs
968B -
compat/dist/index.node.mjs
966B -
rpc-spec-types/dist/index.browser.mjs
962B -
rpc-spec-types/dist/index.native.mjs
961B -
rpc-spec-types/dist/index.node.mjs
959B -
rpc-subscriptions-api/dist/index.native.mjs
870B -
rpc-subscriptions-api/dist/index.node.mjs
869B -
rpc-subscriptions-api/dist/index.browser.mjs
868B -
rpc-spec/dist/index.browser.mjs
852B -
rpc-spec/dist/index.native.mjs
851B -
rpc-spec/dist/index.node.mjs
850B -
promises/dist/index.browser.mjs
799B -
promises/dist/index.native.mjs
798B -
promises/dist/index.node.mjs
797B -
assertions/dist/index.browser.mjs
783B -
instructions/dist/index.browser.mjs
771B -
instructions/dist/index.native.mjs
770B -
instructions/dist/index.node.mjs
768B -
fast-stable-stringify/dist/index.browser.mjs
726B -
fast-stable-stringify/dist/index.native.mjs
725B -
assertions/dist/index.native.mjs
724B -
fast-stable-stringify/dist/index.node.mjs
724B -
assertions/dist/index.node.mjs
723B -
programs/dist/index.browser.mjs
329B -
plugin-core/dist/index.browser.mjs
328B -
programs/dist/index.native.mjs
327B -
plugin-core/dist/index.native.mjs
326B -
programs/dist/index.node.mjs
325B -
plugin-core/dist/index.node.mjs
324B -
event-target-impl/dist/index.node.mjs
230B -
functional/dist/index.browser.mjs
154B -
functional/dist/index.native.mjs
152B -
text-encoding-impl/dist/index.native.mjs
152B -
functional/dist/index.node.mjs
151B -
codecs/dist/index.browser.mjs
137B -
codecs/dist/index.native.mjs
136B -
codecs/dist/index.node.mjs
134B -
event-target-impl/dist/index.browser.mjs
133B -
ws-impl/dist/index.node.mjs
131B -
text-encoding-impl/dist/index.browser.mjs
122B -
text-encoding-impl/dist/index.node.mjs
119B -
ws-impl/dist/index.browser.mjs
113B -
crypto-impl/dist/index.node.mjs
111B -
crypto-impl/dist/index.browser.mjs
109B -
rpc-parsed-types/dist/index.browser.mjs
66B -
rpc-parsed-types/dist/index.native.mjs
65B -
rpc-parsed-types/dist/index.node.mjs
63B -

No change in files bundle size

Final result: ✅

View report in BundleMon website ➡️


Current branch size history | Target branch size history

Copy link
Copy Markdown
Member

@mcintyre94 mcintyre94 left a comment

Choose a reason for hiding this comment

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

Thanks for this! I rebased on #1364 to fix an existing UI bug and this looks good to go

@illegalcall FYI since you opened this PR we updated our contributing guidelines and will no longer review PRs that are purely AI generated, as I think this probably was. We hope you'll keep contributing, but please review the guidelines before doing so.

@mcintyre94 mcintyre94 enabled auto-merge February 13, 2026 10:35
@mcintyre94 mcintyre94 added this pull request to the merge queue Feb 13, 2026
@illegalcall
Copy link
Copy Markdown
Contributor Author

Hey, thank you @mcintyre94.
Yes, I think I know the UI bug. I hit it while working on this, but didn’t fix it because I expected there would be a separate issue for it. I also thought of filing one, but didn’t get around to it.

Secondly, Its great that you have guidelines about AI generated code, and I usually do use AI IDEs, to understand the codebase context and get familiar with a new codebase fast. But I believe that this was not purely AI generated. This was mostly generated by me and reviewed by AI.

Also, the purely AI generated part of this would be the commit message. I think that was purely generated by AI.
It would be very helpful for me to understand how you get to that conclusion, in just a friendly/educational way.

And with this message, I am not trying to push back. I am just sharing my perspective.
And yeah, will be happy to contribute forward. I really like the project and the team.

Merged via the queue into anza-xyz:main with commit 24f81ac Feb 13, 2026
11 checks passed
@github-actions
Copy link
Copy Markdown
Contributor

🔎💬 Inkeep AI search and chat service is syncing content for source 'Solana Kit Docs'

@mcintyre94
Copy link
Copy Markdown
Member

@illegalcall Totally fair, thanks for responding!

The main reason in this specific case was because of the UI bug, we don't have unit tests so you wouldn't have been able to test this without that being fixed first. In future, based on our new guidelines, we would probably close a PR that could not/has not been tested/verified by a person, just because this makes reviewing them more difficult.

The other thing is the PR description, I've mentioned in our guidelines a good rule of thumb is not to use AI to write that. I do appreciate that people have different levels of English, and we as reviewers can only review English messages, so this is a bit restrictive. But the reason is that AI PR descriptions tend to be more difficult to understand and review, while a person with the right context tends to write a message that is more helpful for us as reviewers.

If you do have any suggestions about our guidelines, please feel free to open an issue and I'm definitely happy to discuss further. It might take some iteration to reach the right place here. I'm just keen to avoid getting into a back and forth here, since this is a merged PR and conversation here won't be very visible to anyone else :)

Thanks again for contributing, and for reaching out!

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 2, 2026

Because there has been no activity on this PR for 14 days since it was merged, it has been automatically locked. Please open a new issue if it requires a follow up.

@github-actions github-actions Bot locked as resolved and limited conversation to collaborators Mar 2, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use the new SelectedWalletAccountContextProvider for example react-app

2 participants