Skip to content

[Portal] Fix: Broken /connect Links #7679

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 24, 2025

Conversation

gregfromstl
Copy link
Member

@gregfromstl gregfromstl commented Jul 22, 2025


PR-Codex overview

This PR focuses on updating documentation links and improving clarity in various parts of the codebase related to wallet connections, API references, and account abstractions.

Detailed summary

  • Updated links in documentation to point to new paths for CheckoutWidget, Auth, and In-App Wallets.
  • Removed commented-out code in layout.tsx.
  • Enhanced clarity in API key instructions and transaction documentation.
  • Fixed references to Account Abstraction and Gas Sponsorship.
  • Improved consistency in terminology across various pages.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Summary by CodeRabbit

  • Documentation

    • Updated numerous documentation links and references to reflect new URL structures, particularly consolidating wallet-related paths under /wallets and payment-related paths under /payments.
    • Removed or updated outdated sections and links in various guides and FAQ pages.
    • Improved formatting and consistency in documentation files, including whitespace and indentation adjustments.
    • Refined and removed specific tag detection for older SDK versions in the documentation search functionality.
  • Bug Fixes

    • Updated redirect rules to ensure old URLs correctly point to the new wallet and payment documentation paths.

@gregfromstl gregfromstl requested review from a team as code owners July 22, 2025 19:40
Copy link

linear bot commented Jul 22, 2025

Copy link

changeset-bot bot commented Jul 22, 2025

⚠️ No Changeset found

Latest commit: 82fe728

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

Copy link

vercel bot commented Jul 22, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs-v2 ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 24, 2025 6:00pm
nebula ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 24, 2025 6:00pm
thirdweb_playground ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 24, 2025 6:00pm
thirdweb-www ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 24, 2025 6:00pm
wallet-ui ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 24, 2025 6:00pm

Copy link
Contributor

coderabbitai bot commented Jul 22, 2025

Walkthrough

This update refactors documentation and internal links throughout the project, consolidating and redirecting various /connect and related wallet paths to new /wallets-based URLs. It also updates references, removes outdated sections, and applies minor formatting changes across multiple documentation files and redirect logic.

Changes

