Conversation
- Remove `thirdweb`, `@thirdweb-dev/wagmi-adapter` - Install `@web3-onboard/core`, `@web3-onboard/react`, `@web3-onboard/wagmi`, and `@web3-onboard/injected-wallets` - Update `wagmi.config.ts` to integrate `@web3-onboard/wagmi` while conditionally continuing to inject the E2E mock connector for Playwright tests - Wrap `<WagmiProvider>` with `<Web3OnboardProvider>` in `Providers.tsx` - Replace Thirdweb's `ConnectButton` with a custom functional `WalletMenu` that uses Web3-Onboard's `useConnectWallet` and conditionally Wagmi's `useConnect` in E2E testing - Strip all `useActiveAccount` hooks from the Profile and Topnav components in favor of standard Wagmi / Web3Onboard account hooks Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…te-limiting - When `web3Onboard` was instantiated unconditionally with mainnet and sepolia public RPCs, it aggressively polled them for state and block updates. - Under CI, the production build (`--mode production`) caused Web3Onboard to spam these RPCs (even though the E2E tests only interact with the `hardhat` chain), which triggered HTTP 429 Too Many Requests errors. - These 429 errors blocked Apollo Client GraphQL requests to the local subgraph, causing tests to time out waiting for elements that were never rendered. - Filtering the chains down to ONLY `hardhat` when `_isE2E()` is true perfectly fixes this issue. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Wagmi v2+ `useConnection` no longer returns `address` and `isConnected`. This caused the application to mistakenly think no wallet was connected during E2E tests, which then failed because the UI elements (like "Mint Profile") didn't show up correctly, causing Playwright to time out. Replaced `useConnection` with `useAccount` in `Topnav.tsx`, `ProfilePage.tsx`, and `useProfilePage.ts` to properly retrieve the connection state. Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
…r `mutateAsync` for the generated Wagmi hooks. Here is a bit of context on the fix: running `npm install` updated the `@wagmi/cli` and `wagmi` dependencies to versions that adhere to Wagmi v3 deprecation standards. Under these new standards, `createUseWriteContract` no longer intercepts and injects the `abi` and `functionName` parameters into the generic React Query `mutateAsync` method. Previously, calling `mutateAsync` on generated hooks passed `undefined` ABIs to Viem's `encodeFunctionData`. This immediately crashed during E2E tests with a `TypeError: Cannot read properties of undefined (reading 'length')` when attempting to send transactions like creating a profile or an offer. By changing these calls to `writeContractAsync`, I've ensured that the wrapped hooks properly inject the contract ABIs before executing the mutations. Please let me know if you would like me to review anything else! Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Replaces the Thirdweb wallet connect functionality with
@web3-onboard/wagmias requested. The E2E testing framework remains fully supported by conditionally injecting the mock wallet connector when running inside Playwright (_isE2E()). All legacythirdwebdependencies and imports have been cleaned out from the codebase.PR created automatically by Jules for task 9203610503086850369 started by @dappvibe