https://linear.app/thirdweb/issue/CNCT-2428/pro-upcade-ecosystem-wallet-restriction-not-working
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving error handling in the `get-enclave-user-status.ts` file by changing the error message thrown when fetching the account status fails. It updates the error message to provide more clarity based on the response.
### Detailed summary
- Updated the error message in `get-enclave-user-status.ts` from `result.error` to `result.message` for clarity when fetching account status fails.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Fixes CNCT-2510
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating dependencies and improving compatibility with `Expo 52` and `React Native 0.76`, including adjustments to package versions and installation commands.
### Detailed summary
- Added support for `Expo 52` and `React Native 0.76`.
- Updated `expo-web-browser` version to `14.0.1`.
- Modified `expo-application` version to allow `5 || 6`.
- Updated installation commands from `npx expo:run` to `npx expo run`.
- Added `react-native-passkey` dependency.
- Adjusted peer dependencies in `package.json` files.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes#5537
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving wallet connection handling in the `thirdweb` project, specifically when switching signer accounts and simplifying connection logic for smart wallets.
### Detailed summary
- Updated `biome.json` to add `"noUselessElse": "off"`.
- Modified wallet connection logic in `packages/thirdweb/src/wallets/manager/index.ts` for better handling of active wallets.
- Added tests for connection management in `packages/thirdweb/src/wallets/manager/connection-manager.test.ts`.
- Removed environment variable logging across multiple API routes.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-503
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the removal of several components and pages related to contracts in the dashboard, along with updates to routing configurations.
### Detailed summary
- Deleted the following files:
- `contracts.tsx`
- `Stats.tsx`
- `CaseStudyStatic.tsx`
- `ContractInteractionSection.tsx`
- `LandingCaseStudyStaticSection.tsx`
- Updated `page-id.ts` by modifying the `ContractsLanding` constant.
- Modified `framer-rewrites.js` to add new routes:
- `/nebula`
- `/trusted-partner-program`
- `/trusted-partner-program/:partner_slug`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-496
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating various components in the codebase to replace the `isLoading` prop with `isPending` for better clarity and consistency in handling loading states.
### Detailed summary
- Replaced `isLoading` with `isPending` in multiple components including `delegate-button.tsx`, `claim-button.tsx`, and `proposal-button.tsx`.
- Updated the loading state handling in `TransactionButton` and related components.
- Adjusted styles and props for better UI consistency.
- Modified tooltip labels and button texts to reflect the new loading state terminology.
> The following files were skipped due to too many changes: `apps/dashboard/src/components/buttons/MismatchButton.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
FIxes [DASH-495](https://linear.app/thirdweb/issue/DASH-495/engine-playground)
Short description of the bug fixed or feature added
Added Engine Section to playground
-Airdrop
-Mint
-Webhooks
Updated AppSidebar `expanded: false` to show `otherLinks` section - previously this was unseen by users and there was no scroll option
Create EngineAPIHeader for Engine CTA and utm link updates
Slack [thread](https://thirdwebdev.slack.com/archives/C07U1LM6S2W/p1731687004602369) for initiative
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new features and updates to the `playground-web` application, including new API routes for minting and airdropping tokens, enhancements to the UI components, and the addition of new environment variables for build processes.
### Detailed summary
- Added environment variables for `ENGINE_ACCESS_TOKEN`, `ENGINE_BACKEND_WALLET`, and `ENGINE_URL`.
- Introduced new dependencies: `@thirdweb-dev/engine` and `timeago.js`.
- Updated `navLinks.ts` to collapse sections and added a new `Engine` section.
- Created new pages for `Webhooks`, `Airdrop`, and `Minting` with respective UI components.
- Implemented API routes for transaction status, minting, and airdropping.
- Enhanced the `EngineAPIHeader` component to display dynamic content.
- Added polling functionality for transaction status updates in the `Sponsorship` and `AirdropERC20` components.
- Introduced pagination for transaction results in `ClaimTransactionResults` components.
> The following files were skipped due to too many changes: `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
part of DASH-388
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the return types in the `convertFiatToCrypto` and `convertCryptoToFiat` functions to return objects instead of plain numbers. Additionally, it modifies the `SnapshotUpload` component to replace `Link` elements with `a` tags and adjusts the layout for better styling.
### Detailed summary
- Changed return type of `convertFiatToCrypto` to `{ result: 0.0000057 }`.
- Changed return type of `convertCryptoToFiat` to `{ result: 3404.11 }`.
- Replaced `Link` components with `a` tags in `SnapshotUpload`.
- Adjusted layout and styling in `SnapshotUpload` for improved design.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2369
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces two new functions for converting between fiat and crypto currencies in the `thirdweb` package, along with corresponding tests and endpoints.
### Detailed summary
- Added `convertFiatToCrypto` and `convertCryptoToFiat` functions.
- Created endpoints for fiat to crypto and crypto to fiat conversions.
- Implemented tests for both conversion functions, covering various scenarios and error handling.
- Updated documentation with examples for the new functions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-487
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating references to smart contract interaction links throughout the application, simplifying the URLs to point directly to `/contracts` instead of specific interaction overview pages.
### Detailed summary
- Updated `href` in `page.tsx` from `/contracts/interact/overview` to `/contracts`.
- Changed references in `interact-blockchain/page.mdx` to point to `/contracts`.
- Modified links in `contracts/page.mdx` to `/contracts`.
- Adjusted links in `sdk.tsx` to `https://portal.thirdweb.com/contracts`.
- Updated SDK documentation links in `ipfs/page.mdx` to `/contracts`.
- Changed SDK references in `gas/page.mdx` to `/contracts`.
- Updated redirects in `redirects.mjs` for `/sdk`, `/sdk/how-it-works`, and `/sdk/getting-started` to `/contracts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/DASH-489/modules-ui-bug-with-erc20-modules-showing-tokenid
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the handling of different ERC token types in various components of a dashboard application. It replaces boolean flags with string identifiers for token types, enhancing clarity and maintainability.
### Detailed summary
- Replaced boolean flags (`isErc721`, `isErc20`) with string identifiers (`name`) for token types in multiple components.
- Updated metadata upload logic to use `props.contractInfo.name` for conditional checks.
- Refactored the `uploadMetadata`, `setTransferable`, and `mint` functions to use the new string identifiers.
- Modified UI components to use `Select` for token type selection instead of checkboxes.
- Adjusted condition checks for enabling transfer and minting based on the updated token type handling.
- Updated the `ClaimableModule` to handle ERC20 and ERC721 claims with the new string-based approach.
- Ensured consistent handling of token decimals and claim conditions based on token type.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2438
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces enhancements to the `thirdweb` library by adding support for a new `LoyaltyCard` extension, improving event handling, and updating the `github_checks` workflow to validate PR branches for issue references.
### Detailed summary
- Added `ignore` pattern in `codecov.yml`.
- Updated `issue.yml` to check PR body and branch name for valid issue references.
- Implemented `LoyaltyCard` extension with deployment support and event handling.
- Added new functions for `TokensMinted`, `TokensUnwrapped`, and `TokensWrapped` events.
- Updated `Multiwrap` and `LoyaltyCard` ABIs.
- Added tests for deploying `LoyaltyCard` and other ERC721 types.
> The following files were skipped due to too many changes: `packages/thirdweb/src/extensions/erc721/__generated__/Multiwrap/write/unwrap.ts`, `packages/thirdweb/src/extensions/erc721/__generated__/Multiwrap/write/wrap.ts`, `packages/thirdweb/src/extensions/erc721/__generated__/LoyaltyCard/write/mintWithSignature.ts`, `packages/thirdweb/src/extensions/erc721/__generated__/Multiwrap/write/initialize.ts`, `packages/thirdweb/src/extensions/erc721/__generated__/LoyaltyCard/write/initialize.ts`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2485
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the code coverage settings and the GitHub Actions workflow for better integration with Codecov.
### Detailed summary
- Updated `codecov.yml` to set `target` coverage to `80%` instead of `auto`.
- Modified `.github/workflows/CI.yml`:
- Changed the step name from `Upload coverage reports to Codecov` to `Code Coverage`.
- Specified the `directory` for coverage reports as `packages/`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2483
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on removing `console.log` statements from various files to clean up the code and improve maintainability. It also modifies the linter configuration to adjust rules related to console usage.
### Detailed summary
- Removed `console.log` statements from multiple test and implementation files.
- Adjusted linter configuration to allow specific console warnings only.
- Updated `biome.json` to include new linter rules for console usage.
- Cleaned up unused imports related to `DEBUG` constants.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-474
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the metadata for the `Explore` page in the dashboard application. It modifies the `title` and `description` to better reflect the content of the page, specifically focusing on Ethereum smart contract templates for web3 developers.
### Detailed summary
- Added a new `title`: "List of smart contracts for EVM Developers".
- Added a new `description`: "A list of Ethereum smart contract templates for web3 developers, including the most popular evm smart contracts for dapps, NFTs and more."
- Updated the `metadata` object to use the new `title` and `description`.
- Updated the `openGraph` object to use the new `title` and `description`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-479
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring the billing components to use a `redirectUrl` instead of `redirectPath`, streamlining the URL handling for billing processes in the application.
### Detailed summary
- Removed `getAbsoluteUrlFromPath` function.
- Updated `PlanInfoCard.tsx` to include `redirectPath` in `BillingPortalButton`.
- Changed `CheckoutButtonProps` and `BillingPortalButtonProps` to use `redirectUrl`.
- Modified `CheckoutButton` and `BillingPortalButton` to utilize `getRedirectUrl` for URL generation.
- Added `getRedirectUrl` function to construct URLs based on the current origin.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes DASH-476
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the fee-sharing information in the `PayConfig.tsx` component of the dashboard, increasing the percentage shared with users.
### Detailed summary
- Changed the fee-sharing percentage from 30% to 70% in the text:
- From: "We share 30% of this fee with you."
- To: "We share 70% of this fee with you."
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2479
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `detectExtension.ts` file to change the way the `hasDecimals` variable checks for the presence of the `decimals` method in a contract. It replaces the method signature with a specific available selector.
### Detailed summary
- Replaced the method signature `"function decimals() view returns (uint8)"` with the `availableSelectors` array containing `["0x313ce567"]` in the `detectMethod` call.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/DASH-469/small-changes-for-modules-ui
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the functionality and user experience of the `Transferable`, `Claimable`, and `Royalty` components in the dashboard application, particularly by adding support for ERC20 tokens and improving form handling for royalties.
### Detailed summary
- Added support for `isErc20` state in `Transferable` and `Claimable` components.
- Updated UI to display messages related to transfer restrictions and accounts.
- Introduced `SequentialTokenIdFieldset` to handle token ID inputs.
- Changed royalty handling from BPS to percentage in `Royalty` component.
- Improved form validation and error messaging for royalty inputs.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2462
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces a new GitHub Actions workflow named `Linked Issue`, which checks for valid issue references in the pull request body. It ensures that the body contains an issue ID with specified prefixes before allowing the pull request to proceed.
### Detailed summary
- Added a new workflow file named `issue.yml`.
- Set the workflow to trigger on `pull_request` events (opened, edited).
- Defined an environment variable `VALID_ISSUE_PREFIXES` with values "CNCT|DASH".
- Created a job named `linear` that runs on `ubuntu-latest`.
- Implemented a step to check for linked issue references in the PR body using a regex.
- If no valid reference is found, the workflow fails with a specific error message.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces headless components related to blockchain chain management in the `thirdweb` library, including `ChainProvider`, `ChainIcon`, and `ChainName`. It also adds tests for these components and updates documentation to reflect their usage.
### Detailed summary
- Added headless components: `ChainProvider`, `ChainIcon`, `ChainName`.
- Introduced `TokenIconProps` interface.
- Updated `react.ts` to export new components and their props.
- Added documentation for `ChainProvider`, `ChainIcon`, and `ChainName` in `page.mdx`.
- Implemented tests for `TokenSymbol`, `ChainProvider`, `TokenProvider`, `ChainName`.
- Enhanced `ChainProvider` and `ChainIcon` components with new props and functionalities.
- Updated `ChainName` component to support custom name resolvers and formatting functions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2395
<img width="1161" alt="Screenshot 2024-11-22 at 9 52 09 PM" src="https://github.com/user-attachments/assets/e46f1645-11bb-42d5-abcf-147852a3e8ce">
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring the analytics data handling by shifting the source of types from the `@/api/analytics` module to a new `types/analytics` module. This change enhances type definitions and improves code organization.
### Detailed summary
- Changed import paths for various analytics types to `types/analytics`.
- Added new interfaces in `apps/dashboard/src/types/analytics.ts` for `WalletStats`, `WalletUserStats`, `InAppWalletStats`, `EcosystemWalletStats`, `UserOpStats`, `RpcMethodStats`, and `AnalyticsQueryParams`.
- Updated multiple components and utilities to utilize the new type definitions.
- Implemented a new RPC method usage function in `apps/dashboard/src/@/api/analytics.ts`.
- Added `RpcMethodBarChartCard` component to visualize RPC method usage in `apps/dashboard/src/app/team/[team_slug]/[project_slug]/page.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces support for custom chains in the `thirdweb Engine`, enhancing functionality by allowing users to add and manage their own EVM chains, including RPC URL overrides and related metadata.
### Detailed summary
- Added new section for `Custom Chains` in the documentation.
- Included images related to adding custom chains.
- Provided detailed instructions on overriding chain RPC URLs.
- Added examples for API requests to manage custom chains.
- Specified limitations and additional guidance for using custom chains.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-11-24 09:18:38 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
CNCT-2441
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new utility functions and enhances existing ones to improve the management of infrastructure contracts and initialization processes within the `thirdweb` framework.
### Detailed summary
- Added `getInitializeTransaction` for preparing contract initialization transactions.
- Added `getOrDeployInfraForPublishedContract` to manage infrastructure for published contracts.
- Documented various functions with detailed JSDoc comments.
- Enhanced `getDeployedCloneFactoryContract` and `getDeployedInfraContract` with clearer descriptions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `MarkdownRenderer` component by updating its styling and structure, as well as adding comprehensive Storybook stories for better documentation and testing.
### Detailed summary
- Replaced padding props with a `className` in `MarkdownRenderer`.
- Updated styles for `inline-code` component.
- Added Storybook stories for `MarkdownRenderer`, including examples and parameters for desktop and mobile views.
- Improved the structure of the `MarkdownRenderer` component, including class-based styling and code highlighting features.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new component called `TextDivider` and integrates it into the `OnboardingChoosePlan` component. It also makes adjustments to the layout and button styles within `OnboardingChoosePlan`.
### Detailed summary
- Added `TextDivider` component in `TextDivider.tsx` for displaying a horizontal divider with text.
- Updated `OnboardingChoosePlan` to include `TextDivider` with the text "OR".
- Changed the grid gap from `md:gap-4` to `md:gap-5`.
- Replaced the previous button with a new styled button in `OnboardingChoosePlan`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2363/export-private-key-not-working-with-connectbutton
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the ability to export private keys for enclave wallets upon initial login, enhancing wallet management functionality.
### Detailed summary
- Added `connectLocale` prop to the `PrivateKey` component.
- Implemented `useEffect` to handle postMessage for private key export.
- Changed base domain retrieval to use `getThirdwebBaseUrl`.
- Updated `ModalHeader` title to use localized string.
- Set iframe ID dynamically based on wallet ID.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding a `redirectPath` prop across various components in the onboarding and billing sections of the application, enhancing navigation after specific actions.
### Detailed summary
- Added `redirectPath` prop to `LazyOnboardingUI` in `LoginPage.tsx`.
- Introduced `redirectPath` in `OnboardingChoosePlan` component.
- Passed `redirectPath` from `OnboardingUI` to `OnboardingChoosePlan`.
- Updated `PricingCard` to accept and utilize `redirectPath`.
- Implemented `redirectPath` in the `BillingPricing` component for `PricingCard` instances.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on fixing the issue where properties were not being passed correctly to the `TokenIcon` component.
### Detailed summary
- Updated the return statement in the `Token/icon.tsx` file.
- Changed `return <img src={iconQuery.data} alt={restProps.alt} />;` to `return <img src={iconQuery.data} {...restProps} alt={restProps.alt} />;` to ensure all `restProps` are included in the rendered `img` element.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `UploadStep` component in `upload-step.tsx` to replace `Heading` and `Link` components with standard HTML elements like `p` and `a`, enhancing simplicity and readability.
### Detailed summary
- Replaced `Heading` components with `p` elements for text display.
- Changed `Link` components to `a` elements for file downloads.
- Updated class names for styling consistency.
- Simplified the conditional rendering structure.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Fixes CNCT-2431
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `thirdweb` package by exposing utilities to decode errors and function data, improving the overall functionality and usability of the library.
### Detailed summary
- Added `decodeError`, `decodeFunctionData`, and `decodeFunctionResult` utilities in `packages/thirdweb/src/utils/abi/`.
- Updated `packages/thirdweb/src/exports/utils.ts` to export new decoding utilities.
- Skipped the test for getting events by `blockHash` in `packages/thirdweb/src/event/actions/get-events.test.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
NOTE:
This will not build - Recently the sidebar categories have been updated in the reference pages and this is creating issues with static build. Need to fix those errors
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on making adjustments to various files, including changing limits on data retrieval, modifying the structure of TypeScript types, and cleaning up the formatting of documentation.
### Detailed summary
- Changed `-limit` from `50` to `20` in `apps/portal/src/app/changelog/ghost.ts`.
- Removed `classes`, `variables`, `types`, and `enums` from `subgroups` in `apps/portal/src/app/references/components/TDoc/utils/subgroups.ts`.
- Cleaned up documentation text in `apps/portal/src/app/typescript/v5/chain/page.mdx`.
- Reformatted `PageProps` type definition in `apps/portal/src/app/references/components/TDoc/PageLayout.tsx` for better readability.
- Updated return type of `generateStaticParams` function to be more explicit in `apps/portal/src/app/references/components/TDoc/PageLayout.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on collecting and managing `utm_` cookies for tracking purposes during user login and middleware processing. It enhances the handling of cookies to ensure `utm_` parameters are captured and forwarded appropriately in API requests and redirects.
### Detailed summary
- Added collection of `utm_` cookies in `auth-actions.ts`.
- Modified the `doLogin` function to include `utmCookies` in the request body.
- Implemented logic in `middleware.ts` to capture `utm_` parameters from URL and set them as cookies.
- Updated redirect and rewrite functions to include `cookiesToSet` for managing cookies in responses.
- Ensured cookies are set in the response for various redirect scenarios.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR reorganizes the onboarding-related components and types in the `apps/dashboard/src/app/login/onboarding` directory, improving the structure and imports. It also updates several import paths and refactors components for better clarity.
### Detailed summary
- Moved onboarding-related files to `apps/dashboard/src/app/login/onboarding`.
- Updated import paths for `isOnboardingComplete` to reflect the new structure.
- Refactored `PricingCard` import in `AccountForm.tsx` and `ChoosePlan.tsx`.
- Added `FeatureItem` component in `PricingCard`.
- Updated `useSkipOnboarding` and `ConfirmEmail` for new import paths.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring the logout functionality across various components by replacing direct API calls with a centralized `doLogout` function. It also includes some UI adjustments and enhancements.
### Detailed summary
- Removed direct API call to `/api/auth/logout` in favor of `doLogout()` in multiple components.
- Updated styles for various UI elements, including `AccountForm` and `OnboardingChoosePlan`.
- Adjusted layout and class names for better responsiveness and appearance.
- Added `Aurora` component for visual effects in the `LoginAndOnboardingPage`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
### TL;DR
Refactored ecosystem creation flow to use server actions and removed the confirmation dialog.
### What changed?
- Created a new server action `createEcosystem` to handle ecosystem creation
- Extracted `BASE_URL` constant for reusability
- Removed the confirmation dialog from the creation form
- Simplified form submission to directly create ecosystems
- Added more specific error handling with user-friendly toast messages
- Changed component props to use `teamSlug` instead of `ecosystemLayoutPath`
### How to test?
1. Navigate to the ecosystem creation page
2. Fill out the ecosystem form with a name and logo
3. Select permission type (PARTNER_WHITELIST or ANYONE)
4. Submit the form
5. Verify redirect to Stripe billing portal
6. Verify appropriate error messages display for various error scenarios
### Why make this change?
To streamline the ecosystem creation process by implementing server-side actions and providing better error handling. This change improves the user experience by removing the extra confirmation step while maintaining secure server-side processing of ecosystem creation.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `EcosystemCreatePage` and related components to streamline the creation of ecosystems, updating function signatures, and improving the handling of the creation process.
### Detailed summary
- Removed `ecosystemLayoutPath` prop from `EcosystemCreatePage`.
- Added `teamSlug` prop to `EcosystemCreatePage` and `CreateEcosystemForm`.
- Updated `createEcosystem` function to handle authentication and API calls.
- Enhanced error handling in the `CreateEcosystemForm`.
- Removed unused imports and state management related to confirmation dialogs.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `NebulaWaitListPageUI` and related components by adding a `teamId` prop to improve link sharing functionality. It modifies how the invite link is generated and displayed, allowing users to share a personalized link tied to their team.
### Detailed summary
- Updated `Story` to pass `teamId="foo"` to `NebulaWaitListPageUI`.
- Modified `NebulaWaitListPageUI` to accept `teamId` as a prop.
- Enhanced `ShareButton` to accept `teamId` and generate a personalized invite link.
- Changed tooltip label for the share button to "Copy Invite Link".
- Updated footer in `NebulaWaitListPageUI` to include the personalized `ShareButton` and a message encouraging sharing.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-11-21 23:40:49 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces an optional `includeUsage` parameter to the `CoreServiceConfig` type and updates API URL construction to utilize this parameter, defaulting to `true`. This allows for more flexible API calls regarding usage data.
### Detailed summary
- Added optional `includeUsage` parameter to `CoreServiceConfig`.
- Updated `fetchKeyMetadataFromApi` to use `includeUsage` in the API URL.
- Updated `fetchAccountFromApi` to use `includeUsage` in the API URL for both wallet and account endpoints.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the onboarding process and account management in the application. It introduces better handling of team retrieval, login redirection, and email confirmation, while also refining the UI components related to these features.
### Detailed summary
- Added optional chaining for `firstTeam` retrieval.
- Introduced `loginRedirect` function for consistent login handling.
- Created `getValidAccount` to enforce login and onboarding checks.
- Improved `Onboarding` components for better user experience.
- Enhanced email confirmation flow with clearer messaging.
- Updated various components to use new account and team management functions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Move the chart data fetching inside suspense boundary with loading fallback to speed up page load
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the layout and structure of several components in the dashboard, enhancing the user interface by adjusting styles and adding new features like loading states. It also refines the `TeamOverviewPage` to better handle data and display.
### Detailed summary
- Updated styles in `range-selector.tsx` for improved layout.
- Added `w-full` class in `EmptyState.tsx` for full-width section.
- Adjusted gap sizes in `AnalyticsHeader.tsx`.
- Modified `TeamOverviewPage` to include a loading state using `Suspense`.
- Introduced `OverviewPageContent` function to manage content rendering.
- Enhanced conditionals to simplify rendering logic in `TeamOverviewPage`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the account settings functionality, including email confirmation and account updates, while improving error handling and user interactions.
### Detailed summary
- Added a new route for `/account/settings`.
- Improved onboarding logic for email confirmation.
- Updated waitlist joining logic to handle responses better.
- Enhanced `joinTeamWaitlist` and `updateAccount` actions with better error handling.
- Implemented email confirmation with OTP in `confirmEmailWithOTP`.
- Improved `AccountSettingsPage` to include email update functionalities.
- Added UI components for email verification and account updates.
- Refined error handling in various components for better user feedback.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
BLOCK-436
This PR adds an initial UI for insight to give visibility to insight in the platform. The first three blueprints are Data APIs available for all users. The next iteration will add the ability to create a new blueprint.
![CleanShot 2024-11-15 at [email protected]](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/dGj3ureqJk84bcvq1s10/8d0fb6d9-f80b-414a-925d-e6ed68aa6bfb.png)
---
## PR-Codex overview
This PR introduces a new `Insight` page under the project structure, adding components for displaying blueprints, including a header and an explorer. It also implements authentication redirection and a loading state for better user experience.
### Detailed summary
- Added a new route for `Insight` in `layout.tsx`.
- Created `BlueprintsPageHeader` component for the `Insight` page.
- Implemented `Page` component with authentication check and redirection logic.
- Developed `BlueprintsPage` component to display blueprints with a loading state.
- Created `getProjectBlueprints` function to fetch blueprint data.
- Added `BlueprintsExplorer` component to list blueprints with a fallback message.
- Implemented `BlueprintCard` for individual blueprint display.
- Included loading spinner in `Loading` component.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Linear Ticket: https://linear.app/thirdweb/issue/BLOCK-436/implement-initial-insight-ui
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds a new `Insight` page to the dashboard for a project, featuring a `BlueprintsPage` that displays blueprints and a header. It includes authentication checks and a redirect to the login page if the user is not authenticated.
### Detailed summary
- Added a new route for `Insight` in `layout.tsx`.
- Created `Page` component in `page.tsx` with authentication check.
- Added `BlueprintsPageHeader` component for the `Insight` page.
- Implemented `BlueprintsPage` to display billing alerts and blueprints.
- Created `getProjectBlueprints` function to fetch blueprint data.
- Developed `BlueprintsExplorer` component to list blueprints.
- Added `BlueprintCard` component to display individual blueprints.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Linear Ticket: https://linear.app/thirdweb/issue/BLOCK-436/implement-initial-insight-ui
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `Insight` feature to the dashboard, which includes a dedicated page for insights with blueprints and a header component. It also implements authentication checks and displays billing alerts.
### Detailed summary
- Added a new route for `Insight`.
- Created `Page` component with authentication check and redirection.
- Introduced `BlueprintsPage` component displaying billing alerts and blueprints.
- Implemented `BlueprintsPageHeader` with a disabled button.
- Added `BlueprintsExplorer` for listing blueprints.
- Defined `BlueprintCard` for individual blueprint display.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new components related to token management in a React application, including `TokenProvider`, `TokenName`, `TokenSymbol`, and `TokenIcon`. These components allow users to fetch and display token-related data such as name, symbol, and icon.
### Detailed summary
- Added `Token` section in the sidebar with links to token components.
- Created `TokenProvider` for managing token data context.
- Implemented `TokenName`, `TokenSymbol`, and `TokenIcon` components for fetching and displaying token information.
- Exported new token-related types and components from `react.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the wallet connection components in the `thirdweb` package, specifically enhancing the `ConnectButton` and `ConnectedWalletDetails` components by integrating `AccountProvider` and improving the handling of wallet details.
### Detailed summary
- Updated JSDoc comment in `useConnectedWalletDetails` to indicate its limited usage.
- Wrapped `ConnectedWalletDetails` with `AccountProvider` in `ConnectButtonInner`.
- Removed `useConnectedWalletDetails` from `ConnectedWalletDetails`.
- Enhanced `ConnectedWalletDetails` to use `AccountAvatar`, `AccountName`, and `AccountBalance` components.
- Updated props handling for connected account avatar and name in `ConnectedWalletDetails`.
- Refactored balance display logic in `ConnectedWalletDetails` to use `AccountBalance`.
- Modified `DetailsModal` to utilize `AccountProvider` and improved wallet avatar handling.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
cnct-2137
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `Account` component suite to the `thirdweb` library, enhancing user account management with features like account name, address, avatar, and balance display. It also marks existing `NFT` components as `@beta`.
### Detailed summary
- Added `Account` components: `AccountName`, `AccountAddress`, `AccountAvatar`, `AccountBalance`, and `AccountBlobbie`.
- Updated existing `NFT` components to `@beta`.
- Introduced tests for new `Account` components.
- Enhanced `AccountProvider` for context management.
- Updated documentation for new components and props.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on restructuring and enhancing the documentation for various modular contract types in the `pre-built-modular` section, including updates to navigation, descriptions, and deployment steps.
### Detailed summary
- Renamed `Pre-built Contracts` to `Pre-built Modular` in the sidebar.
- Added detailed documentation for:
- `NFT Drop`
- `Token`
- `Token Drop`
- `Edition Drop`
- `Open Edition`
- `Edition`
- `NFT Collection`
- Included images and steps for deploying each contract type.
- Updated links and metadata for better navigation and user experience.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
https://linear.app/thirdweb/issue/DEVX-1828/7-guides-for-contracts
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring the `NFT` component and its related functionalities to improve performance, enhance control over fetching logic, and simplify usage by removing the need for `React.Suspense`. It also introduces new props for better loading and error handling.
### Detailed summary
- Deleted several test files and an unused `NFT.tsx` file.
- Introduced `NFTProvider`, `NFTMedia`, `NFTName`, and `NFTDescription` components.
- Added `loadingComponent` and `fallbackComponent` props for better handling of loading states and errors.
- Updated references in tests to use new component structure.
- Renamed and adjusted documentation comments to reflect new functionality.
- Improved sidebar organization by updating links and names for consistency.
- Enhanced utility functions and hooks for better NFT data fetching and context management.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2385
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving error handling and user experience in the `BuyScreen` and `TransactionModeScreen` components of the `thirdweb` package. It adds error states for loading issues and modifies error messages for better clarity.
### Detailed summary
- Updated error message for missing account in `useBuyTxStates.ts`.
- Introduced an error state in `BuyScreen` for `supportedDestinationsQuery` failures.
- Added loading and error handling in `TransactionModeScreen` for transaction cost and chain data.
- Enhanced user feedback with `ErrorState` and `LoadingScreen` components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2230
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the ability to override transaction values in the `createNewPack` function within the `thirdweb` package.
### Detailed summary
- Added `WithOverrides` type to the `options` parameter in `createNewPack` and `getCreatePackParams` functions.
- Updated the function signatures to accept overrides for transaction options.
- Included `overrides` in the parameters for creating pack details.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2314/consolidate-documentation-for-in-app-wallets-and-ecosystem
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on restructuring and updating the documentation and components related to `thirdweb` wallets, including `In-App`, `Ecosystem`, and `External Wallets`. It includes deletions of outdated files and additions of new guides and features.
### Detailed summary
- Deleted multiple outdated `.mdx` files related to `In-App Wallet` and `Ecosystem` documentation.
- Added new images and updated asset paths for wallet-related components.
- Introduced a new `AuthList` component to display various authentication methods.
- Updated wallet security documentation to reflect changes in architecture.
- Enhanced the sidebar for better navigation of wallet-related topics.
- Revised various guides to improve clarity on wallet integration and user management.
- Added detailed sections on wallet pregeneration and linking multiple identities.
- Updated the `sign-in methods` documentation with clearer instructions and links.
> The following files were skipped due to too many changes: `apps/portal/src/app/connect/sidebar.tsx`, `apps/portal/src/app/connect/wallet/faq/page.mdx`, `apps/portal/src/app/connect/wallet/user-management/get-user-profiles/page.mdx`, `apps/portal/redirects.mjs`, `apps/portal/src/app/connect/wallet/security/assets/ecosystem-scoped.svg`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/project/[modular-contracts]-modules-ui-c7a2be28299d/overview
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the `Mintable` functionality in the dashboard and improving the handling of URIs in the `MintableERC721` and `MintableERC1155` modules. It also refines role management for minting processes.
### Detailed summary
- Changed the condition in `module-instance.tsx` to check for "Mintable" instead of "Mintable-ignore".
- Updated `mintWithRole.ts` in both `MintableERC721` and `MintableERC1155` to conditionally process `nfts` and set `baseURI`.
- Simplified import statements in `Mintable.tsx`.
- Modified `hasMinterRole` and `grantRoleTx` to use a more concise syntax for role checking and granting in `Mintable.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `inputs` in various tasks defined in `turbo.json` to include a new variable `$TURBO_DEFAULT$`, enhancing the configuration for better management of dependencies.
### Detailed summary
- Updated `inputs` for `thirdweb#update-version` to include `$TURBO_DEFAULT$`.
- Modified `inputs` for `test`, `storybook`, `test:legacy`, `e2e`, and `e2e:legacy` to include `$TURBO_DEFAULT$`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
i just want my cat back
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the styling of the `img` elements in the `DetailsModal` component to ensure they maintain aspect ratio and are responsive.
### Detailed summary
- Changed the `width` of the first `img` to `"100%"` and added `objectFit: "cover"`.
- Updated the second `img` to have `height` and `width` set to `"100%"`, along with `objectFit: "cover"`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2381
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds a new export to the `contract.ts` file, enhancing the available utilities for contract interactions.
### Detailed summary
- Added export for `prepareMethod` from `../utils/abi/prepare-method.js`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on renaming a variable for clarity in the `useSetActiveWallet` hook implementation within the `useSetActiveWallet.ts` file.
### Detailed summary
- Renamed the variable `setActiveAccount` to `setActiveWallet` for consistency with the hook name.
- Updated the usage of the variable to `await setActiveWallet(wallet);` to reflect the new name.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2258
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `wallet-ui` application, introducing multi-tenancy support, updating configurations, and improving code quality with better imports and utility functions.
### Detailed summary
- Removed unused files: `erc20.ts`, `Erc20Token.ts`
- Added `isMultiTenant` utility for environment checks
- Updated `README.md` for ecosystem portal
- Enhanced routing with ecosystem ID in redirects
- Introduced new configuration files for `knip` and `biome`
- Updated ESLint rules and configurations
- Refactored image handling to use a new `Image` component
- Streamlined various imports across components and hooks
> The following files were skipped due to too many changes: `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on updating the documentation for the `Thirdweb .NET SDK`, adding new methods, modifying existing ones, and improving sidebar navigation. It also removes outdated pages and refines descriptions for better clarity.
### Detailed summary
- Deleted `getemail` and `getphonenumber` action pages.
- Updated the reference link for `ThirdwebExtensions`.
- Added documentation for `EcosystemWallet.GetEcosystemDetails` and `EcosystemWallet.GetUserDetails`.
- Modified sidebar links, replacing `GetEmail` and `GetPhoneNumber` with `GetUserDetails` and `GenerateExternalLoginLink`.
- Added documentation for `EcosystemWallet.GenerateExternalLoginLink`.
- Updated `IThirdwebWallet.Transfer` method description and usage examples.
- Revised wallet connection methods in `ThirdwebManager`, updating method names and descriptions.
- Improved `Child Prefabs` section, renaming and clarifying modal usage.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Updated Pay docs to clarify KYC in FAQs
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the content in the `page.mdx` file to clarify the KYC requirements for using the 'Buy with Fiat' feature in the `Pay` application.
### Detailed summary
- Revised explanation of KYC requirements for `Buy with Fiat`.
- Changed text to specify that KYC is required only for the first purchase, with no further requirements for subsequent purchases on the same platform.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the `ContractDeployCard` component to the application, allowing users to deploy contracts with a specified name and link. It enhances the user interface by providing a structured card layout for contract deployment.
### Detailed summary
- Added `ContractDeployCard` component.
- Accepts `contractName`, optional `description`, and `href` props.
- Displays a title, description, and a "Deploy Now" link.
- Utilizes `Link` from `next/link` for navigation.
- Includes usage documentation in the code comments.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
We use position:relative on tr to contain the absolutely position anchor link inside - to make the whole row clickable, but that does not work on webkit ( safari )
Relevant article on the topic:
https://mtsknn.fi/blog/relative-tr-in-safari/
CNCT-2231
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a validation check for the `chains` option in the WalletConnect integration, ensuring that no more than 10 chains can be specified. If more than 10 chains are provided, a warning is logged, and only the first 10 chains are used.
### Detailed summary
- Added a check for `options.chains` to limit the number of chains to a maximum of 10.
- Implemented a warning message if more than 10 chains are specified, informing the user of the truncation.
- Used `slice(0, 10)` to return only the first 10 chains if the limit is exceeded.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2198
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces `Steam` as a new authentication option across various components and files, enhancing the authentication capabilities of the application.
### Detailed summary
- Added `Steam` as an authentication option in multiple files.
- Updated `types.ts` and `oauthSignIn.ts` to include `Steam`.
- Added `STEAM_ICON` in `svgs.ts` for UI representation.
- Updated connection options in `ConnectWalletMiniPlayground.tsx`.
- Modified documentation to include `Steam` in social logins.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2370
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds support for the `chain` property in the `connectOptions` object within the `ConnectWalletSocialOptions.tsx` file, enhancing the flexibility of wallet connections based on the provided chain.
### Detailed summary
- Added `chain: props.chain` to the `connectOptions` object.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing error handling for `localStorage` operations across various components, ensuring that unhandled errors do not disrupt functionality.
### Detailed summary
- Wrapped `localStorage.setItem` and `localStorage.getItem` calls in `try-catch` blocks to handle potential errors.
- Updated `ThemeSwitcher`, `RightSection`, `useLocalStorage`, `Banner`, and `webLocalStorage` to ignore errors gracefully.
- Maintained existing functionality while improving robustness.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2364/custom-auth-demo-in-playground
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `CustomLoginForm` component for handling user authentication via email in the `in-app-wallet` feature. It allows users to log in with a custom authentication endpoint while integrating with existing wallet functionalities.
### Detailed summary
- Added `CustomLoginForm` component in `custom-login-form.tsx`.
- Utilized `useMutation` for handling login requests with an email.
- Implemented email input and submission handling in the `CustomLoginForm`.
- Updated `page.tsx` to include `CustomLoginForm` with a new section for custom authentication UI.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on modifying the parameters for fetching changelog entries in the `ghost.ts` file, specifically adjusting the limit of results returned.
### Detailed summary
- Changed the `-limit` parameter from `100` to `50` to reduce the number of results fetched.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on modifying the `isRestricted` prop in the `Transferable` component to invert its boolean value based on the `isTransferEnabledQuery.data`.
### Detailed summary
- Changed the `isRestricted` prop from `isRestricted={!!isTransferEnabledQuery.data}` to `isRestricted={!isTransferEnabledQuery.data}`.
- Other props remain unchanged, including `isPending`, `adminAddress`, `update`, and `isOwnerAccount`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the conditional rendering logic in the `claim-conditions-form` component to use `claimConditionsQuery.isPending` instead of `isFetchingData`, improving clarity on the loading state of the data.
### Detailed summary
- Changed the condition from `if (isFetchingData)` to `if (claimConditionsQuery.isPending)` in `index.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
- tokenId and setToken introduced at the parent level ClaimableModule
- Claim Conditions are fetched at the parent level
https://linear.app/thirdweb/issue/DES-251/claimable-erc721-erc1155-erc20
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `ClaimableModule` functionality by refining claim conditions, improving token ID handling, and updating UI components for better user experience.
### Detailed summary
- Updated claim condition checks for `ClaimableModule`.
- Added `tokenId` state management in `ClaimableModule`.
- Modified claim condition logic to handle ERC721 and ERC1155 tokens.
- Enhanced UI with a new checkbox for "No Claim Condition Set".
- Improved currency selection logic in `CurrencySelector`.
- Refined `pricePerUnit` handling in `claimable.stories.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `ShareButton` component and refactors the handling of the Nebula waitlist across various pages, enhancing user experience with waitlist functionalities and error handling.
### Detailed summary
- Added `ShareButton` component for sharing waitlist links.
- Refactored `TeamLayout` to conditionally render the `Nebula` path based on waitlist status.
- Updated `NebulaWaitListPage` to handle team fetching and waitlist joining.
- Replaced `JoinNebulaWaitlistPage` with `NebulaWaitListPage`.
- Simplified storybook stories for waitlist pages.
- Improved error handling for waitlist status fetching.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2336
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the configuration for stale issues and pull requests in the `.github/workflows/stale.yml` file, reducing the inactivity duration before marking them as stale and the time before they are closed.
### Detailed summary
- Changed `days-before-stale` from 30 to 7.
- Changed `days-before-close` from 5 to 2.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on modifications to the SVG file located at `apps/portal/public/icons/feature-cards/framworks.svg`, likely to update the design or improve the icon representation.
### Detailed summary
- Updated the SVG file `framworks.svg` to reflect design changes.
- Adjusted the dimensions and paths within the SVG for better rendering.
- Enhanced visual elements to improve clarity and aesthetics.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Updated Docs for Unreal Engine
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily updates the `@dirtycajunrice/klee` dependency, enhances the sidebar structure for Unreal Engine blueprints, and adds new functionalities for building hrefs and contract interactions in the application.
### Detailed summary
- Updated `@dirtycajunrice/klee` from `^1.0.1` to `^1.0.5`.
- Introduced `hrefBuilder` function in `util.ts` to construct href links.
- Added `blueprints` and `cpp` link groups in the sidebar.
- Updated various blueprint pages with new content and structure.
- Enhanced contract interaction nodes for reading and writing contracts.
> The following files were skipped due to too many changes: `apps/portal/src/app/unreal-engine/blueprints/engine/nodes.ts`, `apps/portal/src/app/unreal-engine/blueprints/in-app-wallet/nodes.ts`, `apps/portal/src/app/unreal-engine/blueprints/smart-wallet/nodes.ts`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the routing paths in the `apps/dashboard/framer-rewrites.js` file by adding a new route and modifying existing ones.
### Detailed summary
- Added the route `"/nebula"`.
- Changed the `"/connect/sign-in"` route to `"/connect/sign-in"` (no change).
- Modified the `"/contracts/modular-contracts"` route.
- Modified the `"/contracts/explore"` route.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the handling of transactions for the `sophon` testnet, specifically for zk chains. It introduces a special case for transactions that ensures the use of an EIP-712 transaction format along with a paymaster.
### Detailed summary
- Removed the general check for zk chains on testnets.
- Added a specific condition for the `sophon` testnet (chain ID `531050104`).
- Ensured that transactions on the `sophon` testnet always use EIP-712 format and include paymaster data.
- Simplified the transaction handling by removing unnecessary error handling logic.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2357
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces wallet integration into the login functionality of the application, allowing users to connect using various wallet options.
### Detailed summary
- Added wallet integration by importing `createWallet` and `inAppWallet` from `thirdweb/wallets`.
- Defined a `wallets` array containing multiple wallet options including `inAppWallet` and various `createWallet` instances.
- Updated the `CustomConnectEmbed` component to utilize the new `wallets` array for authentication.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `storage` section of the dashboard by introducing new components for guides, SDK integration, and file management, along with refactoring existing code for improved structure and readability.
### Detailed summary
- Deleted `TWQueryTable.tsx` and `RelevantDataSection.tsx`.
- Added `GuideSection` and `SDKSection` components for documentation and SDK integration.
- Introduced a new `GuidesSection` function to display links and videos.
- Refactored `YourFilesSection` to use a table format and improved pagination.
- Replaced `ChakraProviderSetup` with a simpler layout in the main `Page` component.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the code related to `CodeSegment` and `CodeEnvironment`, moving them to a new location and updating their usage across various components. It also introduces a new `CodeSegment` component with improved functionality.
### Detailed summary
- Deleted `types.ts` and `CodeSegment.tsx` from `contract-tabs`.
- Introduced `CodeSegment` and `CodeEnvironment` in `code-segment.client.tsx`.
- Updated imports in multiple files to use the new `CodeSegment` and `CodeEnvironment`.
- Enhanced `CodeSegment` to manage code snippets for different environments.
- Added stories for `CodeSegment` in `code-segment.stories.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new feature for managing a "Nebula" waitlist within a team dashboard. It adds new routes, components, and API functions to facilitate joining the waitlist and fetching its status.
### Detailed summary
- Added a new route for `Nebula` under the team and project slugs.
- Implemented `JoinNebulaWaitlistPage` component for handling waitlist interactions.
- Created `joinTeamWaitlist` API function for server-side waitlist management.
- Added `getTeamNebulaWaitList` API function to fetch waitlist status.
- Updated existing pages to integrate the new waitlist functionality.
- Enhanced UI components for displaying waitlist status and actions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
[BLOCK-325
](https://linear.app/thirdweb/issue/BLOCK-325/add-insight-to-thirdweb-chainslist)
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the `Insight` feature into the application, enhancing blockchain data querying capabilities. It includes new components, routes, and metadata to support the functionality, along with the addition of icons and documentation for better user guidance.
### Detailed summary
- Added `Insight` link in `Header.tsx`.
- Updated `chain.ts` and `metadata.ts` to include `Insight`.
- Implemented `InsightSection` in `page.tsx`.
- Created `sidebar` for `Insight` in `sidebar.tsx`.
- Developed `Layout` for `Insight` in `layout.tsx`.
- Added `InfraInsightIcon` in `index.ts`.
- Created `InsightIcon` in `icons` directory.
- Introduced `Insight` pages in `page.mdx`, `blueprints/page.mdx`, `get-started/page.mdx`, and `use-cases/page.mdx`.
- Added SVG for `Insight` icon in `public/og/icons`.
- Enhanced documentation for `Insight` with use cases and blueprints.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the usage of the `Badge` component across various files, simplifying its props and styling. It also removes the `Badge` component from some files and updates imports accordingly.
### Detailed summary
- Deleted `badge.tsx` file.
- Removed `Badge` imports and usage in several components, replacing them with simpler implementations.
- Updated `Badge` usage to use class names for styling instead of props in multiple components.
- Adjusted the `Badge` component's props to reduce complexity and improve readability.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
https://linear.app/thirdweb/issue/BLOCK-412/add-api-key-scope
Added Nebula service scope to the service definitions and included it in the hidden services list.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the `nebula` service scope to the project and updates the related configurations and validations accordingly. It also modifies the pull request body check to include the `BLOCK` keyword.
### Detailed summary
- Added `nebula` service scope in `packages/service-utils/src/core/services.ts` with properties: `name`, `title`, and `description`.
- Updated `HIDDEN_SERVICES` in `apps/dashboard/src/components/settings/ApiKeys/validations.ts` to include `nebula`.
- Modified the pull request body check in `.github/workflows/linear.yml` to include `BLOCK`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
https://linear.app/thirdweb/issue/CNCT-2311/pro-cannot-sign-transaction-with-in-app-wallet
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the transaction signing process in the `enclave-wallet` by ensuring proper type checks for various transaction properties, specifically handling cases for `bigint` and `number` types.
### Detailed summary
- Updated the handling of `tx.value`, `tx.gas`, `tx.nonce`, `tx.maxPriorityFeePerGas`, and `tx.gasPrice` to check their types before processing.
- Ensured that `tx.value`, `tx.gas`, and `tx.maxPriorityFeePerGas` are only processed if they are of type `bigint`.
- Adjusted the handling of `tx.nonce` to support both `number` and fallback to `eth_getTransactionCount`.
- Maintained a 10% buffer for `tx.gas` calculations.
- Updated the assignment of `transaction.maxFeePerGas` and `transaction.type` based on the presence of `tx.maxFeePerGas`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring code related to code blocks in the UI by replacing the `CodeBlock` component with a new `CodeClient` component and introducing a `PlainTextCodeBlock` for plain text display. It also updates styles and dependencies.
### Detailed summary
- Removed `CodeBlock` component from various files.
- Introduced `CodeClient` component for enhanced code rendering.
- Added `PlainTextCodeBlock` for displaying plain text.
- Updated styles in `globals.css` for dark mode support.
- Added new utility functions for code formatting.
- Updated dependencies in `package.json` and `pnpm-lock.yaml`.
> The following files were skipped due to too many changes: `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR modifies the test suite for resolving addresses with `Unstoppable Domain`. It updates the test structure to conditionally run based on the presence of `TW_SECRET_KEY` and retains the existing test logic.
### Detailed summary
- Changed `describe` to conditionally run with `describe.runIf(process.env.TW_SECRET_KEY)`.
- Retained the test for resolving a valid address.
- Retained the test for handling a non-existent domain name.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2324
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the documentation for the `getSocialIcon` function, providing a detailed JSDoc comment that explains its purpose, parameters, return value, and includes usage examples.
### Detailed summary
- Added a JSDoc comment for the `getSocialIcon` function.
- Described the function's purpose, parameters, return value, and provided usage examples.
- Changed the return type of `getSocialIcon` to explicitly specify it returns a `string`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the handling of the `module` parameter in the `searchParams` to support both an array and a string. It ensures that the code correctly processes the `module` regardless of its type.
### Detailed summary
- Updated `module` type in `searchParams` to allow both `string[]` and `string`.
- Modified the logic to handle `searchParams.module` as a string or an array.
- Ensured that `modules` is derived correctly from `moduleParam`, defaulting to an empty array if no valid modules are found.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2296
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `thirdweb` package to replace internal utility functions with a new library called `ox`, enhancing code efficiency and maintainability.
### Detailed summary
- Removed several utility files related to encoding and hex operations.
- Integrated `ox` library for hex and byte operations.
- Updated tests to reflect changes in utility functions.
- Increased size limits in `.size-limit.json`.
- Modified hash verification logic in `verify-hash.ts`.
> The following files were skipped due to too many changes: `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the email verification logic for claiming from the faucet in the `FaucetButton` component. It changes the condition to check for both unconfirmed email and the absence of a confirmed email.
### Detailed summary
- Modified the condition to check if `emailConfirmedAt` is falsy and if `unconfirmedEmail` is truthy.
- Removed the previous check for `accountQuery.data.status === "noCustomer"`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `Dashboard` layout and functionality for NFT drops, including improved metadata handling, wallet connection, and minting features.
### Detailed summary
- Added `AppFooter` and `ErrorProvider` in `DashboardLayout`.
- Introduced `DropPageData` type in `data.ts`.
- Enhanced `NftMint` component with quantity selection and custom address options.
- Integrated OpenGraph image generation for NFT drops.
- Updated `CustomConnectWallet` to accept `chain` prop.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->

<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on creating a new `NotFound` page component and refactoring the existing 404 page to utilize this new component, improving code organization and reusability.
### Detailed summary
- Added `NotFoundPage` component in `apps/dashboard/src/components/not-found-page.tsx`.
- Created a structured layout for the 404 error message with links.
- Refactored the `PageNotFound` component in `apps/dashboard/src/pages/404.tsx` to use the new `NotFoundPage`.
- Removed unused imports and components related to the old 404 page design.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the removal of several components and hooks related to contract deployment and publishing, while introducing new pages and components for handling these processes more effectively, including improved loading states and contract metadata handling.
### Detailed summary
- Deleted several files related to contract hooks and components.
- Introduced `DeployMultipleContractsPage` and `PublishMultipleContractsPage` for contract deployment and publishing.
- Added `SanctionedAddressesChecker` to handle blocked wallet addresses.
- Updated `DeployableContractTable` to fetch and display contract metadata.
- Refactored `ContractIdImage` to utilize fetched metadata directly.
- Changed table structure in `DeployableContractTable` to use new UI components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances error handling in the `page.tsx` files for the `publish` and `deploy` routes. It introduces checks to call `notFound()` when metadata cannot be fetched, improving user experience by handling cases where the requested data is unavailable.
### Detailed summary
- In `apps/dashboard/src/app/(dashboard)/contracts/publish/[publish_uri]/page.tsx`:
- Added a check for `publishMetadataFromUri` and called `notFound()` if it is not present.
- In `apps/dashboard/src/app/(dashboard)/contracts/deploy/[compiler_uri]/page.tsx`:
- Added a check for `metadata` and called `notFound()` if it is not present.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on simplifying the conditional rendering of the `ModularContractDefaultModulesFieldset` component by removing unnecessary nested ternary operators and improving code readability.
### Detailed summary
- Removed nested ternary operator for rendering `ModularContractDefaultModulesFieldset`.
- Simplified the condition to check if `modules` exists and has length greater than 0.
- Streamlined the rendering logic for better readability.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the button components across various files to standardize the usage of the `Button` component from the `@/components/ui/button` module, updating properties for consistency, and improving the UI elements.
### Detailed summary
- Replaced `Button` imports from `tw-components` with `@/components/ui/button`.
- Changed `colorScheme` to `variant` for button styling.
- Updated `isDisabled` to `disabled` for button state management.
- Added `className="gap-2"` for consistent spacing.
- Modified button content to include icons before text.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the user interface and functionality of the `claim-conditions` components in the dashboard application. It enhances accessibility, updates styling, and refines the input handling for claim conditions.
### Detailed summary
- Updated `MaxClaimablePerWalletInput` to use `className` for styling and added a `target` attribute to the `Link`.
- Simplified `CustomFormControl` by replacing `Heading` with `FormLabel`.
- Changed `Text` components to `p` tags in `PricePreview` for better semantic structure.
- Refactored `QuantityInputWithUnlimited` to use new UI components and improved props handling.
- Enhanced `ClaimConditionsPhase` layout with Tailwind CSS classes, replacing Chakra UI components.
- Updated button styles and functionalities, including the removal button and editing toggle.
- Improved readability and structure of the phase details display.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on replacing the `tw-components` library's `Text` and `Heading` components with standard HTML elements like `<p>` and `<div>` to simplify the code structure and improve styling consistency across various components in the dashboard.
### Detailed summary
- Replaced `Text` components with `<p>` in `csv-data-table.tsx`, `ContractDirectListingsPage.tsx`, and `ContractEnglishAuctionsPage.tsx`.
- Changed `Heading` components to `<p>` in multiple files for consistency.
- Updated button variants from `solid` to `default` in `marketplace-table.tsx`.
- Removed unnecessary imports of `Text` and `Heading` from `tw-components` in several files.
- Adjusted styling classes for better alignment and consistency.
- Enhanced layout structure in the `ListingDrawer` and `CreateListingsForm` components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on updating the profile management features within the application. It introduces new functionalities for resolving addresses and fetching published contracts while enhancing the user interface for profile editing.
### Detailed summary
- Removed unused files from the project.
- Updated `replaceDeployerAddress` to include a specific address replacement.
- Changed `PlaygroundMenu` to use `useDashboardRouter`.
- Enhanced `getSortedDeployedContracts` to handle mainnet filtering.
- Made `mapThirdwebPublisher` an exportable function.
- Added `resolveAddressAndEns` for address resolution.
- Introduced `PublishedContracts` component to display published contracts.
- Modified `DeployedContracts` to simplify contract listing logic.
- Updated `ProfileUI` to fetch and display publisher profiles.
- Enhanced `EditProfile` component for better profile editing experience.
- Improved `PublisherSocials` to streamline social media links.
- Added loading states and error handling in various components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2294
https://github.com/user-attachments/assets/29e5e8e7-ff03-46ff-aa68-4f8e13fe323f
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring components and improving the organization of analytics-related files. It updates titles in story files, introduces new components, and modifies existing ones to enhance functionality and maintainability.
### Detailed summary
- Updated story titles in `Stat`, `BarChart`, `PieChart`, `EmptyState`, and `CombinedBarChartCard` components.
- Added `InAppWalletStats`, `EcosystemWalletStats`, and `UserOpStats` types for better analytics data handling.
- Refactored `createUserOpStatsStub` to return `UserOpStats[]`.
- Enhanced `BarChart` and `CombinedBarChartCard` to support currency formatting.
- Introduced `EmptyStateCard` component for better UI handling of no data scenarios.
- Removed deprecated `UserOpStatsByChain` type and updated related functions.
- Improved data fetching functions to align with new analytics structure.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on updating the titles in various story files to follow a consistent naming convention, improving UI component integration, and enhancing the use of the `getThirdwebClient()` function across multiple components.
### Detailed summary
- Updated titles in story files for consistency.
- Modified `StatBreakdownCard` to use a max width.
- Integrated `getThirdwebClient()` in multiple components.
- Adjusted `AccountTeamsUI` and `TeamRow` to accept `client` as a prop.
- Enhanced theme handling in the Storybook preview.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the environment configuration and modifies a component in the dashboard application to enhance functionality and maintainability.
### Detailed summary
- Added `ANALYTICS_SERVICE_URL` to the `.env.example` file.
- Updated `REDIS_URL` in the `.env.example` file.
- Refactored the `ButtonGroup` component in `token-id.tsx` to streamline the JSX structure by removing unnecessary line breaks and attributes.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on modifying the layout of the `PieChartCard` component in the `Analytics` section of the dashboard. It changes a `div` class to improve the responsiveness and wrapping behavior of the child elements.
### Detailed summary
- Changed the class of a `div` from `flex-nowrap` to `flex-wrap` to allow child elements to wrap in the `PieChartCard`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on updating various package dependencies and adjusting import paths in multiple files, ensuring compatibility and improvements in the application.
### Detailed summary
- Updated `@cloudflare/workers-types` to version `4.20241106.0`.
- Adjusted import paths in `engine-list.tsx` and `publish-submit.tsx`.
- Updated several dependencies in `package.json` files across multiple apps:
- `@aws-sdk` packages to version `3.687.0`.
- `@tanstack/react-query` to version `5.59.20`.
- `next` to version `15.0.3`.
- `eslint-config-next` to version `15.0.3`.
- Modified scripts in `dashboard/package.json` for build optimizations.
- Updated `@next/mdx` to version `15.0.3`.
- Various other minor dependency updates across packages.
> The following files were skipped due to too many changes: `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2291
https://github.com/user-attachments/assets/163c5eb5-c4dc-4d0f-a6aa-099a321148e8
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring components related to analytics in the dashboard. It replaces the `ProjectOverviewHeader` with an `AnalyticsHeader`, updates various components to enhance functionality, and introduces new analytics-related features.
### Detailed summary
- Deleted `Steps.tsx` and `HomeProductCard.tsx`.
- Replaced `ProjectOverviewHeader` with `AnalyticsHeader` in various files.
- Updated `projectStub` function to remove the export.
- Introduced new components for analytics: `UsersChartCard`, `WalletDistributionCard`, `AuthMethodDistributionCard`, `TotalSponsoredCard`, and `UserOpUsageCard`.
- Enhanced `EmptyState` component styling and functionality.
- Adjusted imports to reflect new component paths.
- Added new fetching functions for analytics data: `getWalletConnections`, `getInAppWalletUsage`, `getUserOpUsage`, and `getWalletUsers`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `Page` component in the `in-app-wallets/users` directory by adding error handling for project retrieval and updating the `clientId` property passed to `InAppWalletUsersPageContent`.
### Detailed summary
- Imported `notFound` from `next/navigation`.
- Fetched the `project` using `getProject` based on `team_slug` and `project_slug`.
- Added a check to call `notFound()` if the `project` is not found.
- Updated `clientId` prop in `InAppWalletUsersPageContent` to use `project.publishableKey`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2138
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding the `chainId` to various components and functions within the `thirdweb` package, enhancing analytics tracking and wallet creation processes by including chain-specific information.
### Detailed summary
- Added `chainId` to `TransactionModal.tsx` for analytics.
- Updated `ConfirmationScreen.tsx` to use `fromToken.chainId`.
- Included `chainId` in wallet creation functions across multiple wallet types.
- Modified `trackConnect` to accept `chainId` in its arguments.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2282
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on refactoring components related to analytics and charts in the dashboard, removing unused components, improving data handling, and enhancing UI elements for better responsiveness and clarity.
### Detailed summary
- Deleted `ConnectSDKCard.tsx` and `ConnectAnalyticsDashboard.tsx` files.
- Removed the `Analytics` link from the sidebar.
- Enhanced `PieChartCard` and `BarChart` components with better data mapping and UI adjustments.
- Updated `RangeSelector` to handle local state for range and interval.
- Removed unused API functions related to wallet usage.
- Improved data filtering logic in `WalletDistributionCard` and `AuthMethodDistributionCard`.
- Adjusted image rendering for better layout consistency in charts.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/INFRA-409/fix-engine-wallet-dropdown-bug-in-dashboard
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on enhancing the backend wallet management by refining wallet type options and improving the user interface for wallet actions. It introduces restrictions on importing smart backend wallets and updates the icons in the wallet management table.
### Detailed summary
- Added a comment to disallow importing smart backend wallets.
- Filtered `EngineBackendWalletOptions` to exclude keys starting with "smart:".
- Replaced `Trash2Icon` with `PencilIcon` for the edit action in the `BackendWalletsTable`.
- Updated logic for checking wallet configuration to simplify conditions.
- Improved `onValueChange` handler in `CreateBackendWalletButton`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on modifying the test for switching chains in the `smart-wallet-integration.test.ts` file. It simplifies the test by removing the transaction execution and balance verification, only asserting that the wallet's chain ID matches the expected value.
### Detailed summary
- Removed the creation of the `baseSepoliaEdition` contract instance.
- Eliminated the transaction sending and confirmation logic.
- Removed balance checking for the `baseSepoliaEdition` contract.
- Added an assertion to check if the wallet's current chain ID matches `baseSepolia.id`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Changes Summary
### Huge changes
* Delete all `/dashboard/**` pages and make the `/team` the default
* Rename all the links `/dashboard/**` to the new equivalent + Setup redirects
### New pages Added in team and account layouts
* `/account/contracts`
* `/team/<team-slug>/~/contracts`
* `/account/devices`
* new team overview page
* `/team/<team-slug>/~/usage/storage`
### Pages Moved
* Engine pages moved from project to team
* Ecosystem pages moved from project to team
* Team's projects page moved to /projects ( `/team/<team-slug>/~/projects` )
### Links to these pages removed for now (page not deleted) in new dashboard because they are not yet ready
* `/account/wallets`, `/account/settings`
### Minor changes
* Add the `AutoConnect` component directly where we render `ThirdwebProvider` so it is always triggered and not only when certain components are rendered, and remove AutoConnect at component level
* Move `/chain/validate` to app router inside (dashboard) layout
* Remove unnecessary breadcrumb on /explore base page
* Various UI adjustments / improvements
* Add billing alerts on top of all team, project, account pages
### Fixes
* Fix theme switcher not working sometimes in app router
* Engine pages crashing in team dashboard
* Revert color changes done in a recent a PR, fix colors in project header, app footer done.
* Fix Team avatar not resolving IPFS
* Fix various react warnings
* Fix missing Overview tab on the ecosystem page
### Improvements
* Reduced redirects on in-app-wallets and connect analytics page by making the landing page the default. For example: render analytics on `/connect/in-app-wallets` instead of landing on `/connect/in-app-wallets` and then redirecting to `/connect/in-app-wallets/analytics` and then rendering the page )
CNCT-2182
CNCT-2180
CNCT-2177
CNCT-2179
CNCT-2178
CNCT-2176
https://github.com/user-attachments/assets/5c676ec4-ca2f-4796-880a-944636f9f0d5
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the analytics components in the dashboard by introducing new stats interfaces, updating existing components to utilize these stats, and improving the layout and functionality of various charts and cards.
### Detailed summary
- Added `WalletUserStats` interface.
- Updated `ProjectOverviewHeader` to accept `interval` and `range`.
- Enhanced `Stat` component to display trends with badges.
- Introduced `PieChart`, `BarChart`, and `CombinedBarChartCard` components.
- Updated `EmptyState` messaging.
- Improved layout in several components for better responsiveness.
- Added new stories for `PieChartCard`, `StatBreakdownCard`, and others in Storybook.
- Refactored data fetching functions to support new stats.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-11-07 18:33:42 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
fixes CNCT-2269
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on making the `encryptionKey` optional for in-app and ecosystem wallets' custom authentication methods, enhancing security by discouraging hardcoding sensitive information.
### Detailed summary
- Updated `SingleStepAuthArgsType` to make `encryptionKey` optional for both `jwt` and `auth_endpoint` strategies.
- Removed hardcoded `encryptionKey` from various authentication examples in documentation.
- Emphasized the use of environment variables or user input for `encryptionKey`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2266
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds a new section titled "Advanced" to the sidebar in the `sidebar.tsx` file, which includes links to UI components. This enhances the navigation structure, providing users with easier access to specific features.
### Detailed summary
- Added a new section `Advanced` to the sidebar.
- Set `isCollapsible` to `false` for the `Advanced` section.
- Included a `links` array under `Advanced` with a link to `UI Components`.
- Mapped `SiteEmbed` and `SiteLink` to create individual links with names, hrefs, and icons.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refining the validation logic for platform fees and royalties in the settings components by removing default values and error handling that were previously in place. This aims to enhance clarity and enforce valid user input.
### Detailed summary
- Removed default values for `platform_fee_basis_points` and `platform_fee_recipient` in `platform-fees.tsx`.
- Removed error handling for invalid `platform_fee_basis_points` and `platform_fee_recipient` in `platform-fees.tsx`.
- Removed default values for `seller_fee_basis_points` and `fee_recipient` in `royalties.tsx`.
- Removed error handling for invalid `seller_fee_basis_points` and `fee_recipient` in `royalties.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on replacing the `Drawer` component with a `Sheet` component in the `TransactionDetailsDrawer`. It also updates the props and layout to accommodate this change, enhancing the user interface for displaying transaction details.
### Detailed summary
- Deleted `drawer.tsx` file.
- Removed `export * from "./drawer"` from `index.ts`.
- Replaced `Drawer` component with `Sheet` in `TransactionDetailsDrawer`.
- Updated props to include `setSelectedTransaction`.
- Adjusted layout and styling for the new `Sheet` component.
- Maintained functionality for transaction details display.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the `SnapshotUpload` component by refactoring its structure, enhancing the CSV upload functionality, and updating the UI to utilize a `Sheet` component instead of a `Drawer`. It also modifies the `CsvDataTable` for better rendering.
### Detailed summary
- Replaced `Drawer` with `Sheet` in `SnapshotUpload`.
- Added `snapshotIndex`, `index`, and `setOpenSnapshotIndex` props to `SnapshotUpload`.
- Updated the `CsvDataTable` rendering logic for better structure.
- Enhanced the CSV upload instructions and requirements display.
- Modified button styles for consistency and responsiveness.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-372
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the CSV upload functionality by refactoring components to use a new `useCsvUpload` hook, which centralizes CSV processing logic. It introduces a `CsvDataTable` component for displaying data and improves address validation in the airdrop and snapshot upload processes.
### Detailed summary
- Introduced `CsvDataTable` component for displaying CSV data.
- Refactored `AirdropUpload` and `SnapshotUpload` to use `useCsvUpload` hook.
- Centralized CSV parsing logic in `csvParser` functions.
- Improved address validation and error handling in CSV uploads.
- Removed redundant address checking functions from `AirdropUpload` and `SnapshotUpload`.
- Enhanced pagination and UI updates in CSV data tables.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/DASH-398/enish-cant-download-wallet-addresses-from-dashboard
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `useEmbeddedWallets` hook by adding a new function, `fetchAccountList`, and introduces a new hook, `useAllEmbeddedWallets`, for fetching wallet data. It also improves the CSV download functionality in the `InAppWalletUsersPageContent` component.
### Detailed summary
- Added `fetchAccountList` function to handle API calls for fetching wallet accounts.
- Introduced `useAllEmbeddedWallets` hook for batch fetching wallet data across multiple pages.
- Updated `useEmbeddedWallets` to use `fetchAccountList`.
- Enhanced CSV download logic to handle cases when no wallets are available.
- Integrated loading spinner in the download button to indicate pending actions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on the removal of the `MenuItem` component from various files and updates related to `buttonSizesMap` and `PossibleButtonSize` type definitions.
### Detailed summary
- Deleted `MenuItem` export from `tw-components/menu.tsx`.
- Removed `MenuItem` import from `tw-components` in `DowngradeDialog.tsx` and `claim-conditions-form/index.tsx`.
- Changed `export const buttonSizesMap` to `const buttonSizesMap` in `button.tsx`.
- Updated `export type PossibleButtonSize` to `type PossibleButtonSize` in `button.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refining the profile editing interface in the dashboard. It replaces the `Drawer` component with a `Sheet` component for a more modern design and updates the profile avatar size, among other improvements in the form handling and UI elements.
### Detailed summary
- Changed `className` of `PublisherAvatar` from `"size-30"` to `"size-20"`.
- Replaced `Drawer` with `Sheet` for editing profiles.
- Updated button components and form structure for better usability.
- Enhanced error handling and notifications using `toast`.
- Simplified state management for the profile editing UI.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `NFTSharedMetadataButton` and `SharedMetadataForm` components to replace the `Drawer` component from `@chakra-ui/react` with a `Sheet` component from `@/components/ui/sheet`. This change enhances the UI/UX for setting NFT metadata.
### Detailed summary
- Replaced `Drawer` with `Sheet` in `NFTSharedMetadataButton`.
- Updated state management from `useDisclosure` to `useState` for controlling visibility.
- Modified `SharedMetadataForm` to accept a `setOpen` prop for closing the `Sheet`.
- Removed `Drawer` specific components and replaced them with `Sheet` components.
- Updated transaction handling to use `sendAndConfirmTx` instead of `mutate`.
- Enhanced error handling with `toast` notifications for user feedback.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the functionality and UI of various components in the dashboard application, including forms, modules, and UI elements, while also introducing new dependencies and improving existing code structure.
### Detailed summary
- Updated `ContractEditModulesPageClient` to check for `localhost` chain.
- Added `gap-3` to `FormControl` class.
- Introduced `publisherAddress` in `useForm` default values.
- Refactored `CustomConnectWallet` for better prop handling.
- Added `helperText` to `FormFieldSetup`.
- Improved error message display spacing.
- Updated `DatePickerWithRange` for consistent styling.
- Changed `TransactionError` type to export.
- Enhanced error handling with `ErrorBoundary` in `ModuleCard`.
- Introduced new `useAllModuleContractInfo` hook for fetching module data.
- Added `PropertiesFormControl` for managing NFT attributes.
- Implemented various storybook components for UI consistency.
- Integrated `OpenEditionMetadata` and `Royalty` modules with improved form handling.
- Added loading states and notifications for asynchronous operations.
- Introduced `BatchMetadata` and `Claimable` modules with enhanced functionality.
> The following files were skipped due to too many changes: `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/BatchMetadata.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/Transferable.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/Mintable.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/Royalty.tsx`, `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/modules/components/Claimable.tsx`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds a `description` field and a `siteName` property to the metadata returned by the `createMetadata` function in the `metadata.ts` file.
### Detailed summary
- Added `description: obj.description` to the returned object in `createMetadata`.
- Added `siteName: "thirdweb docs"` to the returned object in `createMetadata`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Completes CNCT-2259
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the `SiteLink` component to facilitate wallet-aware linking between thirdweb-enabled sites, enhancing user experience by sharing wallet state seamlessly. It also updates the `SiteEmbed` component documentation and includes tests for the new `SiteLink`.
### Detailed summary
- Updated comment for `SiteEmbed` to reflect wallet connection usage.
- Added `SiteLink` component for creating links with wallet parameters.
- Provided usage example for `SiteLink` in documentation.
- Implemented tests for `SiteLink` to verify functionality and error handling.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
FIXES: DASH-410
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on improving error handling and code clarity in the `apps/dashboard` project. It modifies the `package.json` script for development, enhances JWT response validation, and adjusts value handling in a hook for better consistency.
### Detailed summary
- Updated the `dev` script in `apps/dashboard/package.json` to remove `--turbopack`.
- Added error handling for missing JWT in `apps/dashboard/src/@/constants/thirdweb.client.ts`.
- Changed return value handling to ensure it returns a `BigInt` in `apps/dashboard/src/app/(dashboard)/(chain)/[chain_id]/[contractAddress]/_components/claim-conditions/claim-conditions-form/hooks.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on simplifying the `ref` handling in the `SelectPrimitive.Content` component of the `select.tsx` file by removing a custom `ref` function and replacing it with a direct assignment. It also enhances the component's class names for better styling based on its state.
### Detailed summary
- Removed custom `ref` handling logic.
- Directly assigned `ref` to `SelectPrimitive.Content`.
- Updated `className` with various state-based styles for animations and positioning.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding new tests and enhancing the `padBytes` function in the `to-bytes.ts` file, along with implementing various utility functions for byte manipulation. It includes comprehensive test cases for hex strings, Uint8Arrays, and other conversions.
### Detailed summary
- Added JSDoc comment to `padBytes` function and exported it for testing.
- Introduced tests for `byteSize`, `assertSize`, `charCodeToBase16`, and `isHex` functions.
- Created tests for `padBytes`, `toBytes`, `boolToBytes`, `hexToBytes`, `numberToBytes`, and `stringToBytes` in `to-bytes.test.ts`.
- Enhanced test coverage for hex string conversions and error handling in byte manipulation functions.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-11-06 07:08:46 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
Fix various issues with ERC20 claim conditions since we up'd it to v5 on the dashboard
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the handling of `tokenDecimals` for ERC20 tokens in the claim conditions form, ensuring that the application correctly manages and displays the maximum claimable supply and per wallet limits based on the token's decimal precision.
### Detailed summary
- Updated `MaxClaimableSupplyInput` and `MaxClaimablePerWalletInput` to disable inputs if `tokenDecimals` is not available.
- Changed `tokenDecimals` type from `number` to `number | undefined`.
- Enhanced fetching logic for `tokenDecimals` in the claim conditions form.
- Added error handling for missing `tokenDecimals` when submitting forms.
- Introduced conversion functions for handling ERC20 values in wei and display format.
- Updated `toBigInt` function to return `bigint | undefined`.
- Adjusted `toUnlimited` function to maintain clarity on unlimited values.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `alchemySupportedChainIdsMap` in the `apps/dashboard/src/lib/wallet/nfts/types.ts` file by adding new supported chains.
### Detailed summary
- Added new entries to `alchemySupportedChainIdsMap`:
- `"sei"` with key `[1329]`
- `"sei-atlantic-2"` with key `[1328]`
- `"shape"` with key `[360]`
- `"apechain"` with key `[33139]`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `displayName` and removing the `isBeta` flag for the `modular-contracts` entry in the `explore.ts` file, indicating a shift from a beta status to a more stable release.
### Detailed summary
- Changed `displayName` from "Modular Contracts (Beta)" to "Modular Contracts".
- Removed the `isBeta` property set to `true`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2099/enclaves-malform-contract-call-transactions
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on fixing an error related to ecosystem signing with data in the `thirdweb` wallet implementation. It adjusts how transaction details are processed, particularly the `to` and `data` fields.
### Detailed summary
- Updated the `to` field in the transaction object to use `getAddress(tx.to)` instead of a fallback to `undefined`.
- Changed the `data` field assignment to directly use `tx.data` without transformation.
- The rest of the transaction fields remain unchanged.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Completes:
- CNCT-2181
- CNCT-2175
Adds the Project Overview page empty state, set to "Coming Soon" copy for now

<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing UI components, improving type exports, and refining styles across various files in the application. It introduces new features and fixes, particularly in the `ProjectOverviewHeader` and `EmptyState` components, while updating SVG assets.
### Detailed summary
- Updated `className` styles in `DatePickerWithRange` and `app-footer`.
- Exported `DurationId` type in `date-range-selector`.
- Added background styling in `layout.tsx`.
- Made `projectStub` function exportable.
- Adjusted CSS variables for light and dark themes in `globals.css`.
- Modified routing in `TeamOverviewPage` and `ProjectOverviewPage`.
- Enhanced `RangeSelector` to handle computed ranges.
- Introduced `EmptyState` and `ProjectOverviewHeader` components with new UI elements.
- Added new SVG assets for various icons.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Fixes CNCT-2225
![CleanShot 2024-11-05 at [email protected]](https://graphite-user-uploaded-assets-prod.s3.amazonaws.com/GGPGC1k4LEcpDtkOsVBe/d6321c9a-f6d9-42cd-af14-41165c2ace6d.png)
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `AccountFactories` component by introducing a section for default account factories and a table to display them. It improves user guidance on deploying custom factories and organizes the layout for better clarity.
### Detailed summary
- Added a section for default account factories with a description and link.
- Introduced `TWTable` to display default account factories (`AccountFactory (v0.6)` and `AccountFactory (v0.7)`).
- Created a new section for user account factories with relevant information and a link.
- Defined `DefaultFactory` type and created table columns using `createColumnHelper`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the functionality of the `Faucet` feature in the dashboard application. It introduces new environment variables, updates modal components to allow for state management, and improves API endpoints for better user authentication and request handling.
### Detailed summary
- Added `REDIS_URL` and updated `TURNSTILE_SECRET_KEY` in `.env.example`.
- Updated `turbo.json` to include new environment variables.
- Modified `OnboardingModal` to accept `onOpenChange` prop for state management.
- Enhanced API routes to check for email verification before allowing faucet claims.
- Improved error handling for wallet connections and request limits.
- Updated `FaucetButton` to show onboarding modal for email verification.
- Added caching logic for user requests to prevent abuse.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `SupplyCards` component by updating how supply data is fetched and displayed, specifically by introducing the `startTokenId` and refining the calculation of unclaimed supply.
### Detailed summary
- Added `startTokenId` to the imports from `thirdweb/extensions/erc721`.
- Changed `claimedSupplyQuery` to `nextTokenIdQuery`.
- Introduced `startTokenIdQuery` for calculating the real total supply.
- Updated unclaimed supply calculation to use `realTotalSupply`.
- Adjusted loading states and displayed values for total supply and unclaimed supply.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
This github action is no longer used and has been replaced by `workflows/stale.yml`
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the removal of the `.github/stale.yml` configuration file, which is used to manage stale issues and pull requests in the repository.
### Detailed summary
- Deleted the file `.github/stale.yml`
- This action may affect how stale issues and pull requests are tracked and managed in the repository.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2213
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `SiteEmbed` React component that allows embedding thirdweb-supported sites with wallet connection support. It enhances the user experience by maintaining wallet connection states across different sites.
### Detailed summary
- Added `SiteEmbed` component for embedding thirdweb sites.
- Updated `getUrlToken` to include `authCookie`.
- Enhanced `useAutoConnectCore` to save `authCookie` if available.
- Created tests for `SiteEmbed` component, ensuring iframe rendering and error handling.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/INFRA-404/add-sbw-to-dashboard
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the backend wallet functionality within the application. It introduces new wallet types, updates wallet configuration handling, and refines the user interface for better usability.
### Detailed summary
- Added `"SMART_BACKEND_WALLETS"` to the wallet type constants.
- Introduced new `EngineBackendWalletType` options for smart wallets.
- Updated `EngineBackendWalletOptions` with smart wallet configurations.
- Changed `tabContent` to use `Partial<Record<EngineBackendWalletType, React.ReactNode>>`.
- Enhanced wallet type selection logic based on smart wallet support.
- Added `FormDescription` to provide information on backend wallet types.
- Updated form validation to include smart wallet configurations.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->

<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new component, `ContractFunctionComment`, which fetches and displays comments for contract functions. It also refactors the `contract-function.tsx` file to utilize this new component, improving the organization and clarity of the code.
### Detailed summary
- Added `ContractFunctionComment` component to fetch and display function comments.
- Integrated `ContractFunctionComment` into `ContractFunctionInner` in `contract-function.tsx`.
- Imported `lazy` from `react` for lazy loading of `ContractFunctionComment`.
- Implemented logic to extract comments from Solidity source code using regex.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR primarily focuses on updating various package dependencies across multiple applications and packages to their latest versions, enhancing stability and security.
### Detailed summary
- Updated `@tanstack/react-query` from `5.59.16` to `5.59.19` in multiple packages.
- Updated `@aws-sdk/client-kms`, `@aws-sdk/client-lambda`, and `@aws-sdk/credential-providers` to newer versions.
- Updated `@hookform/resolvers` from `^3.9.0` to `^3.9.1`.
- Updated `cmdk` from `^1.0.0` to `^1.0.4`.
- Updated `sonner` from `^1.5.0` to `^1.7.0`.
- Updated `framer-motion` from `11.11.10` to `11.11.11`.
- Updated `input-otp` from `^1.2.4` to `^1.4.1`.
- Updated `next-plausible` from `^3.12.0` to `^3.12.3`.
- Updated `react-dropzone` from `^14.2.9` to `^14.3.5`.
- Updated `recharts` from `^2.13.0` to `^2.13.3`.
- Updated `@storybook` packages from `8.3.6` to `8.4.1`.
- Updated `@coinbase/wallet-sdk` from `4.1.0` to `4.2.0`.
- Updated `@mobile-wallet-protocol/client` from `0.1.1` to `0.1.2`.
- Updated `knip` from `5.34.2` to `5.36.2`.
- Updated `happy-dom` from `^15.7.4` to `^15.9.0`.
- Updated `msw` from `^2.5.2` to `^2.6.0`.
- Updated `typedoc` from `0.26.10` to `0.26.11`.
> The following files were skipped due to too many changes: `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-11-05 03:21:42 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on deleting several pages and components from the `dashboard` application and updating the redirects in `redirects.js`. It also modifies the `PRODUCTS` and `SOLUTIONS` lists, removing specific entries and their corresponding links.
### Detailed summary
- Deleted multiple files from `apps/dashboard/src/pages` and `apps/dashboard/src/components`.
- Updated `apps/dashboard/redirects.js` with new redirect rules for several routes.
- Removed entries related to `Interact`, `Sponsored Transactions`, and `Minting` from `PRODUCTS`.
- Adjusted `PageId` enum by removing references to deleted pages.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `CUSTOM_CHAIN_MAP` and `convertLegacyChain` function to be exported for testing purposes. It also adds new tests for chain handling, including legacy chain conversion and caching functionality.
### Detailed summary
- Exported `CUSTOM_CHAIN_MAP` for testing.
- Exported `convertLegacyChain` function.
- Added a `legacyChain` object for testing.
- Created tests for:
- `getChainSymbol`
- `getChainDecimals`
- `getChainNativeCurrencyName`
- `convertLegacyChain`
- `defineChain` with a legacy chain.
- Caching functionality with `cacheChains`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on optimizing the `transferBatch` functionality for ERC20 tokens by improving the way transfers are processed, allowing for batching of transfers to the same recipient, and enhancing the test coverage for these changes.
### Detailed summary
- Added `optimizeTransferContent` function to group transfers by recipient.
- Refactored `transferBatch` to use optimized transfer content.
- Updated tests to verify optimized transfers and ensure correctness.
- Increased token minting in tests from 100 to 200 tokens.
- Enhanced test cases to validate optimized transfer behavior.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Fixes CNCT-2217
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the `thirdweb` package by updating configurations, modifying wallet functionalities, enhancing chain checks, and refining tests for wallet balance functionality.
### Detailed summary
- Updated `limit` in `.size-limit.json` from `500 B` to `600 B`.
- Changed `options` to `bundlerOptions` in `waitForUserOpReceipt` call.
- Added additional chain IDs in `isZkSyncChain.ts`.
- Implemented fallback to RPC stack check in `isZkSyncChain.ts`.
- Renamed test case from "should work for un-named token" to "should work for native currency" in `getWalletBalance.test.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-11-04 20:01:42 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the ability to configure the analytics endpoint for the `thirdweb` package, enhancing flexibility in specifying where analytics data is sent.
### Detailed summary
- Added a new configuration option for `analytics` in `apps/playground-web/src/lib/client.ts`.
- Replaced the hardcoded `ANALYTICS_ENDPOINT` URL with a dynamic URL using `getThirdwebBaseUrl` in `packages/thirdweb/src/analytics/track/index.ts`.
- Introduced a default value for `analytics` in `packages/thirdweb/src/utils/domains.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes CNCT-2185
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the date range for fetching in-app wallet usage statistics from the start of the current month to the last 30 days, improving the relevance of the data displayed.
### Detailed summary
- In `layout.tsx`:
- Changed `from` date in `getInAppWalletUsage` from the start of the current month to 30 days ago using `subDays`.
- In `header.tsx`:
- Updated `from` date in `getInAppWalletUsage` similarly to 30 days ago with `subDays`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on updating the user interface components related to NFT actions, enhancing text alignment, and improving metadata update functionality by replacing a `Drawer` with a `Sheet` for better user experience.
### Detailed summary
- Corrected typo from `Aidrop` to `Airdrop` in `airdrop-tab.tsx` and `airdrop-button.tsx`.
- Added `className="text-left"` to `SheetTitle` in several components for consistent text alignment.
- Replaced `Drawer` with `Sheet` in `update-metadata-tab.tsx` to improve UI.
- Modified state management for opening/closing the metadata update sheet.
- Enhanced error handling and user feedback with `toast` notifications in `update-metadata-form.tsx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `CreateListingButton` and `CreateListingsForm` components to replace the `Drawer` component with a `Sheet` component for better user interface interaction in the marketplace.
### Detailed summary
- Replaced `Drawer` with `Sheet` in `CreateListingButton`.
- Updated state management for opening/closing the form.
- Modified button and form structure to align with `Sheet` component.
- Added `actionText` and `setOpen` props to `CreateListingsForm`.
- Introduced toast notifications for transaction promises in `CreateListingsForm`.
- Implemented a fixed button section for form submission and cancellation.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `NFTLazyMintButton` and `LazyMintNftForm` components to replace the `Drawer` UI component with a `Sheet` component for a better user interface experience during the NFT minting process.
### Detailed summary
- Replaced `Drawer` with `Sheet` in `NFTLazyMintButton`.
- Added `SheetTrigger` and `SheetContent` to manage the button and form display.
- Introduced `setOpen` state in `NFTLazyMintButton` to control the `Sheet`.
- Modified `LazyMintNftForm` to accept `setOpen` prop for closing the `Sheet`.
- Updated success and error handling with `toast` notifications instead of modal context.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `NFTMintButton` and `NFTMintForm` components to replace the `Drawer` component from `@chakra-ui/react` with a `Sheet` component for improved UI consistency and functionality.
### Detailed summary
- Replaced `Drawer` with `Sheet` in `NFTMintButton`.
- Updated `SheetContent` class properties for better responsiveness.
- Changed `SheetTitle` to have `text-left` class.
- Added `setOpen` prop to `NFTMintForm` to control visibility.
- Enhanced error handling with `toast` notifications.
- Refined form structure and validation messages in `NFTMintForm`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Made the BatchUpload drawer more clean looking basically
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the `ClaimConditions` and `BatchLazyMint` components in the dashboard by refining input handling, restructuring layouts, and enhancing user interaction through better feedback and state management.
### Detailed summary
- Changed `isDisabled` prop to `disabled` in `PhaseNameInput`.
- Restructured layout in `ClaimConditions` for better spacing and organization.
- Updated `BatchLazyMintButton` to use `Sheet` instead of `Drawer`.
- Improved state management in `BatchLazyMintButton` for opening and closing the sheet.
- Refactored `BatchLazyMint` to use a `<form>` instead of `<Container>`.
- Simplified file upload instructions and requirements in `UploadStep`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes [CNCT-2184](https://linear.app/thirdweb/issue/CNCT-2184)
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces modifications to the `trackTransaction` function across multiple files in the `thirdweb` package, adding support for `chainId` in transaction tracking.
### Detailed summary
- Added `chainId: tx.chainId` to `trackTransaction` in:
- `packages/thirdweb/src/wallets/injected/index.ts`
- `packages/thirdweb/src/wallets/in-app/core/wallet/enclave-wallet.ts`
- `packages/thirdweb/src/wallets/in-app/web/lib/iframe-wallet.ts`
- `packages/thirdweb/src/wallets/coinbase/coinbaseWebSDK.ts`
- `packages/thirdweb/src/wallets/wallet-connect/controller.ts`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR enhances the `Ecosystem` analytics feature by introducing new components for wallet statistics, improving data fetching, and updating routing. It refines the structure for better maintainability and adds new functionalities for displaying wallet usage insights.
### Detailed summary
- Added `EcosystemWalletStats` interface.
- Introduced `EcosystemPermissionsPage` and `EcosystemAnalyticsPage` components.
- Implemented `RangeSelector` for date range selection.
- Updated routing to redirect to analytics.
- Enhanced data fetching for wallet usage.
- Refactored paths for type imports.
- Improved `InAppWalletUsersChartCard` for better data visualization.
- Added error handling and loading states for analytics components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds a GitHub Actions workflow to automatically close stale issues and pull requests after a specified period of inactivity.
### Detailed summary
- Introduced a new workflow in `.github/workflows/stale.yml` named 'Close stale issues and PRs'.
- Configured the workflow to trigger on a schedule using a cron job.
- Set the job to run on `ubuntu-latest`.
- Utilized `actions/stale@v9` for managing stale issues and PRs.
- Configured messages for stale issues and PRs.
- Defined `days-before-stale` as 30 and `days-before-close` as 5.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces a new workflow in the `.github/workflows/linear.yml` file that ensures pull requests contain a linked issue in their body.
### Detailed summary
- Added a new workflow named `Check for linked issue in pull request body`.
- Configured the workflow to trigger on `pull_request` events.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Fixes https://linear.app/thirdweb/issue/ENG-2/better-enforce-linear-use
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a GitHub Actions workflow to check the pull request body for specific keywords ("CNCT" or "DASH"). If these keywords are found, it confirms a linked issue; otherwise, it fails the check.
### Detailed summary
- Added a workflow named `Check for "linear" in pull request body` in `.github/workflows/linear.yml`.
- Configured the workflow to trigger on `pull_request` events (opened and edited).
- Implemented a job `check_linear_in_pr_body` to verify the presence of keywords in the PR body.
- Utilized `curl` to fetch the PR body and `grep` to search for keywords.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `ContractChecklist` component by incorporating additional checks for ERC721 and ERC20 claim conditions, ensuring that the logic correctly reflects the type of contract being interacted with.
### Detailed summary
- Added `isErc721` to the dependency array of `useMemo` for `hasERC721ClaimConditions`.
- Added `isErc20` to the dependency array of `useMemo` for `hasERC20ClaimConditions`.
- Updated the conditional check for `hasERC721ClaimConditions` to also verify `isErc721`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `link` and `image` properties for specific projects in the `PROJECT_SHOWCASE_DATA` array within the `project-showcase-constants.ts` file.
### Detailed summary
- Updated `link` for the gaming project from `@goatgamingbot` to `https://goatgaming.com/`.
- Changed `image` for the `storychain` project from `ipfs://Qmau1mgrzahdfEtJFU9i2pSKMM7AwHav6tQCVEdJARUFpb` to `ipfs://QmUUBdNHa7ZoiRQicNathMY6G8GTBA4S9cRY1RRBXAKpYi`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on replacing `JSON.stringify` with `stringify` in various parts of the codebase to improve bigint serialization handling.
### Detailed summary
- Updated error handling in `bundler.ts` to use `stringify`.
- Modified payload serialization in `verify-jwt.ts`, `native/helpers/errors.ts`, and others to use `stringify`.
- Changed data storage and retrieval methods in various files to utilize `stringify`.
- Adjusted JWT encoding in `encode-jwt.ts` to use `stringify`.
- Enhanced error messages and responses across multiple files by replacing `JSON.stringify` with `stringify`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on cleaning up and enhancing tests related to `ERC721` and `ERC1155` contracts in the `thirdweb` package. It includes the removal of obsolete tests and the addition of new functionality checks, particularly around contract deployment and NFT minting.
### Detailed summary
- Deleted obsolete test files for `ERC721` and `ERC20`.
- Updated `mintAdditionalSupplyToBatch.test.ts` to include checks for contract names.
- Enhanced tests for `DropERC1155` and `TokenERC1155` to verify deployed names.
- Removed tests for `deployERC721` that were reliant on secret keys.
- Added new tests for minting NFTs in `token721.test.ts`, covering both object and string inputs.
- Ensured compatibility checks for NFT functions in the new tests.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the ability to customize the display order of asset tabs in the `ConnectButton` component, allowing users to prioritize "NFTs" over "Tokens". It also includes updates to the documentation and type definitions to support this feature.
### Detailed summary
- Added customization for asset tab order in `ConnectButton`.
- Default order shows "Tokens" first; can be changed to `["nft", "token"]`.
- Updated type definitions to include `assetTabs` in `ConnectButtonProps`.
- Modified `ViewAssets` to dynamically render tabs based on `assetTabs`.
- Documentation updated to reflect changes in tab customization.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->

<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `SponsoredTransactionsChartCard` component to handle user operation statistics by chain, improving data visualization and functionality.
### Detailed summary
- Changed `UserOpStats` to `UserOpStatsByChain` in `createUserOpStatsStub`.
- Updated chart data structure to support multiple chains.
- Modified `SponsoredTransactionsChartCard` to visualize data by chain.
- Enhanced data aggregation and display logic.
- Updated chart configuration to include dynamic chains.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR updates the `README.md` file for the `dashboard` application to include guidelines on code structure and style, particularly focusing on component organization and data fetching practices.
### Detailed summary
- Added a section on code structure and style guide.
- Specified that components should be placed in a `components` folder next to their respective app pages.
- Clarified where to place reused components and low-level components.
- Recommended using RSC for data fetching.
- Suggested keeping data fetching functions in the same file as their components unless reused across multiple components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR refactors the validation logic in the `claimToBatch.ts` file to improve error handling for missing recipient addresses and claim quantities. It replaces the use of `findIndex` with a `for` loop for more straightforward validation.
### Detailed summary
- Removed the use of `findIndex` for checking missing recipient addresses and claim quantities.
- Added a `for` loop to iterate through `options.content` for validation.
- Updated error messages to reflect the index of the item directly within the loop.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the parameters used in the `Page` component within the `analytics` directory to reflect a change in the expected data structure, specifically changing from `project_slug` to `clientId`.
### Detailed summary
- Updated the `params` type in the `Page` function from `{ team_slug: string; project_slug: string }` to `{ clientId: string }`.
- Changed the prop passed to `<InAppWalletAnalytics />` from `clientId={params.project_slug}` to `clientId={params.clientId}`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on standardizing loading pages across various components in the dashboard by introducing a `GenericLoadingPage`. It also refines data fetching error handling and enhances the `InAppWalletsHeader` and `InAppWallets` pages with improved stats handling.
### Detailed summary
- Deleted multiple `layout.tsx` files.
- Added `"use client"` directive to various loading components.
- Implemented `GenericLoadingPage` for consistent loading UI.
- Improved error handling in `getInAppWalletUsage` function.
- Enhanced `InAppWalletsHeader` with Promise.all for stats fetching.
- Updated `InAppWallets` pages to handle empty stats gracefully.
- Added footer section to several pages for better UX.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `publishedContractOGImageTemplate` function to conditionally shorten the display of the `publisher` address if it is a valid blockchain address.
### Detailed summary
- Added import for `isAddress` and `shortenAddress` from `thirdweb`.
- Updated the rendering of the `publisher` in the `<h2>` element to check if it is a valid address using `isAddress`.
- If valid, it displays the shortened address using `shortenAddress`; otherwise, it displays the full `publisher` name.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `apps/dashboard/src/data/explore.ts` file by adding a new entry to a list of addresses or identifiers related to third-party contracts.
### Detailed summary
- Added the entry `0xaF3202F6bAEbA50d37e0d4B0b870455EDF198D7c/BurnMintERC677` to the existing list of third-party contracts.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on updating the `PublisherAvatar` component usage across several files, replacing the `boxSize` prop with a `className` prop for styling. Additionally, it enhances the `Img` component with improved loading behavior.
### Detailed summary
- Replaced `boxSize` with `className` in `PublisherAvatar` components in:
- `apps/dashboard/src/components/explore/publisher/index.tsx`
- `apps/dashboard/src/pages/profile/[profileAddress].tsx`
- `apps/dashboard/src/components/contract-components/publisher/publisher-header.tsx`
- `apps/dashboard/src/pages/community/ambassadors.tsx`
- Updated `MaskedAvatar` component to use `className` instead of `boxSize`.
- Modified `MaskedAvatar` component's rendering logic to use a new `Img` component.
- Enhanced `Img` component with a loading state and error handling using a `ref`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR refactors the code to replace the usage of `AccountStatus` and `AccountPlan` enums with `accountStatus` and `accountPlan` constants, improving consistency and clarity throughout the codebase.
### Detailed summary
- Replaced `AccountStatus` enum with `accountStatus` constant object.
- Replaced `AccountPlan` enum with `accountPlan` constant object.
- Updated all references to use `accountStatus` and `accountPlan` instead of enums.
- Adjusted conditions and logic to align with the new structure.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR consolidates authentication methods in the `thirdweb` package by introducing a common endpoint for custom JWT and custom auth, enhancing code organization and reducing redundancy.
### Detailed summary
- Changed `getSessionHeaders` to no longer export it.
- Introduced `ecosystem` parameter in various functions.
- Replaced direct `fetch` calls with `getClientFetch` for consistency.
- Simplified the `loginWithAuthToken` method to accept an optional `recoveryCode`.
- Unified handling of authentication strategies in `InAppWebConnector`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR removes an entry from the `HIDDEN_SERVICES` array in the `validations.ts` file, indicating a potential update in the handling of API keys.
### Detailed summary
- Removed `"insight"` from the `HIDDEN_SERVICES` array in the `validations.ts` file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds new contributors to the list in the `open-source.tsx` file for the dashboard page.
### Detailed summary
- Added new contributors to the list:
- `iuwqyir`
- `GWSzeto`
- `Joe-Thirdweb`
- `AmineAfia`
- `catalyst17`
- `dirtycajunrice`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the styling of the `Turnstile` component within the `FaucetButton.tsx` file by adding a margin-top class.
### Detailed summary
- Added the `className="mt-4"` to the `Turnstile` component in `FaucetButton.tsx` to apply a top margin for improved spacing.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the error handling for resolving the contract ABI in the `page.tsx` file by changing the promise handling from `then` to `catch`, ensuring that any errors in resolving the ABI will result in `undefined` being assigned.
### Detailed summary
- Changed the promise handling for `resolveContractAbi(contract)`:
- From using `.then(() => undefined)` to `.catch(() => undefined)` to properly handle errors.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Updates the dashboard so that list of in app wallet will pull from thirdweb RDS.
NOTE: NEED TO UPDATE ENV VAR AFTER DEPLOYEMENT
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `thirdweb` wallet integration by exposing the `WalletUser` type, updating API endpoints, and improving the handling of embedded wallets in the dashboard. It also refines wallet user data display and pagination in the user interface.
### Detailed summary
- Exposed `WalletUser` type in `packages/thirdweb/src/exports/wallets.ts`.
- Updated API host URL in `apps/dashboard/src/constants/urls.ts`.
- Modified `embeddedWallets` function to include `page` parameter.
- Refactored `useEmbeddedWallets` to support pagination and improved error handling.
- Changed data structure in `useEmbeddedWallets` to return `users` and `totalPages`.
- Updated wallet user display logic in `apps/dashboard/src/components/embedded-wallets/Users/index.tsx`.
- Removed deprecated `withinDays` function from `apps/dashboard/src/utils/date-utils.ts`.
- Enhanced CSV download functionality to include all users and relevant details.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR primarily focuses on the removal of multiple files related to Farcaster frames and the `@coinbase/onchainkit` package, as well as some metadata updates in the `package.json` and `pnpm-lock.yaml` files.
### Detailed summary
- Deleted various files related to Farcaster frames and their functionality.
- Removed the `shortenAddress` function from `apps/dashboard/src/utils/string.ts`.
- Updated `package.json` to remove `@coinbase/onchainkit` dependency.
- Cleaned up `pnpm-lock.yaml` by removing references to deleted packages and dependencies.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR primarily focuses on updating various package dependencies across multiple `package.json` files, ensuring compatibility with newer versions and fixing potential issues.
### Detailed summary
- Updated `vitest` from `2.1.3` to `2.1.4`.
- Updated `lucide-react` from `0.453.0` to `0.454.0` in multiple apps.
- Updated `shiki` from `1.22.0` to `1.22.2` in multiple apps.
- Updated AWS SDK packages to `3.679.0` for `client-kms`, `3.680.0` for `client-lambda`, and `3.679.0` for `credential-providers`.
- Updated `tsx` from `4.19.1` to `4.19.2`.
- Updated `@playwright/test` from `1.47.2` to `1.48.2`.
- Updated `@types/color` from `^3.0.6` to `4.2.0`.
- Updated `knip` from `^5.33.3` to `5.34.2`.
- Updated `@vitest/coverage-v8` and `@vitest/ui` to `2.1.4`.
- Updated `msw` from `^2.4.12` to `^2.5.2`.
- Updated `react-native-svg` from `15.7.1` to `15.8.0`.
- Updated `viem` from `2.21.34` to `2.21.35`.
- Adjusted various package resolutions in `pnpm-lock.yaml`.
> The following files were skipped due to too many changes: `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `.env.example` file for the `dashboard` application by removing deprecated or unnecessary environment variable entries.
### Detailed summary
- Removed the comment regarding `PAYMENTS_ADMIN_SECRET` and its associated empty value.
- Deleted the line to disable telemetry (`NEXT_TELEMETRY_DISABLED`).
- Removed the comment and empty value for `NEXT_PUBLIC_TRENCH_2_API_ENDPOINT`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on updating the documentation for the `Unity SDK`, including changes to wallet options, sidebar navigation, and the introduction of build instructions. It also replaces an image and adds new sections for configuration and debugging.
### Detailed summary
- Removed `thirdwebmanager.png` and updated image imports.
- Changed title in `page.mdx` from "Unity SDK (v5)" to "Unity SDK".
- Expanded wallet options to include `Github` and `Twitch`.
- Added new `Build Instructions` section in `page.mdx`.
- Updated sidebar to include `Build Instructions` and `Migrate from v4`.
- Revised `Client Settings` and added `Preferences`, `Misc`, and `Debug` sections.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `ContractOverviewPageClient` component by removing the `PublishedByClient` function and its associated logic, while setting the `publishedBy` prop to `undefined`. This prepares for a future implementation of a fully client-rendered version.
### Detailed summary
- Removed the import statements for `useThirdwebClient`, `useQuery`, and `useActiveAccount`.
- Deleted the `PublishedByClient` function and its logic.
- Updated the `publishedBy` prop in `ContractOverviewPageClient` to `undefined`.
- Added a TODO comment for future implementation of a fully client-rendered version of `publishedBy` and `ContractCard`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the code in the `getContractFromParams.ts` file to improve readability. It mainly involves reordering and aligning the code without changing the logic.
### Detailed summary
- Removed unnecessary line breaks for better readability.
- Maintained the structure of the `if` statements and the `try-catch` block.
- Ensured consistent formatting for the `chainOverrides.find` function.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Addresses CNCT-2132
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `domain` configuration in the `createAuth` function for the `thirdwebAuth` object, changing its default value to "thirdweb.com".
### Detailed summary
- Updated the `domain` property in `createAuth` from an empty string to "thirdweb.com".
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR adds functionality to redirect requests from `/team/~/...` to `/team/<first_team_slug>/...`, enhancing user navigation by ensuring that users are directed to the first team's slug instead of a placeholder.
### Detailed summary
- Added a check for the path starting with `team` and `~`.
- Implemented a call to `getTeams()` to retrieve the list of teams.
- If a team exists, modified the path to use the first team's slug.
- Redirects the request to the new path format.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the color selection functionality in the `ColorInput` component by integrating a new `Popover` UI from `@radix-ui/react-popover` and a color picker from `react-pick-color`. It also updates the dependencies in `package.json`.
### Detailed summary
- Removed the `ColorInput.module.css` file.
- Added `@radix-ui/react-popover` and `react-pick-color` to `package.json`.
- Updated `ColorInput` component to use `Popover` for color selection.
- Integrated `ColorPicker` within the `PopoverContent`.
- Refactored `onChange` handling in `ColorInput`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on restructuring the file organization and import paths for various components within the dashboard application, specifically related to engine functionalities. It also includes updates to stylesheets and components for better modularity.
### Detailed summary
- Updated import paths for several components to a new directory structure.
- Refactored components like `EngineAdmins`, `EngineRelayer`, `EngineExplorer`, etc., to use relative imports from the new structure.
- Adjusted CSS imports for `swagger-ui.css` and other styles.
- Updated story files for `RecentEngineAlerts` and `ManageEngineAlerts` to reflect new paths.
- Modified `EngineSystemMetrics` component imports for better organization.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-340
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `CreateAPIKey` functionality by introducing prefill options for the API key creation process, improving the user interface for creating API keys, and adding a modal for better user experience.
### Detailed summary
- Added `CreateAPIKeyPrefillOptions` type.
- Introduced `DesktopAPIKeyWordingWithPrefill` story.
- Updated `CreateAPIKeyDialogProps` to include `prefill`.
- Modified `CreateAPIKeyDialogUI` to accept and use `prefill`.
- Enhanced `CreateAPIKeyForm` to utilize prefill values.
- Integrated `LazyCreateAPIKeyDialog` in the `EmbedSetup` component.
- Updated button behavior to show modal for creating API keys.
- Improved user prompts for signing in when no active account is detected.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the validation and input handling for the minting amount in the `MintSupplyTab` component. It ensures that the amount is coerced to a number type and specifies the input type for better user experience.
### Detailed summary
- Changed `amount` validation from `z.number()` to `z.coerce.number()` to ensure the input is coerced to a number.
- Updated the `Input` component to include `type="number"` for the amount field, enhancing user input handling.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a new `ModuleCard` component and its associated storybook entries, enhancing the UI for displaying module information in a dashboard. It also refactors the `InstalledModulesTable` to utilize the new `ModuleCard` component for better modularity and readability.
### Detailed summary
- Added `ModuleCard` component in `module-card.tsx`.
- Created storybook entries for `ModuleCard` in `module-card.stories.tsx`.
- Refactored `InstalledModulesTable` to render `ModuleCard` instead of a table.
- Removed unused skeleton and row components from `InstalledModulesTable`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<img width="1106" alt="Screenshot 2024-10-25 at 4 02 59 PM" src="https://github.com/user-attachments/assets/8b559170-2d5e-4810-8a29-55f155448e40">
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the in-app wallets feature by adding tracking capabilities, restructuring components, and improving analytics. It introduces new interfaces, updates existing components, and removes unnecessary elements to streamline functionality and improve user experience.
### Detailed summary
- Added `InAppWalletStats` interface.
- Introduced `TRACKING_CATEGORY` constants for analytics.
- Updated components to utilize new tracking categories.
- Removed `AnalyticsCallout` from layout.
- Replaced `Separator` with `<div className="h-5" />` for spacing.
- Enhanced analytics pages to fetch and display wallet usage data.
- Implemented new routing for in-app wallet analytics.
- Updated `InAppWalletUsersChartCard` for better data visualization.
- Improved the structure of the `Tabs` component for navigation.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating dependencies and modifying the error message presentation in the `errorParser.tsx` file. It upgrades several `@sentry` packages and refines the structure of the error messages displayed to users.
### Detailed summary
- Updated `@sentry/nextjs` from `8.34.0` to `8.35.0`.
- Changed the `PLEASE_REACH_OUT_MESSAGE` structure from using `<Text>` to a `<span>`.
- Updated the class name for the `<Link>` from `font-bold` to `font-semibold`.
- Modified error message rendering in `parseErrorToMessage` to use `<span>` instead of `<Text>`.
- Updated several `@sentry` internal dependencies to version `8.35.0` across `pnpm-lock.yaml`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `ClaimTabERC1155` component by removing the `useTxNotifications` hook and replacing success/error handling with `toast.promise`. This improves user feedback during transaction processes.
### Detailed summary
- Removed the `useTxNotifications` hook and its related success/error callbacks.
- Introduced `toast.promise` for handling promises related to approving ERC20 tokens and claiming NFTs.
- Improved error handling with `console.error` for better debugging.
- Updated success/error messages for user feedback.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing validation for the `minVoteQuorumRequiredPercent` parameter in the `deploy-vote.ts` file and updating corresponding tests to ensure correct functionality.
### Detailed summary
- Added validation for `minVoteQuorumRequiredPercent` in `deploy-vote.ts`.
- Included checks for NaN, range (0-100), and integer-like values.
- Updated tests in `deploy-vote.test.ts` to handle new validation logic.
- Adjusted test descriptions and assertions in `vote.test.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on adding tests for the `split` functionality of a smart contract in the `thirdweb` package, ensuring that the contract behaves as expected when deployed and queried for recipient addresses and their share percentages.
### Detailed summary
- Deleted several test files related to `deploy-split` and recipient functions.
- Introduced a new test suite for the `split` contract in `split.test.ts`.
- Added tests for:
- Deployment of the split contract.
- Retrieving all recipient addresses.
- Retrieving all recipients and their share percentages.
- Retrieving the split percentage for an individual recipient.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on ensuring that a URI is always included in the SIWE payload by modifying the logic in the `generate-login-payload.ts` file and updating the corresponding test.
### Detailed summary
- In `generate-login-payload.ts`, the `uri` field is updated to default to `options.domain` if `options.login?.uri` is not provided.
- In `generate-login-payload.test.ts`, the test case for `uri` is changed to use `"example.com"` instead of `undefined`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-10-25 02:45:35 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on reducing the strictness of the parsing for published event actions in the `@thirdweb-dev/service-utils` package.
### Detailed summary
- Updated the `@thirdweb-dev/service-utils` package to a patch version.
- Modified the parsing logic for published event actions to be less strict, allowing for more flexible handling of events.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on improving the handling of analytics data in the `useUserOpUsageAggregate` function by incorporating chain data and refining the conditional rendering in the `stat.tsx` component.
### Detailed summary
- In `stat.tsx`, changed the conditional rendering to check for `value !== undefined` instead of `value &&`.
- In `useApi.ts`, imported `useAllChainsData` for accessing chain data.
- Added `chainStore` to hold all chains data.
- Modified `userOpStats` type to include `chainId`.
- Implemented a check to skip testnets in aggregated stats based on `chainId`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-10-24 23:05:37 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on downgrading the `@sentry/nextjs` package from version `8.35.0` to `8.34.0` and updating the corresponding dependencies in the `pnpm-lock.yaml` file.
### Detailed summary
- Downgraded `@sentry/nextjs` from `8.35.0` to `8.34.0` in `apps/dashboard/package.json`.
- Updated related dependencies in `pnpm-lock.yaml` to reflect the version change for `@sentry/nextjs` and its internal packages.
- Adjusted versions for several other `@sentry` packages to `8.34.0`.
- Removed unnecessary version specifications in `pnpm-lock.yaml`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the `usageEventSchema` in `packages/service-utils/src/core/usage.ts` by changing the type of the `source` field from an enumeration to a string, allowing for more flexibility in the values that can be assigned to `source`.
### Detailed summary
- Changed the `source` field in `usageEventSchema` from `z.enum` to `z.string()`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving error handling when checking if a contract is deployed. It ensures that if the contract check fails, it will not throw an error but instead return `false`.
### Detailed summary
- Modified `isValidContract` assignment to handle errors gracefully by using `.catch(() => false)` instead of letting the promise reject.
- Ensured that the flow continues to call `notFound()` if the contract is not valid.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
<!-- start pr-codex -->
## PR-Codex overview
This PR introduces an interface `UserOpStatsByChain` and updates the `TotalSponsoredChartCard` component to handle user operation statistics by blockchain. It enhances chart data handling and visualization, allowing for better representation of sponsored gas across different chains.
### Detailed summary
- Added `UserOpStatsByChain` interface in `useApi.ts`.
- Updated `TotalSponsoredChartCard` to use `UserOpStatsByChain[]`.
- Modified chart data structure to accommodate multiple chains.
- Implemented logic to categorize and display "others" in charts.
- Adjusted CSV export to include unique chain data.
- Improved chart rendering with dynamic colors and data keys based on chains.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-10-24 21:02:08 +00:00
2348 changed files with 57842 additions and 71500 deletions
@@ -23,4 +23,17 @@ Some env vars can be overridden that are required for some external services to
To define env vars please create a `.env` file based on the `.env.example` template at the root level of the project. This file is ignored by git so you can safely add it to your local copy of the project.
**Add your thirdweb clientID and secret key to build a basic functioning version of the site.**
**Add your thirdweb clientID and secret key to build a basic functioning version of the site.**
## Code Structure and Style Guide
### Components
- Components should go in a `components` folder next to the app page they are used in.
- If a component is reused in multiple pages, it should go in the lowest level route folder it is used in. For example, if a chart component is used in all analytics subroutes `/analytics/...`, it should go in the `/analytics/components` folder.
- All low-level components such as buttons, inputs, etc. should be shadcn components found in `@/ui`.
- All composed components reused across all page routes are `blocks`, and should also go in the `@/ui` folder.
### Data fetching
- Use RSC wherever possible.
- Write data fetching code in its own function in the same file as the component it is used in, not exported.
- If the same data fetching function is used in multiple components, place it in a file in an `api` folder at the lowest level possible (just like components). If you need to do this you probable aren't organizing your components properly.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.