File(s) Change Summary
apps/portal/redirects.mjs Redirects updated: /connect* and related paths now point to /wallets*; new redirects added and consolidated.
apps/portal/src/components/others/DocSearch.tsx Removes tag detection for /react/v4 and /wallet-sdk/v2 hrefs in search logic.
apps/portal/src/app/tokens/explore/pre-built-contracts/account-factory/page.mdx,
apps/portal/src/app/tokens/explore/pre-built-contracts/managed-account-factory/page.mdx
Removes "Use Cases & Examples" sections.
apps/portal/src/app/engine/v2/troubleshooting/page.mdx Removes section explaining the "AA21 didn’t pay prefund" error.
apps/portal/src/app/engine/v2/configure-wallets/server-wallet/page.mdx Removes hyperlink from billing model phrase.
apps/portal/src/app/engine/v2/features/relayers/page.mdx,
apps/portal/src/app/react/v5/account-abstraction/get-started/page.mdx,
apps/portal/src/app/react/v5/migrate/installation/page.mdx
Updates documentation links for ConnectButton and related components.
apps/portal/src/app/react/v5/components/ConnectButton/page.mdx,
apps/portal/src/app/react/v5/connecting-wallets/ui-components/page.mdx
Updates links for supported wallets and auth documentation.
apps/portal/src/app/react/v5/in-app-wallet/enable-gasless/page.mdx,
apps/portal/src/app/react/v5/in-app-wallet/get-started/page.mdx
Updates internal links for account abstraction and in-app wallet guides.
apps/portal/src/app/react/v5/rainbow-kit-migrate/page.mdx Updates customization documentation link and formatting.
apps/portal/src/app/typescript/v5/account-abstraction/get-started/page.mdx Updates recommended guide link for account abstraction.
apps/portal/src/app/nebula/get-started/page.mdx Updates external wallet link in comment and adjusts formatting.
apps/portal/src/app/pay/guides/smart-accounts/page.mdx Updates "Next Steps" links for EIP7702, Gas Sponsorship, and Payments API.
apps/portal/src/app/pay/onramp-providers/page.mdx Removes sentence about preferredProvider parameter; adds newline.
apps/portal/src/app/pay/faqs/page.mdx Cleans up whitespace and formatting in FAQ details.
apps/portal/src/app/account/api-keys/page.mdx,
apps/portal/src/app/transactions/session-keys/page.mdx
Adds trailing newlines.
apps/portal/src/app/transactions/page.mdx Updates wallet-related links and adjusts import/metadata formatting.
apps/portal/src/app/layout.tsx Removes commented-out Banner component.
apps/portal/public/llms.txt Updates inAppWallet documentation link.
apps/portal/src/app/payments/products/page.mdx Updates CheckoutWidget API reference link.
apps/portal/src/app/dotnet/wallets/actions/authenticate/page.mdx Updates Auth documentation link to new relative path.
packages/thirdweb/CHANGELOG.md Updates Pay Modal integration description and payment service URL.
README.md Updates support links for Embedded Wallets and Account Abstraction.
apps/portal/src/app/tokens/build/base-contracts/erc-4337/page.mdx Updates "smart accounts" hyperlink target.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant PortalDocs
    participant RedirectsLogic

    User->>PortalDocs: Request /connect/* or related path
    PortalDocs->>RedirectsLogic: Check for redirect rule
    RedirectsLogic-->>PortalDocs: Redirect to /wallets/* or new target
    PortalDocs-->>User: Serve updated documentation/resource
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • thirdweb-dev/js#7602: Redesigns wallet documentation sidebar and restructures wallet-related docs, changing paths similar to those updated in this PR.
  • thirdweb-dev/js#7680: Updates the same apps/portal/redirects.mjs file, modifying redirect paths from /connect to /wallets and consolidating routes.
  • thirdweb-dev/js#7677: Modifies and simplifies redirect rules in apps/portal/redirects.mjs for /connect to /wallets paths, directly related to this PR's redirect logic.

Suggested reviewers

  • jnsdls

Note

⚡️ Unit Test Generation is now available in beta!

Learn more here, or try it out under "Finishing Touches" below.

Warning

Review ran into problems

🔥 Problems

Errors were encountered while retrieving linked issues.

Errors (1)
  • TEAM-0000: Entity not found: Issue - Could not find referenced Issue.

📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d2691d9 and 82fe728.

📒 Files selected for processing (6)
  • apps/portal/redirects.mjs (4 hunks)
  • apps/portal/src/app/account/api-keys/page.mdx (1 hunks)
  • apps/portal/src/app/pay/faqs/page.mdx (4 hunks)
  • apps/portal/src/app/react/v5/migrate/installation/page.mdx (3 hunks)
  • apps/portal/src/components/others/DocSearch.tsx (1 hunks)
  • packages/thirdweb/CHANGELOG.md (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • apps/portal/src/app/account/api-keys/page.mdx
  • apps/portal/src/app/react/v5/migrate/installation/page.mdx
🚧 Files skipped from review as they are similar to previous changes (4)
  • apps/portal/src/app/pay/faqs/page.mdx
  • apps/portal/src/components/others/DocSearch.tsx
  • apps/portal/redirects.mjs
  • packages/thirdweb/CHANGELOG.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
  • GitHub Check: Lint Packages
  • GitHub Check: E2E Tests (pnpm, vite)
  • GitHub Check: E2E Tests (pnpm, esbuild)
  • GitHub Check: Unit Tests
  • GitHub Check: E2E Tests (pnpm, webpack)
  • GitHub Check: Build Packages
  • GitHub Check: Size
  • GitHub Check: Analyze (javascript)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch greg/tool-5091-fix-broken-links-in-portal

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai generate unit tests to generate unit tests for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

graphite-app bot commented Jul 22, 2025

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • merge-queue - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

Copy link

codecov bot commented Jul 22, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 56.39%. Comparing base (a491de4) to head (252ad52).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #7679   +/-   ##
=======================================
  Coverage   56.39%   56.39%           
=======================================
  Files         908      908           
  Lines       58244    58244           
  Branches     4227     4227           
=======================================
  Hits        32844    32844           
  Misses      25290    25290           
  Partials      110      110           
Flag Coverage Δ
packages 56.39% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

github-actions bot commented Jul 22, 2025

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
thirdweb (esm) 63.33 KB (0%) 1.3 s (0%) 156 ms (+114.55% 🔺) 1.5 s
thirdweb (cjs) 353.15 KB (0%) 7.1 s (0%) 654 ms (+3.87% 🔺) 7.8 s
thirdweb (minimal + tree-shaking) 5.7 KB (0%) 114 ms (0%) 54 ms (+1327.62% 🔺) 168 ms
thirdweb/chains (tree-shaking) 526 B (0%) 11 ms (0%) 2 ms (+22.28% 🔺) 13 ms
thirdweb/react (minimal + tree-shaking) 19.22 KB (0%) 385 ms (0%) 40 ms (+274.5% 🔺) 424 ms

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
apps/portal/src/app/payments/faq/page.mdx (1)

47-49: Link removal may hinder discoverability—consider updating instead of deleting

Dropping the “Learn more about the supported onramp providers” link removes a direct path for readers to find the provider list. If the old /connect URL is obsolete, replace it with the new /wallets-based route rather than removing the link entirely.

-Apple Pay and Google Pay are supported through the onramp providers depending on region. Coinbase, Stripe, and Transak currently support Apple Pay. Transak supports Google Pay.
+Apple Pay and Google Pay are supported through the onramp providers depending on region. Coinbase, Stripe, and Transak currently support Apple Pay. Transak supports Google Pay. [Learn more about the supported onramp providers](/wallets/onramp-providers).

Please verify the correct destination path before merging.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c904f43 and a476e92.

📒 Files selected for processing (45)
  • README.md (1 hunks)
  • apps/portal/public/llms.txt (1 hunks)
  • apps/portal/redirects.mjs (4 hunks)
  • apps/portal/src/app/account/api-keys/page.mdx (2 hunks)
  • apps/portal/src/app/dotnet/wallets/actions/authenticate/page.mdx (1 hunks)
  • apps/portal/src/app/engine/v2/configure-wallets/server-wallet/page.mdx (1 hunks)
  • apps/portal/src/app/engine/v2/features/relayers/page.mdx (1 hunks)
  • apps/portal/src/app/engine/v2/troubleshooting/page.mdx (1 hunks)
  • apps/portal/src/app/infrastructure/sidebar.tsx (1 hunks)
  • apps/portal/src/app/layout.tsx (0 hunks)
  • apps/portal/src/app/nebula/get-started/page.mdx (3 hunks)
  • apps/portal/src/app/page.tsx (1 hunks)
  • apps/portal/src/app/pay/guides/smart-accounts/page.mdx (1 hunks)
  • apps/portal/src/app/pay/onramp-providers/page.mdx (2 hunks)
  • apps/portal/src/app/payments/faq/page.mdx (1 hunks)
  • apps/portal/src/app/payments/products/page.mdx (1 hunks)
  • apps/portal/src/app/react/v5/account-abstraction/get-started/page.mdx (1 hunks)
  • apps/portal/src/app/react/v5/components/ConnectButton/page.mdx (2 hunks)
  • apps/portal/src/app/react/v5/components/ConnectEmbed/page.mdx (1 hunks)
  • apps/portal/src/app/react/v5/connecting-wallets/ui-components/page.mdx (1 hunks)
  • apps/portal/src/app/react/v5/in-app-wallet/enable-gasless/page.mdx (1 hunks)
  • apps/portal/src/app/react/v5/in-app-wallet/get-started/page.mdx (2 hunks)
  • apps/portal/src/app/react/v5/migrate/installation/page.mdx (3 hunks)
  • apps/portal/src/app/react/v5/rainbow-kit-migrate/page.mdx (3 hunks)
  • apps/portal/src/app/react/v5/sidebar.tsx (1 hunks)
  • apps/portal/src/app/tokens/build/base-contracts/erc-4337/page.mdx (1 hunks)
  • apps/portal/src/app/tokens/explore/pre-built-contracts/account-factory/page.mdx (0 hunks)
  • apps/portal/src/app/tokens/explore/pre-built-contracts/managed-account-factory/page.mdx (0 hunks)
  • apps/portal/src/app/transactions/distribute-tokens/page.mdx (1 hunks)
  • apps/portal/src/app/transactions/page.mdx (2 hunks)
  • apps/portal/src/app/transactions/session-keys/page.mdx (2 hunks)
  • apps/portal/src/app/transactions/stripe-payments/page.mdx (1 hunks)
  • apps/portal/src/app/typescript/v5/account-abstraction/get-started/page.mdx (1 hunks)
  • apps/portal/src/app/typescript/v5/connecting-wallets/page.mdx (1 hunks)
  • apps/portal/src/app/typescript/v5/wallets/page.mdx (1 hunks)
  • apps/portal/src/app/wallets/auth/deploying-to-production/page.mdx (1 hunks)
  • apps/portal/src/app/wallets/auth/page.mdx (0 hunks)
  • apps/portal/src/app/wallets/external-wallets/[walletId]/page.tsx (1 hunks)
  • apps/portal/src/app/wallets/external-wallets/com.coinbase.wallet/page.tsx (1 hunks)
  • apps/portal/src/app/wallets/page.mdx (1 hunks)
  • apps/portal/src/app/wallets/pregenerate-wallets/page.mdx (2 hunks)
  • apps/portal/src/app/wallets/security/page.mdx (1 hunks)
  • apps/portal/src/app/wallets/users/page.mdx (2 hunks)
  • apps/portal/src/components/others/AllSupportedWallets.tsx (1 hunks)
  • packages/thirdweb/CHANGELOG.md (1 hunks)
📓 Path-based instructions (2)
**/*.{ts,tsx}

📄 CodeRabbit Inference Engine (CLAUDE.md)

**/*.{ts,tsx}: Write idiomatic TypeScript with explicit function declarations and return types
Limit each file to one stateless, single-responsibility function for clarity
Re-use shared types from @/types or local types.ts barrels
Prefer type aliases over interface except for nominal shapes
Avoid any and unknown unless unavoidable; narrow generics when possible
Choose composition over inheritance; leverage utility types (Partial, Pick, etc.)
Comment only ambiguous logic; avoid restating TypeScript in prose

Files:

  • apps/portal/src/components/others/AllSupportedWallets.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit Inference Engine (CLAUDE.md)

Load heavy dependencies inside async paths to keep initial bundle lean (lazy loading)

Files:

  • apps/portal/src/components/others/AllSupportedWallets.tsx
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Surface breaking changes prominently in PR descriptions
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Unified `Wallet` and `Account` interfaces in wallet architecture
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : EIP-1193, EIP-5792, EIP-7702 standard support in wallet modules
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Support for in-app wallets (social/email login)
Learnt from: MananTank
PR: thirdweb-dev/js#7315
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/nft/launch-nft.tsx:155-160
Timestamp: 2025-06-10T00:46:58.580Z
Learning: In the dashboard application, the route structure for team and project navigation is `/team/[team_slug]/[project_slug]/...` without a `/project/` segment. Contract links should be formatted as `/team/${teamSlug}/${projectSlug}/contract/${chainId}/${contractAddress}`.
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use `NavLink` for internal navigation with automatic active states in dashboard and playground apps
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Smart wallets with account abstraction
Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : Use `NavLink` (`@/components/ui/NavLink`) for internal navigation so active states are handled automatically.
Learnt from: joaquim-verges
PR: thirdweb-dev/js#7268
File: packages/thirdweb/src/wallets/in-app/core/wallet/in-app-core.ts:210-216
Timestamp: 2025-06-03T23:44:40.243Z
Learning: EIP7702 wallets do not need special handling for switching chains, unlike EIP4337 wallets which require reconnection when switching chains. In the switchChain method condition, EIP7702 should be intentionally excluded from the reconnection logic.
apps/portal/src/components/others/AllSupportedWallets.tsx (11)

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use NavLink for internal navigation with automatic active states in dashboard and playground apps

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Support for in-app wallets (social/email login)

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : EIP-1193, EIP-5792, EIP-7702 standard support in wallet modules

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : Use NavLink (@/components/ui/NavLink) for internal navigation so active states are handled automatically.

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Prefer API routes or server actions to keep tokens secret; the browser only sees relative paths.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Unified Wallet and Account interfaces in wallet architecture

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to test/src/test-wallets.ts : Predefined test accounts are in test/src/test-wallets.ts

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Interactive UI that relies on hooks (useState, useEffect, React Query, wallet hooks).

Learnt from: jnsdls
PR: #7365
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx:16-17
Timestamp: 2025-06-18T04:27:16.172Z
Learning: Next.js Link component supports external URLs without throwing errors. When used with absolute URLs (like https://...), it behaves like a regular anchor tag without client-side routing, but does not cause runtime crashes or errors as previously believed.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Smart wallets with account abstraction

Learnt from: jnsdls
PR: #7365
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx:16-17
Timestamp: 2025-06-18T04:30:04.326Z
Learning: Next.js Link component fully supports both internal and external URLs and works appropriately with all standard anchor attributes including target="_blank", rel="noopener noreferrer", etc. Using Link for external URLs is completely appropriate and recommended.

💤 Files with no reviewable changes (4)
  • apps/portal/src/app/layout.tsx
  • apps/portal/src/app/wallets/auth/page.mdx
  • apps/portal/src/app/tokens/explore/pre-built-contracts/managed-account-factory/page.mdx
  • apps/portal/src/app/tokens/explore/pre-built-contracts/account-factory/page.mdx
✅ Files skipped from review due to trivial changes (27)
  • apps/portal/src/app/react/v5/connecting-wallets/ui-components/page.mdx
  • apps/portal/src/app/transactions/stripe-payments/page.mdx
  • apps/portal/src/app/transactions/distribute-tokens/page.mdx
  • apps/portal/src/app/pay/onramp-providers/page.mdx
  • apps/portal/src/app/typescript/v5/wallets/page.mdx
  • apps/portal/src/app/wallets/security/page.mdx
  • apps/portal/src/app/wallets/page.mdx
  • apps/portal/src/app/react/v5/rainbow-kit-migrate/page.mdx
  • apps/portal/src/app/react/v5/components/ConnectButton/page.mdx
  • apps/portal/src/app/nebula/get-started/page.mdx
  • apps/portal/src/app/account/api-keys/page.mdx
  • apps/portal/src/app/react/v5/in-app-wallet/get-started/page.mdx
  • apps/portal/src/app/react/v5/account-abstraction/get-started/page.mdx
  • apps/portal/src/app/tokens/build/base-contracts/erc-4337/page.mdx
  • apps/portal/src/app/react/v5/in-app-wallet/enable-gasless/page.mdx
  • apps/portal/src/app/transactions/session-keys/page.mdx
  • apps/portal/src/app/typescript/v5/account-abstraction/get-started/page.mdx
  • apps/portal/src/app/react/v5/components/ConnectEmbed/page.mdx
  • apps/portal/src/app/react/v5/sidebar.tsx
  • apps/portal/src/app/wallets/pregenerate-wallets/page.mdx
  • apps/portal/src/app/transactions/page.mdx
  • README.md
  • apps/portal/src/app/wallets/external-wallets/[walletId]/page.tsx
  • apps/portal/src/app/react/v5/migrate/installation/page.mdx
  • apps/portal/src/app/typescript/v5/connecting-wallets/page.mdx
  • apps/portal/public/llms.txt
  • apps/portal/src/app/pay/guides/smart-accounts/page.mdx
🚧 Files skipped from review as they are similar to previous changes (12)
  • apps/portal/src/app/engine/v2/features/relayers/page.mdx
  • apps/portal/src/app/engine/v2/troubleshooting/page.mdx
  • apps/portal/src/app/dotnet/wallets/actions/authenticate/page.mdx
  • apps/portal/src/app/page.tsx
  • apps/portal/src/app/infrastructure/sidebar.tsx
  • apps/portal/src/app/engine/v2/configure-wallets/server-wallet/page.mdx
  • apps/portal/src/app/wallets/auth/deploying-to-production/page.mdx
  • apps/portal/src/app/wallets/users/page.mdx
  • apps/portal/src/app/wallets/external-wallets/com.coinbase.wallet/page.tsx
  • apps/portal/src/app/payments/products/page.mdx
  • apps/portal/redirects.mjs
  • packages/thirdweb/CHANGELOG.md
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{ts,tsx}

📄 CodeRabbit Inference Engine (CLAUDE.md)

**/*.{ts,tsx}: Write idiomatic TypeScript with explicit function declarations and return types
Limit each file to one stateless, single-responsibility function for clarity
Re-use shared types from @/types or local types.ts barrels
Prefer type aliases over interface except for nominal shapes
Avoid any and unknown unless unavoidable; narrow generics when possible
Choose composition over inheritance; leverage utility types (Partial, Pick, etc.)
Comment only ambiguous logic; avoid restating TypeScript in prose

Files:

  • apps/portal/src/components/others/AllSupportedWallets.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit Inference Engine (CLAUDE.md)

Load heavy dependencies inside async paths to keep initial bundle lean (lazy loading)

Files:

  • apps/portal/src/components/others/AllSupportedWallets.tsx
🧠 Learnings (2)
📓 Common learnings
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Surface breaking changes prominently in PR descriptions
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Unified `Wallet` and `Account` interfaces in wallet architecture
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : EIP-1193, EIP-5792, EIP-7702 standard support in wallet modules
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Support for in-app wallets (social/email login)
Learnt from: MananTank
PR: thirdweb-dev/js#7315
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/nft/launch-nft.tsx:155-160
Timestamp: 2025-06-10T00:46:58.580Z
Learning: In the dashboard application, the route structure for team and project navigation is `/team/[team_slug]/[project_slug]/...` without a `/project/` segment. Contract links should be formatted as `/team/${teamSlug}/${projectSlug}/contract/${chainId}/${contractAddress}`.
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use `NavLink` for internal navigation with automatic active states in dashboard and playground apps
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Smart wallets with account abstraction
Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : Use `NavLink` (`@/components/ui/NavLink`) for internal navigation so active states are handled automatically.
Learnt from: joaquim-verges
PR: thirdweb-dev/js#7268
File: packages/thirdweb/src/wallets/in-app/core/wallet/in-app-core.ts:210-216
Timestamp: 2025-06-03T23:44:40.243Z
Learning: EIP7702 wallets do not need special handling for switching chains, unlike EIP4337 wallets which require reconnection when switching chains. In the switchChain method condition, EIP7702 should be intentionally excluded from the reconnection logic.
apps/portal/src/components/others/AllSupportedWallets.tsx (11)

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use NavLink for internal navigation with automatic active states in dashboard and playground apps

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Support for in-app wallets (social/email login)

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : EIP-1193, EIP-5792, EIP-7702 standard support in wallet modules

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : Use NavLink (@/components/ui/NavLink) for internal navigation so active states are handled automatically.

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Prefer API routes or server actions to keep tokens secret; the browser only sees relative paths.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Unified Wallet and Account interfaces in wallet architecture

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to test/src/test-wallets.ts : Predefined test accounts are in test/src/test-wallets.ts

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Interactive UI that relies on hooks (useState, useEffect, React Query, wallet hooks).

Learnt from: jnsdls
PR: #7365
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx:16-17
Timestamp: 2025-06-18T04:27:16.172Z
Learning: Next.js Link component supports external URLs without throwing errors. When used with absolute URLs (like https://...), it behaves like a regular anchor tag without client-side routing, but does not cause runtime crashes or errors as previously believed.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Smart wallets with account abstraction

Learnt from: jnsdls
PR: #7365
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/components/ProjectFTUX/ProjectFTUX.tsx:16-17
Timestamp: 2025-06-18T04:30:04.326Z
Learning: Next.js Link component fully supports both internal and external URLs and works appropriately with all standard anchor attributes including target="_blank", rel="noopener noreferrer", etc. Using Link for external URLs is completely appropriate and recommended.

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
  • GitHub Check: Lint Packages
  • GitHub Check: E2E Tests (pnpm, esbuild)
  • GitHub Check: E2E Tests (pnpm, vite)
  • GitHub Check: Size
  • GitHub Check: E2E Tests (pnpm, webpack)
  • GitHub Check: Unit Tests
  • GitHub Check: Build Packages
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (1)
apps/portal/src/components/others/AllSupportedWallets.tsx (1)

36-36: LGTM! Path update aligns with the new wallet routing structure.

The href update from /connect/external-wallets/${w.id} to /wallets/external-wallets/${w.id} correctly implements the new routing structure as described in the PR objectives. This change centralizes wallet-related navigation under the /wallets path for improved consistency.

Note: This constitutes a breaking change for any existing bookmarks or external references to the old /connect paths, but this is intentional and necessary for the routing consolidation.

@vercel vercel bot temporarily deployed to Preview – nebula July 22, 2025 21:35 Inactive
@vercel vercel bot temporarily deployed to Preview – thirdweb-www July 22, 2025 21:35 Inactive
@vercel vercel bot temporarily deployed to Preview – thirdweb_playground July 22, 2025 21:35 Inactive
@vercel vercel bot temporarily deployed to Preview – wallet-ui July 22, 2025 21:35 Inactive
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (4)
apps/portal/src/app/pay/faqs/page.mdx (4)

32-33: Pluralization typo – “token” ➜ “tokens”

Tiny copy nit: use the plural to read naturally.

-Payments is able to support most token that meet the following criteria:
+Payments is able to support most tokens that meet the following criteria:

47-49: Move period outside the markdown link & double-check the new route

  1. The trailing . should sit outside the ]() pair so it isn’t part of the clickable text.
  2. Please confirm the /pay/onramp-providers page exists (old link was broken).
- …[Learn more about the supported onramp providers.](/pay/onramp-providers).
+ …[Learn more about the supported onramp providers](/pay/onramp-providers).

63-65: Minor grammar fixes in country support section

-**Buy With Fiat** is available 160+ countries.
-All United States are supported, excluding Hawaii.
+**Buy With Fiat** is available in 160+ countries.
+All U.S. states are supported, excluding Hawaii.

Also applies to: 87-87


110-110: Missing question mark in FAQ heading

-<Details summary="How does KYC work with Buy With Fiat">
+<Details summary="How does KYC work with Buy With Fiat?">
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between a476e92 and d2691d9.

📒 Files selected for processing (6)
  • apps/portal/src/app/Header.tsx (1 hunks)
  • apps/portal/src/app/pay/faqs/page.mdx (3 hunks)
  • apps/portal/src/app/react/v5/connecting-wallets/hooks/page.mdx (1 hunks)
  • apps/portal/src/app/react/v5/connecting-wallets/ui-components/page.mdx (2 hunks)
  • apps/portal/src/app/transactions/page.mdx (3 hunks)
  • apps/portal/src/components/others/DocSearch.tsx (4 hunks)
📓 Path-based instructions (2)
**/*.{ts,tsx}

📄 CodeRabbit Inference Engine (CLAUDE.md)

**/*.{ts,tsx}: Write idiomatic TypeScript with explicit function declarations and return types
Limit each file to one stateless, single-responsibility function for clarity
Re-use shared types from @/types or local types.ts barrels
Prefer type aliases over interface except for nominal shapes
Avoid any and unknown unless unavoidable; narrow generics when possible
Choose composition over inheritance; leverage utility types (Partial, Pick, etc.)
Comment only ambiguous logic; avoid restating TypeScript in prose

Files:

  • apps/portal/src/components/others/DocSearch.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit Inference Engine (CLAUDE.md)

Load heavy dependencies inside async paths to keep initial bundle lean (lazy loading)

Files:

  • apps/portal/src/components/others/DocSearch.tsx
🧠 Learnings (3)
📓 Common learnings
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Surface breaking changes prominently in PR descriptions
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Support for in-app wallets (social/email login)
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : EIP-1193, EIP-5792, EIP-7702 standard support in wallet modules
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Unified `Wallet` and `Account` interfaces in wallet architecture
Learnt from: MananTank
PR: thirdweb-dev/js#7315
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/nft/launch-nft.tsx:155-160
Timestamp: 2025-06-10T00:46:58.580Z
Learning: In the dashboard application, the route structure for team and project navigation is `/team/[team_slug]/[project_slug]/...` without a `/project/` segment. Contract links should be formatted as `/team/${teamSlug}/${projectSlug}/contract/${chainId}/${contractAddress}`.
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Smart wallets with account abstraction
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use `NavLink` for internal navigation with automatic active states in dashboard and playground apps
Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : Use `NavLink` (`@/components/ui/NavLink`) for internal navigation so active states are handled automatically.
Learnt from: joaquim-verges
PR: thirdweb-dev/js#7268
File: packages/thirdweb/src/wallets/in-app/core/wallet/in-app-core.ts:210-216
Timestamp: 2025-06-03T23:44:40.243Z
Learning: EIP7702 wallets do not need special handling for switching chains, unlike EIP4337 wallets which require reconnection when switching chains. In the switchChain method condition, EIP7702 should be intentionally excluded from the reconnection logic.
apps/portal/src/app/pay/faqs/page.mdx (2)

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Surface breaking changes prominently in PR descriptions

Learnt from: MananTank
PR: #7081
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/assets/create/create-token-page-impl.tsx:110-118
Timestamp: 2025-05-20T18:54:15.781Z
Learning: In the thirdweb dashboard's token asset creation flow, the transferBatch function from thirdweb/extensions/erc20 accepts the raw quantity values from the form without requiring explicit conversion to wei using toUnits(). The function appears to handle this conversion internally or is designed to work with the values in the format they're already provided.

apps/portal/src/components/others/DocSearch.tsx (12)

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Interactive UI that relies on hooks (useState, useEffect, React Query, wallet hooks).

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : Use NavLink (@/components/ui/NavLink) for internal navigation so active states are handled automatically.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use NavLink for internal navigation with automatic active states in dashboard and playground apps

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Prefer API routes or server actions to keep tokens secret; the browser only sees relative paths.

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Anything that consumes hooks from @tanstack/react-query or thirdweb SDKs.

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard//api//*.{ts,tsx} : Co-locate data helpers under @/api/** and mark them with "server-only".

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use design system tokens (e.g., bg-card, border-border, text-muted-foreground)

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Keep queryKey stable and descriptive for cache hits.

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : For notices & skeletons rely on AnnouncementBanner, GenericLoadingPage, EmptyStateCard.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use descriptive, stable queryKeys for React Query cache hits

Learnt from: MananTank
PR: #7315
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/nft/launch-nft.tsx:155-160
Timestamp: 2025-06-10T00:46:58.580Z
Learning: In the dashboard application, the route structure for team and project navigation is /team/[team_slug]/[project_slug]/... without a /project/ segment. Contract links should be formatted as /team/${teamSlug}/${projectSlug}/contract/${chainId}/${contractAddress}.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to src/exports/react.native.ts : React Native specific exports are in src/exports/react.native.ts

✅ Files skipped from review due to trivial changes (3)
  • apps/portal/src/app/react/v5/connecting-wallets/hooks/page.mdx
  • apps/portal/src/app/Header.tsx
  • apps/portal/src/app/transactions/page.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
  • apps/portal/src/app/react/v5/connecting-wallets/ui-components/page.mdx
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{ts,tsx}

📄 CodeRabbit Inference Engine (CLAUDE.md)

**/*.{ts,tsx}: Write idiomatic TypeScript with explicit function declarations and return types
Limit each file to one stateless, single-responsibility function for clarity
Re-use shared types from @/types or local types.ts barrels
Prefer type aliases over interface except for nominal shapes
Avoid any and unknown unless unavoidable; narrow generics when possible
Choose composition over inheritance; leverage utility types (Partial, Pick, etc.)
Comment only ambiguous logic; avoid restating TypeScript in prose

Files:

  • apps/portal/src/components/others/DocSearch.tsx
**/*.{ts,tsx,js,jsx}

📄 CodeRabbit Inference Engine (CLAUDE.md)

Load heavy dependencies inside async paths to keep initial bundle lean (lazy loading)

Files:

  • apps/portal/src/components/others/DocSearch.tsx
🧠 Learnings (3)
📓 Common learnings
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Surface breaking changes prominently in PR descriptions
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Support for in-app wallets (social/email login)
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : EIP-1193, EIP-5792, EIP-7702 standard support in wallet modules
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Unified `Wallet` and `Account` interfaces in wallet architecture
Learnt from: MananTank
PR: thirdweb-dev/js#7315
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/nft/launch-nft.tsx:155-160
Timestamp: 2025-06-10T00:46:58.580Z
Learning: In the dashboard application, the route structure for team and project navigation is `/team/[team_slug]/[project_slug]/...` without a `/project/` segment. Contract links should be formatted as `/team/${teamSlug}/${projectSlug}/contract/${chainId}/${contractAddress}`.
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to packages/thirdweb/src/wallets/** : Smart wallets with account abstraction
Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use `NavLink` for internal navigation with automatic active states in dashboard and playground apps
Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : Use `NavLink` (`@/components/ui/NavLink`) for internal navigation so active states are handled automatically.
Learnt from: joaquim-verges
PR: thirdweb-dev/js#7268
File: packages/thirdweb/src/wallets/in-app/core/wallet/in-app-core.ts:210-216
Timestamp: 2025-06-03T23:44:40.243Z
Learning: EIP7702 wallets do not need special handling for switching chains, unlike EIP4337 wallets which require reconnection when switching chains. In the switchChain method condition, EIP7702 should be intentionally excluded from the reconnection logic.
apps/portal/src/app/pay/faqs/page.mdx (2)

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Surface breaking changes prominently in PR descriptions

Learnt from: MananTank
PR: #7081
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/assets/create/create-token-page-impl.tsx:110-118
Timestamp: 2025-05-20T18:54:15.781Z
Learning: In the thirdweb dashboard's token asset creation flow, the transferBatch function from thirdweb/extensions/erc20 accepts the raw quantity values from the form without requiring explicit conversion to wei using toUnits(). The function appears to handle this conversion internally or is designed to work with the values in the format they're already provided.

apps/portal/src/components/others/DocSearch.tsx (12)

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Interactive UI that relies on hooks (useState, useEffect, React Query, wallet hooks).

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : Use NavLink (@/components/ui/NavLink) for internal navigation so active states are handled automatically.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use NavLink for internal navigation with automatic active states in dashboard and playground apps

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Prefer API routes or server actions to keep tokens secret; the browser only sees relative paths.

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Anything that consumes hooks from @tanstack/react-query or thirdweb SDKs.

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard//api//*.{ts,tsx} : Co-locate data helpers under @/api/** and mark them with "server-only".

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use design system tokens (e.g., bg-card, border-border, text-muted-foreground)

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*client.tsx : Keep queryKey stable and descriptive for cache hits.

Learnt from: CR
PR: thirdweb-dev/js#0
File: .cursor/rules/dashboard.mdc:0-0
Timestamp: 2025-07-18T19:20:32.530Z
Learning: Applies to dashboard/**/*.{tsx,jsx} : For notices & skeletons rely on AnnouncementBanner, GenericLoadingPage, EmptyStateCard.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to apps/{dashboard,playground-web}/**/*.{ts,tsx} : Use descriptive, stable queryKeys for React Query cache hits

Learnt from: MananTank
PR: #7315
File: apps/dashboard/src/app/(app)/team/[team_slug]/[project_slug]/(sidebar)/assets/create/nft/launch-nft.tsx:155-160
Timestamp: 2025-06-10T00:46:58.580Z
Learning: In the dashboard application, the route structure for team and project navigation is /team/[team_slug]/[project_slug]/... without a /project/ segment. Contract links should be formatted as /team/${teamSlug}/${projectSlug}/contract/${chainId}/${contractAddress}.

Learnt from: CR
PR: thirdweb-dev/js#0
File: CLAUDE.md:0-0
Timestamp: 2025-07-18T19:19:55.613Z
Learning: Applies to src/exports/react.native.ts : React Native specific exports are in src/exports/react.native.ts

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: Size
  • GitHub Check: E2E Tests (pnpm, esbuild)
  • GitHub Check: E2E Tests (pnpm, vite)
  • GitHub Check: E2E Tests (pnpm, webpack)
  • GitHub Check: Lint Packages
  • GitHub Check: Unit Tests
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (4)
apps/portal/src/components/others/DocSearch.tsx (4)

26-27: LGTM! Correctly updates suggested link from /connect to /wallets.

The URL and title changes align with the PR's objective to consolidate wallet-related content under the /wallets path structure.


34-35: Verify that the title "Transactions" aligns with /engine/v3 content.

The URL update to /engine/v3 looks correct, but ensure that the title change from "Engine" to "Transactions" accurately represents the content users will find at this path.


48-48: LGTM! Tag type correctly updated to include "Wallets".

The addition of "Wallets" tag aligns with the new URL structure. Ensure that any references to previously removed tags are properly updated throughout the codebase.


414-416: LGTM! Correctly implements tag detection for /wallets path.

The new condition properly categorizes content from the /wallets section with the "Wallets" tag, ensuring search filtering works correctly with the updated URL structure.

Copy link
Contributor

graphite-app bot commented Jul 22, 2025

Merge activity

  • Jul 22, 10:13 PM UTC: This pull request can not be added to the Graphite merge queue. Please try rebasing and resubmitting to merge when ready.
  • Jul 22, 10:13 PM UTC: Graphite disabled "merge when ready" on this PR due to: a merge conflict with the target branch; resolve the conflict and try again..
  • Jul 22, 10:13 PM UTC: Graphite disabled "merge when ready" on this PR due to: Unknown error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages Portal Involves changes to the Portal (docs) codebase. SDK Involves changes to the thirdweb SDK
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants