<!-- start pr-codex -->
## PR-Codex overview
This PR enhances the `SendTransactionButton` component in `Chats.tsx` by introducing improved transaction handling and validation through the addition of a blockchain `chain` context and the `sendTransaction` method.
### Detailed summary
- Added import for `sendTransaction` from `thirdweb`.
- Introduced `chain` variable using `useV5DashboardChain`.
- Updated transaction validation to check for both `txData` and `chain`.
- Refactored transaction sending logic to use `sendTransaction` with detailed parameters.
> ✨ 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 `TypeDoc` workflow for generating documentation and updates the `parse.mjs` script to process documentation data. It also modifies the `package.json` to include the `typedoc-better-json` dependency and adjusts the `pnpm-lock.yaml` accordingly.
### Detailed summary
- Added `TypeDoc` GitHub Actions workflow in `.github/workflows/typedoc.yml`.
- Created a new `parse.mjs` script in `packages/thirdweb/scripts` for transforming documentation data.
- Updated `package.json` to include `typedoc-better-json` as a dependency.
- Adjusted `pnpm-lock.yaml` to reflect changes in dependencies and versions.
> ✨ 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 GitHub workflows for pull requests by adding conditions for author associations and expanding issue types.
### Detailed summary
- In `.github/workflows/auto-assign.yml`, added checks to assign authors only if they are `MEMBER`, `OWNER`, or `COLLABORATOR`.
- In `.github/workflows/issue.yml`, expanded the `types` to include `ready_for_review`.
- Added logic to automatically pass checks for external contributors.
> ✨ 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 `Wallet` navigation link and implements a new `Wallet` page with components for displaying wallet icons and names, enhancing the user interface for crypto wallet applications.
### Detailed summary
- Added a new navigation link for `Wallet`.
- Created `page.tsx` for the `Wallet` section with metadata and layout.
- Implemented `APIHeader` for the `Wallet` page.
- Added three components: `WalletIconBasic`, `WalletNameBasic`, and `WalletNameFormat` in `wallet-examples.tsx`.
- Each component includes a description and code example for usage.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2620
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new headless components for wallet management in the `thirdweb` library, enhancing user interface options for wallet context, icons, and names.
### Detailed summary
- Added `WalletProvider`, `WalletIcon`, and `WalletName` components.
- Updated `ChainProvider` to mark it as `@beta`.
- Introduced utility functions `getQueryKeys` for both chain and wallet components.
- Updated documentation and tests for new wallet components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
DASH-624
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `CodeBlockContainer` and related components to support an `onCopy` callback, allowing for custom actions when code is copied. It also introduces tracking for user interactions within the `BlueprintPlayground` component.
### Detailed summary
- Added `onCopy` prop to `CodeBlockContainer`, `RenderCode`, `PlainTextCodeBlock`, and `CodeClient`.
- Updated button click handler in `CodeBlockContainer` to call `onCopy` and pass the copied code.
- Integrated `useTrack` for tracking user events in `BlueprintPlayground`.
- Added tracking for "run", "copy-url", and "copy-response" actions in relevant components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
## Problem solved
DASH-615
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on enhancing the context filter functionality within the application by introducing support for `walletAddresses`, updating related types, and modifying components to accommodate these changes.
### Detailed summary
- Added `walletAddresses` to various types and API parameters.
- Updated `SessionContextFilter` to include `wallet_addresses`.
- Modified `ChatPageContent` to handle and display `walletAddresses`.
- Enhanced `ContextFiltersButton` to show wallet address badges.
- Updated form handling to include validation for `walletAddresses`.
> ✨ 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 new `Chain` components to enhance the user interface for blockchain applications, allowing for the display of chain icons and names. It includes new pages and components that integrate these features into the existing playground web application.
### Detailed summary
- Added a new `Chain` entry in `navLinks.ts`.
- Created a new page in `page.tsx` for `Chain` components with metadata.
- Integrated `ThirdwebProvider`, `APIHeader`, `ChainIconBasic`, and `ChainNameBasic` components.
- Implemented `ChainIconBasic` and `ChainNameBasic` components in `chain-examples.tsx` to showcase chain icons and names.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
PROT-935
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the handling of `implementationConstructorParams` and `initializeParams` by adding null checks to ensure that they are defined before processing. This improves the robustness of the code.
### Detailed summary
- Changed `processedImplParams` and `processedInitializeParams` from constants to `undefined` initially.
- Added checks to confirm that `implementationConstructorParams` and `initializeParams` are defined before processing.
- Retained the logic for processing parameters using `processRefDeployments`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-621
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the authorization process by introducing an `authMethod` property and allowing `null` service scopes, while modifying billing statuses and service configuration types.
### Detailed summary
- Added `authMethod` to `teamAndProjectResponse`.
- Allowed passing `null` to `serviceScope` in `CoreServiceConfig`.
- Changed `billingStatus` from `"noCustomer"` to `"noPayment"`.
- Updated `TeamAndProjectResponse` to include `authMethod` type.
- Adjusted authorization logic for `secretKey` and null service scopes.
> ✨ 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 `authorizeNode` function by improving type handling for request headers and refactoring how headers are accessed. It introduces a type guard for distinguishing between header types and updates the way headers are retrieved in various functions.
### Detailed summary
- Updated `req` type in `AuthInput` to allow `Request`.
- Added `isNodeHeaders` function to differentiate between `IncomingHttpHeaders` and `Headers`.
- Refactored `getHeader` function to use `isNodeHeaders` for retrieving headers.
- Modified `extractAuthorizationData` to use `getHeader` for constructing the URL.
- Updated `logHttpRequest` to use `getHeader` for SDK-related headers.
> ✨ 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 `Token` navigation link, updates documentation links, and adds a new SVG file. It also implements a `Token` components page with multiple examples and components for displaying tokens, enhancing the UI for token-related functionalities.
### Detailed summary
- Added a new navigation link for `Token` in `navLinks.ts`.
- Updated documentation links in `page.tsx` for better references.
- Introduced a new SVG file for `usdc`.
- Created a new `Token` components page with examples for:
- `TokenImageBasic`
- `TokenImageOverride`
- `TokenNameBasic`
- `TokenSymbolBasic`
- `TokenCard`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-12-13 02:43:35 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
CNCT-2640
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the `service-utils` package to remove the `usageLimit` module, update types and endpoints to version 2, and enhance authorization logic by integrating team and project responses.
### Detailed summary
- Deleted `usageLimit` module files.
- Updated API endpoint and types to version 2.
- Modified `authorizeClient` and `authorizeService` functions to use `TeamAndProjectResponse`.
- Adjusted authorization tests to reflect new structure.
- Revised caching logic for keys.
- Enhanced rate limiting to use project IDs instead of account IDs.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-554
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on the removal of certain components related to `BlueprintsPage`, updates to the `useHeightObserver` function, and enhancements to the `BlueprintPlayground` functionality, including new utility functions for fetching blueprint data.
### Detailed summary
- Deleted components: `BlueprintsPage`, `BlueprintsExplorer`, `BlueprintsPageHeader`.
- Updated `useHeightObserver` to be an exported function.
- Changed height from `40px` to `32px` in CSS.
- Added new props (`scrollableContainerClassName`, `shadowColor`) to several components.
- Implemented a new utility for fetching blueprints and their specifications.
- Enhanced `BlueprintPlayground` to handle fetching and displaying 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 updates the link in the `page.mdx` file for the wallet overview section, directing users to the correct "get started" guide for thirdweb wallets.
### Detailed summary
- Changed the `href` attribute from `/wallet/get-started/overview` to `/connect/wallet/get-started` in the `page.mdx` 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 updates a link in the documentation for the `Wallet Connection functions`. The link's path has been changed, likely to reflect an updated structure in the documentation.
### Detailed summary
- Changed the link from `/typescript/v5/functions#wallets` to `/typescript/v5/wallets` in the `page.mdx` file.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2497/unlink-auth-method-for-enclave-wallets
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces functionality to unlink accounts from the in-app wallet, allowing users to manage multiple linked profiles more effectively.
### Detailed summary
- Added `UnlinkParams` type for unlinking profiles.
- Implemented `unlinkProfile` method in `InAppNativeConnector` and `InAppWebConnector`.
- Updated `unlinkAccount` function to handle profile unlinking.
- Added `useUnlinkProfile` hook for React.
- Enhanced `LinkedProfilesScreen` to include unlink buttons when multiple profiles exist.
- Added tests for unlinking functionality.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-613
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the usage of the `newChatPageUrlStore` by introducing a custom hook, `useNewChatPageLink`, to manage the chat page URL more effectively across different components.
### Detailed summary
- Added `useNewChatPageLink` hook in `useNewChatPageLink.ts` to retrieve the chat page URL.
- Updated imports of `useNewChatPageLink` in `NebulaMobileNav.tsx`, `ChatSidebarLink.tsx`, and `ChatSidebar.tsx`.
- Removed duplicate `useNewChatPageLink` function from `ChatSidebar.tsx`.
- Set `newChatPageUrlStore` value directly in `ChatPageContent.tsx` based on the current page type.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-614
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving error handling in the `setMessages` function within the `ChatPageContent` component. It modifies how error messages are added to the message list, ensuring that the previous messages are preserved correctly.
### Detailed summary
- Refactored `setMessages` to create a new array `newMessages` based on previous messages.
- Added a condition to exclude the last message if its type is "presence".
- Pushed a new error message object containing the error details to `newMessages`.
- Returned `newMessages` from `setMessages`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-607
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on modifying the `explore` functionality by removing the export of `ALL_CATEGORIES` from `data/explore` and adjusting the import statements in `page.tsx`.
### Detailed summary
- Removed the export of `ALL_CATEGORIES` from `apps/dashboard/src/data/explore.ts`.
- Updated `apps/dashboard/src/app/(dashboard)/explore/[category]/page.tsx` to only import `getCategory` from `data/explore`, excluding `ALL_CATEGORIES`.
- Deleted the `generateStaticParams` function that utilized `ALL_CATEGORIES`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-604, DASH-582
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the functionality and UI of the `ChatBar`, modifying the `PublishedContractTable`, and disabling the invite button in the `InviteSection`.
### Detailed summary
- In `ChatBar.tsx`, added a condition to ignore the `Enter` key if the `Shift` key is pressed.
- In `PublishedContractTable.tsx`, changed the `span` to have a maximum width and normal whitespace handling.
- In `InviteSection.tsx`, set `inviteEnabled` to `false` and disabled the invite button.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-602
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the routing paths in the `framer-rewrites.js` file for the dashboard application, specifically modifying the community and grants sections.
### Detailed summary
- Removed the route `"/community/ambassadors/startup-program"`.
- Added the route `"/community/startup-program"`.
- No other changes were made to the routing paths for community pages or grants.
> ✨ 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 utility function `getLastAuthProvider` to retrieve the most recently used authentication provider from local storage. It also exports the `LAST_AUTH_PROVIDER_STORAGE_KEY` for consistent access.
### Detailed summary
- Added `getLastAuthProvider` function in `packages/thirdweb/src/react/web/utils/storage.ts`.
- Exported `LAST_AUTH_PROVIDER_STORAGE_KEY` from `packages/thirdweb/src/react/core/utils/storage.ts`.
- Created tests for `getLastAuthProvider` in `packages/thirdweb/src/react/web/utils/storage.test.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-580
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on improving the UI layout and styling of the `nebula-waitlist-page-ui.client.tsx` and `TeamProjectsPage.tsx` components within the dashboard application. It enhances spacing and text presentation for a better user experience.
### Detailed summary
- Increased gap in `nebula-waitlist-page-ui.client.tsx` from `gap-3` to `gap-6`.
- Adjusted paragraph width in `nebula-waitlist-page-ui.client.tsx` for better text alignment.
- Reduced height of a div from `h-10` to `h-6` in `nebula-waitlist-page-ui.client.tsx`.
- Increased padding in project card from `p-4` to `p-5` in `TeamProjectsPage.tsx`.
- Changed the class of `CopyButton` from `hover:bg-background` to `hover:bg-secondary` in `TeamProjectsPage.tsx`.
- Adjusted text presentation and layout for project details in `TeamProjectsPage.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 addresses caching issues in headless components and enhances code coverage. It introduces the `getFunctionId` utility in various components to improve resolver handling for names and symbols.
### Detailed summary
- Added `getFunctionId` to various components for handling resolvers.
- Updated `NFTName`, `NFTDescription`, and `NFTMedia` to use `getFunctionId` instead of `toString()`.
- Enhanced `ChainIcon`, `TokenIcon`, `ChainName`, and `TokenName` to include resolver handling.
- Introduced `fetchChainName` and `fetchTokenName` for improved name resolution.
- Added tests for `fetchChainName`, `fetchTokenName`, `fetchTokenSymbol`, and their respective query keys.
- Updated `TokenSymbol` to utilize `fetchTokenSymbol` and improved resolver handling.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
PROT-932
PROT-864
## Problem solved
https://linear.app/thirdweb/project/[contract-tooling]-deployment-publish-flow-revamp-0194e04e2a84/overview
Handle contract refs in publish form -- Resolve / deploy all linked contracts in publish metadata, and pass the addresses as constructor args for corresponding params.
It recursively deploys all referenced contracts through the ref chain, before deploying the main contract.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the contract deployment and parameter handling in the thirdweb platform, introducing dynamic parameters, improved UI components, and better error handling for contract interactions.
### Detailed summary
- Updated `deploy-with-abi.ts` to return the contract address instead of throwing an error if already deployed.
- Enhanced UI components in `string-input.tsx` and `raw-input.tsx` for better user experience.
- Added dynamic parameter handling in multiple components.
- Introduced new types for dynamic parameters in `deploy-metadata.ts`.
- Improved form handling in `FormFieldSetup` and related components.
- Added reference contract input fields in various components for dynamic contract deployments.
- Enhanced error handling and validation in the deployment forms.
- Updated component structure for better maintainability and clarity.
> The following files were skipped due to too many changes: `apps/dashboard/src/components/contract-components/contract-publish-form/contract-params-fieldset.tsx`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-592, DASH-591, DASH-589, DASH-590
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on removing several components and pages related to open-source and community initiatives, while updating redirects and modifying navigation links to reflect a shift towards "Bounties" and other new paths.
### Detailed summary
- Deleted multiple files related to open-source and community initiatives.
- Added a redirect from `/open-source` to `/bounties`.
- Updated navigation data to replace "Open Source" with "Bounties".
- Removed references to "grant/superchain" and community pages from `PageId`.
- Removed the `LandingImages` component and its associated interface.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-12-11 18:04:46 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
https://linear.app/thirdweb/issue/INSIGHT-480/improvements-required-for-insight-playground
Updated the authentication method in the Insight API documentation to use the `x-client-id` header instead of embedding the client ID in the URL path.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates the GitHub workflow and documentation related to the `insight` feature. It enhances the valid issue prefixes and provides clearer instructions for authentication in the API usage.
### Detailed summary
- Updated `VALID_ISSUE_PREFIXES` to include `INSIGHT`.
- Improved documentation in `apps/portal/src/app/insight/get-started/page.mdx`:
- Corrected "clientId" to "client ID".
- Added a note about using the `x-client-id` header for authentication.
- Modified the API fetch request to include headers for `client 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 updating various components in the `thirdweb` package, specifically related to `Account`, `NFT`, `Chain`, and `Token` functionalities. It introduces new imports and ensures that the components are utilizing the necessary contexts and types.
### Detailed summary
- In `Account/provider.tsx`: Added import for `Address`.
- In `NFT/provider.tsx`: Added import for `ThirdwebContract`.
- In `Account/blobbie.tsx`: Imported `Blobbie` and `useAccountContext`.
- In `Chain/icon.tsx`, `Token/icon.tsx`, `NFT/name.tsx`, and `NFT/media.tsx`: Imported `UseQueryOptions`, `useQuery`, and `getChainMetadata`.
> ✨ 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 detection of ecosystem wallets in the `Pay` modal by modifying the logic in the `hasSponsoredTransactionsEnabled` function and adding comprehensive tests for various wallet configurations.
### Detailed summary
- Updated the condition in `hasSponsoredTransactionsEnabled` to check for ecosystem wallets.
- Added tests for `hasSponsoredTransactionsEnabled` covering:
- Undefined wallet
- Smart wallet with `sponsorGas` config
- Smart wallet with `gasless` config
- In-app wallet with `smartAccount` config
- Regular wallet without smart account config
> ✨ 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
Linear: Dash-573
Added to chains for custom chainlist pages
- Metal L2 (1750)
- Creator Chain (66665)
- Treasure Topaz (978658)
Enabled white space preserving for new lines on chain 'About' section.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces new assets and updates `chainMetaRecord` to enhance the dashboard with additional blockchain information, including two new chains: `Creator` and `Metal L2`, along with their respective metadata and call-to-action details.
### Detailed summary
- Added new images: `creatorBanner`, `creatorCTA`, `metalBanner`, `metalCTA`.
- Updated `layout.tsx` to use `whitespace-pre-line` for `chainMetadata.about`.
- Introduced `Creator` chain metadata with details and CTA.
- Introduced `Metal L2` chain metadata with details and CTA.
- Added `Treasure Topaz` and `Treasure Mainnet` chain metadata with details and CTA.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-444
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on adding new features and enhancements to the `Nebula` application, including updates to environment variables, improved session handling, and new UI components.
### Detailed summary
- Added `fetch-event-stream` dependency.
- Introduced `NEXT_PUBLIC_NEBULA_URL` in environment variables.
- Enhanced `loginRedirect` to handle optional paths.
- Updated `getValidAccount` to accept optional `pagePath`.
- Implemented new stores for session management.
- Improved UI components like `Chatbar`, `ChatPageLayout`, and `EmptyStateChatPageContent`.
- Added `isValidEncodedRedirectPath` function for redirect validation.
- Modified `NebulaWaitListPage` to directly use team data.
- Enhanced session handling functions in `api/session.ts`.
- Created new types for session management and context filters.
- Updated styles and class names for better UI consistency.
> The following files were skipped due to too many changes: `apps/dashboard/src/app/nebula-app/(app)/components/EmptyStateChatPageContent.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/Chats.stories.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/NebulaAccountButton.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ContextFilters.tsx`, `apps/dashboard/src/app/nebula-app/(app)/chat/history/ChatHistoryPage.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/Chats.tsx`, `apps/dashboard/src/app/nebula-app/(app)/components/ChatPageContent.tsx`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2588
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the `playground-web` application by adding new components and improving existing ones related to NFT and account functionalities, showcasing headless UI components for better Web3 integration.
### Detailed summary
- Added `ArticleCardIndex` in `page.tsx`.
- Introduced new navigation link for "Headless UI".
- Expanded `Account` and `NFT` components with detailed examples.
- Improved `useQuery` parameters in `avatar.tsx` and `name.tsx`.
- Created several new components in `nft-examples.tsx` and `account-examples.tsx` for displaying NFT and account information.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-545
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating various package dependencies across multiple `package.json` files and the `pnpm-lock.yaml` file, ensuring compatibility with newer versions and fixing potential issues.
### Detailed summary
- Updated `@types/react` and `@types/react-dom` to `19.0.1` and `19.0.2` respectively in multiple packages.
- Bumped `shiki` version from `1.24.0` to `1.24.1` in several packages.
- Updated `sonner` from `1.7.0` to `1.7.1` in `apps/wallet-ui` and `apps/dashboard`.
- Incremented `@emotion/react` and `@emotion/styled` versions to `11.14.0`.
- Updated `framer-motion` from `11.13.1` to `11.13.3`.
- Updated `@playwright/test` from `1.49.0` to `1.49.1`.
- Updated `@dirtycajunrice/klee` from `1.0.5` to `1.0.6` in `apps/portal`.
- Adjusted dependencies in `pnpm-lock.yaml` to reflect the above changes.
> 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-12-10 05:15:25 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
<!-- start pr-codex -->
## PR-Codex overview
This PR focuses on improving the display of linked profiles in the `LinkedProfilesScreen` component by correctly handling the "Custom Auth" profile type and enhancing unit tests for various profile types.
### Detailed summary
- Updated the label for the "Custom Auth" profile type to "Custom Profile".
- Added unit tests for various profile types including email, google, phone, wallet address, cognito, custom_auth_endpoint, and unknown types.
- Ensured guest profiles are not displayed.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2602/issue-signing-deploy-tx-on-saakura
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on ensuring that gas price information is always included for enclave wallets, even when it is 0. It modifies the condition for setting the `maxFeePerGas` to check for the type `bigint`.
### Detailed summary
- Updated the condition to check if `tx.maxFeePerGas` is of type `bigint`.
- Ensured that `transaction.maxFeePerGas` is set correctly when `tx.maxFeePerGas` is provided.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/DASH-574/add-nebula-usage-tracker-events
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces additional properties to the `usageEventSchema` in the `service-utils` package, enhancing the tracking of usage events by including identifiers for the model, session, and request.
### Detailed summary
- Added `modelName`, `sessionId`, and `requestId` as optional string fields to the `usageEventSchema` in `packages/service-utils/src/core/usage.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-1111
## Problem solved
Short description of the bug fixed or feature added
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `thirdweb` package's `package.json` file to fix the version of `ox` to `0.4.0` while retaining other configurations and dependencies.
### Detailed summary
- Updated `ox` version to `0.4.0` in `peerDependencies`.
- Maintained all other existing fields and dependencies in `package.json`.
- No structural changes to the `thirdweb` package configuration.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
DASH-471
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring components related to contracts in the dashboard, enhancing the layout with `SidebarLayout`, and improving the user interface for contract management with better structure and loading states.
### Detailed summary
- Updated `layout.tsx` to use `SidebarLayout` for contracts.
- Simplified return statements in `DeployedContractsPage` components.
- Changed class names for better styling consistency.
- Added authentication checks in published contract pages.
- Created `PublishedContractsPage` to display published contracts with loading states.
> ✨ 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 GitHub Actions workflow for automatically assigning authors to pull requests when they are opened or reopened.
### Detailed summary
- Added a new workflow file: `.github/workflows/auto-assign.yml`
- Defined the workflow name as `Auto Author Assign`
- Set the trigger for the workflow on `pull_request` events for types `opened` and `reopened`
- Specified permissions for pull requests as `write`
- Created a job named `assign-author` that runs on `ubuntu-latest`
- Included a step to use the action `toshimaru/[email protected]`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes: DASH-564 and DASH-494
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the user interface and functionality related to wallet connection across various components in the dashboard, primarily changing instances of "Sign In" to "Connect Wallet" and modifying how account information is handled.
### Detailed summary
- Changed button text from `Sign In` to `Connect Wallet` in multiple components.
- Updated `TeamHeader` to use `getRawAccount` instead of `getAuthToken`.
- Modified account handling in `TeamLayout` functions to include `getValidAccount`.
- Adjusted `LoginPage` logic for account onboarding and redirection.
- Enhanced `TeamHeaderLoggedIn` to accept `account` as a prop directly.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
188 imports
part of DASH-388
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the UI components in the dashboard, specifically introducing a new `StatCard` component for displaying statistics and refactoring existing components to utilize this new design pattern, improving consistency and readability.
### Detailed summary
- Added a new `StatCard` component in `stat-card.tsx`.
- Refactored `SupplyCards` to use `StatCard` for displaying total, claimed, and unclaimed supply.
- Updated `NftProperty` component to replace `Text` with `<p>` tags for consistency.
- Replaced `Text` components with `<p>` tags in `ContractPermission` for improved styling.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2584
- add custom resolver methods
- add better test coverage
- add caching for the getNFT method
- small fix: handling falsy values
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the NFT components in the `thirdweb` library by improving functionality, performance, and test coverage. It introduces custom resolver methods and caching mechanisms, along with fixes for handling falsy values.
### Detailed summary
- Added custom resolver methods to `NFTMedia`, `NFTName`, and `NFTDescription`.
- Implemented caching for the NFT info getter to improve performance.
- Fixed handling of falsy values for NFT media `src`, `name`, and `description`.
- Enhanced test coverage by extracting internal logic for testing.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Set CTA for Engine Playground to "Deploy an Instance"
## Problem solved
Update for [DASH-535](https://linear.app/thirdweb/issue/DASH-535/make-deploy-an-instance-the-primary-cta-in-playground)
Set CTA for Engine Playground to "Deploy an Instance"
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily updates the `deployLink` across multiple pages and modifies the `EngineAPIHeader` component to dynamically include the `deployLink` prop, enhancing the deployment functionality in the playground web application.
### Detailed summary
- Added `deployLink` prop to `page.tsx` files for `webhooks`, `minting`, and `airdrop`.
- Updated `docsLink` for `minting` and `airdrop` pages to point to specific API documentation.
- Modified `EngineAPIHeader` component to utilize the `deployLink` prop for dynamic linking.
- Removed hardcoded `Deploy an Instance` button from `EngineAPIHeader`.
> ✨ 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 TypeScript typings, updating ESLint configurations, and refining package dependencies across various files in the `thirdweb` package.
### Detailed summary
- Changed parameter name from `uri` to `_uri` in `onDisplayUri` callback.
- Updated `WalletCreationOptions` type definition.
- Modified listener type to use `_event`.
- Added ESLint rules for better coding practices.
- Removed outdated TSDoc tags and added `@example` tag.
- Updated package dependencies in `pnpm-lock.yaml`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2494
<!-- start pr-codex -->
---
## PR-Codex overview
This PR enhances the `AccountBalance` and `ConnectButton` components to support displaying balances in fiat currency (currently only USD). It also introduces new utility functions and improves test coverage across various components.
### Detailed summary
- Added `showBalanceInFiat` prop to `AccountBalance` and `ConnectButton`.
- Updated `formatFn` in `AccountBalance` to accept an object of type `AccountBalanceInfo`.
- Introduced `shortenLargeNumber` and `formatNumber` utility functions.
- Improved tests for `ConnectButton`, `AccountBalance`, and related components.
- Enhanced rendering logic for displaying balances in both token and fiat.
> ✨ 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 error handling and connection management for smart wallets within the `thirdweb` package, enhancing user experience by ensuring proper disconnection and validation of address inputs.
### Detailed summary
- Added error handling in `AccountProvider` for missing addresses.
- Implemented disconnection logic for smart wallets in `handleSmartWalletConnection`.
- Updated tests to cover new error scenarios and connection handling.
- Refactored `DetailsModal` to manage modal state based on active accounts.
- Improved test coverage for `DetailsModal` and connection manager functionalities.
> 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
Adding Arena-Z mainnet to OP Superchain grant page.
Linear
DASH-562
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces updates related to the `Arena Z` network within the dashboard application, including configurations and UI adjustments.
### Detailed summary
- Added configuration for `Arena Z Mainnet` with properties `cta`, and `gasSponsored`.
- Included `Arena-Z` in the onboarding form's chain options.
- Updated the `superchain` page with `Arena-Z` details, changing the link to `/arena-z` and setting `isComingSoon` to `false`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2526/analytics-discrepancy-after-migration-to-ecosystem-wallets
This fixes for all queries from Nov onwards.
We have to think of a solution to backfill for data stretching before Nov if customers ask for it
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the handling of ecosystem identifiers in the codebase, changing from using `ecosystemId` to `ecosystemSlug` for better clarity and consistency across various components and functions.
### Detailed summary
- Changed prop from `ecosystemId` to `ecosystemSlug` in `EcosystemAnalyticsPage`.
- Updated `getEcosystemWalletUsage` calls to use `ecosystemSlug` instead of `ecosystemId` in `EcosystemSlugLayout` and `EcosystemAnalyticsPage`.
- Adjusted the parameter type in `EcosystemAnalyticsPage` and `getEcosystemWalletUsage` to reflect the new `ecosystemSlug` usage.
- Modified the fetch URL in `getEcosystemWalletUsage` to use `ecosystemSlug` for API requests.
- Updated error message in `getEcosystemWalletUsage` to specify "ecosystem wallet stats".
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2303
Woah. This is sick.
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `thirdweb` package to enhance transaction serialization by integrating the `ox` library, renaming files, and refactoring code for better consistency in handling typed data and signatures.
### Detailed summary
- Replaced instances of `coinbaseWebSDK.js` with `coinbase-web.js`.
- Updated the `parseTypedData` function to handle hex `chainId`.
- Refactored signature handling in various files to use `ox` library.
- Introduced new types and updated existing ones for better type safety.
- Added tests for `parseTypedData` functionality.
- Adjusted imports across multiple files to reflect new structure.
- Enhanced error handling and validation for typed data signatures.
> The following files were skipped due to too many changes: `packages/thirdweb/src/adapters/ethers5.test.ts`, `packages/thirdweb/src/utils/hashing/hashTypedData.ts`, `packages/thirdweb/src/wallets/coinbase/coinbase-web.test.ts`, `packages/thirdweb/src/transaction/serialize-transaction.ts`, `packages/thirdweb/src/transaction/serialize-transaction.test.ts`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-558, DASH-559
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on the removal of outdated pages and components related to terms of service and privacy policy, while also updating links and redirects to reflect new URLs.
### Detailed summary
- Deleted several files: `tos.tsx`, `mission.tsx`, `privacy.tsx`, and multiple component files.
- Updated links in `footerLinks.tsx` for "Privacy Policy" and "Terms of Service".
- Changed URLs in `LoginPage.tsx` and `connect-wallet/index.tsx` for privacy and terms.
- Added redirects in `redirects.js` for `/tos` to `/terms`, `/privacy` to `/privacy-policy`, and `/mission` to `/home`.
- Removed references to `Mission` and legacy pages in `page-id.ts`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-557
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on refactoring the layout of various components in the application from using `Flex` elements to using `div` elements with Tailwind CSS classes for styling, improving consistency and readability.
### Detailed summary
- Changed `Flex` components to `div` with Tailwind CSS classes in `nft-property.tsx`.
- Updated layout in `external-links-fieldset.tsx` to use `fieldset` and `div`.
- Modified `engine-wallet-config.tsx` to replace `Flex` with `div`.
- Refactored `engine-relayer.tsx` to use `div` instead of `Flex`.
- Updated `ContractTokensPage.tsx` to use `div` for layout.
- Changed `ContractExplorerPage.tsx` layout from `Flex` to `div`.
- Refactored `proposal.tsx` to replace `Flex` with `div`.
- Updated `EngineSystemMetrics.tsx` to use `div` instead of `Flex`.
- Changed layout in `airdrop-tab.tsx` to replace `Flex` with `div`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-556
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on removing files related to RPC validation within the dashboard application, indicating a potential refactor or removal of unnecessary functionality.
### Detailed summary
- Deleted the file `apps/dashboard/src/hooks/chains/useRpcValidation.ts`
- Removed the file `apps/dashboard/src/app/(dashboard)/chain/validate/page.tsx`
- Eliminated the file `apps/dashboard/src/app/(dashboard)/chain/validate/ChainValidation.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. PROT-926
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing documentation for various smart contracts by adding new components and updating existing content. It introduces new `ContractDeployCard` elements to highlight modular contract options and expands the description of certain contracts.
### Detailed summary
- Updated `VALID_ISSUE_PREFIXES` in `.github/workflows/issue.yml` to include `PROT`.
- Added `ContractDeployCard` components in multiple `.mdx` files for:
- `Modular Token`
- `Modular Edition Drop`
- `Modular Open Edition`
- `Modular Token Drop`
- `Modular NFT Collection`
- `Modular NFT Drop`
- `Modular Edition`
- Revised introduction and features sections in `apps/portal/src/app/contracts/page.mdx`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
CNCT-2555
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces the `erc20Value` parameter to the `buyFromListing` transaction, enhancing the functionality for transactions involving ERC20 tokens. It also includes tests to ensure proper handling of ERC20 transactions in the marketplace.
### Detailed summary
- Added `erc20Value` to `buyFromListing` to handle ERC20 transactions.
- Implemented a test case for the new `erc20Value` functionality.
- Deployed an ERC20 contract for testing purposes.
- Verified the correct approval transaction is generated for ERC20 purchases.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: CNCT-2563
<!-- start pr-codex -->
---
## PR-Codex overview
This PR updates various dependencies to ensure compatibility with `react 19`, including explicitly setting peer dependencies and updating package versions across multiple files.
### Detailed summary
- Updated `@types/react` and `@types/react-dom` to `19.0.0`.
- Changed `react` and `react-dom` versions to `19.0.0`.
- Updated `next` versions from `15.0.3` to `15.0.4`.
- Updated `shiki` versions from `1.22.2` to `1.24.0`.
- Updated `@next/eslint-plugin-next` and `@next/mdx` versions to `15.0.4`.
> 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 -->
closes: DASH-547
<!-- start pr-codex -->
---
## PR-Codex overview
This PR primarily focuses on removing unused components and code, updating the handling of publisher profiles, and enhancing the user interface components related to account and publisher display.
### Detailed summary
- Deleted unused files: `MetaIcon.tsx`, `MediumIcon.tsx`, `TelegramIcon.tsx`, `edit-profile.tsx`, `masked-avatar.tsx`, `PublisherSocials.tsx`.
- Updated `retry` option to `false` in several `queryOptions`.
- Refactored publisher profile fetching and display logic.
- Introduced `replaceDeployerAddress` function for address formatting.
- Updated `ProfileUI` to use `ProfileHeader` component.
- Enhanced `ContractPublisher` component with `AccountProvider`.
- Removed console logging and unused variables throughout the code.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
closes: DASH-545
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating various package dependencies in multiple projects and making minor code adjustments for improved functionality and compatibility.
### Detailed summary
- Updated `@cloudflare/workers-types` from `4.20241127.0` to `4.20241205.0`.
- Changed `chainId` handling in `iframe-wallet.ts` to use `Number.parseInt(BigInt(...).toString())`.
- Updated `@tanstack/react-query` from `5.62.1` to `5.62.2` across multiple `package.json` files.
- Updated `lucide-react` from `0.462.0` to `0.468.0` across multiple `package.json` files.
- Updated `tailwindcss` from `3.4.15` to `3.4.16` across multiple `package.json` files.
- Updated `next-themes` from `0.4.3` to `0.4.4` in several projects.
- Updated `knip` from `5.39.0` to `5.39.2` in multiple `package.json` files.
- Updated `abitype` from `1.0.6` to `1.0.7`.
- Updated `framer-motion` from `11.12.0` to `11.13.1`.
- Updated `@coinbase/wallet-sdk` from `4.2.3` to `4.2.4`.
- Updated `viem` from `2.21.53` to `2.21.54`.
- Updated `storybook` dependencies from `8.4.6` to `8.4.7`.
> 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 updates the `CODEOWNERS` file to include a new owner, `@jakubkrehel`, for specific apps. This change reflects the addition of `@jakubkrehel` to the ownership of the `apps/dashboard/`, `apps/playground-web/`, and `apps/wallet-ui/` directories.
### Detailed summary
- Added `@jakubkrehel` as an owner for:
- `apps/dashboard/`
- `apps/playground-web/`
- `apps/wallet-ui/`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
2024-12-05 22:40:23 +00:00
Jonas DanielsGitHubgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Problem solved
- Adding Lisk Mainnet to the available grants
- Adding Arena -Z to the coming soon List

## Linear ticket
DASH-544
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces `Lisk` as a new entry in the onboarding process and modifies the `cta` structure in the `utils.ts` file. It also adds an `ArenaZ` entry to the `superchains` array while removing a previous `Lisk` entry.
### Detailed summary
- Added `Lisk` to the chain mapping in `ApplyForOpCreditsForm.tsx`.
- Commented out the previous `cta` structure in `utils.ts` and replaced it with `OP_CTA`.
- Set `gasSponsored` to `true` in `utils.ts`.
- Added `ArenaZ` to the `superchains` array in `superchain.tsx`.
- Removed the previous `Lisk` entry from the `superchains` array in `superchain.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 focuses on enhancing the user interface for error handling during the sign-in process in the `SignatureScreen` component of the `thirdweb` wallet. It propagates error messages to the UI, improving user feedback when sign-in fails.
### Detailed summary
- Updated `walletId` parameter to accept `Wallet` or `string` in `is-ecosystem-wallet.ts`.
- Changed state management in `SignatureScreen.tsx` to include an `error` state.
- Modified sign-in logic to set error messages on failure.
- Enhanced UI to display error messages and loading state.
- Added `data-testid` attributes for testing.
- Updated tests in `SignatureScreen.test.tsx` to cover new error handling scenarios and UI changes.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes DASH-493
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on enhancing the billing and checkout functionalities within the dashboard application. It introduces new props for redirecting to checkout and billing portals, updates UI components, and replaces the `CustomConnectWallet` with a `ConnectButton`.
### Detailed summary
- Updated `TransactionButton` to streamline className handling.
- Added `redirectToCheckout` prop in various components including `PageContent`, `OnboardingUI`, and `PlanInfoCard`.
- Introduced `RedirectBillingCheckoutAction` type in `billing.ts`.
- Replaced `CustomConnectWallet` with `ConnectButton` in several components.
- Enhanced `BillingPricing` and `PricingCard` components to accept `redirectToCheckout`.
- Added stubs for `redirectToBillingPortal` in story files for testing.
- Improved UI consistency across billing-related components.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2522/unable-to-log-in-to-ecosystem-wallet-and-xai-connect
<!-- start pr-codex -->
---
## PR-Codex overview
This PR introduces a fallback chain option for ecosystem smart accounts in the `thirdweb` wallet, enhancing the configuration options for users.
### Detailed summary
- Added `defaultChainId` to `SmartAccountOptions` type.
- Updated `smartAccountOptions` to use `defaultChainId`.
- Modified error messages to clarify chain requirements.
- Added new form field for `defaultChainId` in the `AuthOptionsForm`.
- Enhanced tests to cover scenarios with `defaultChainId`.
> ✨ 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 `ConnectWalletSocialOptions` component by conditionally rendering the "Sign in with Wallet" button based on the `isLinking` prop, and it adds tests to verify this behavior.
### Detailed summary
- Added condition to hide the "Sign in with Wallet" button when `isLinking` is true in `ConnectWalletSocialOptions.tsx`.
- Created tests for `ConnectWalletSocialOptions` in `ConnectWalletSocialOptions.test.tsx`:
- Tests rendering the button when enabled and not linking.
- Tests that the button is not rendered when `isLinking` is true.
- Tests that clicking the button calls `handleWalletLogin`.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
Fixes#5615
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on removing the `auth` property from the `useConnectModal` options in the `thirdweb` package, as it is currently unsupported.
### Detailed summary
- Removed the `auth` property from `UseConnectModalOptions` in `packages/thirdweb/src/react/web/ui/ConnectWallet/useConnectModal.tsx`.
- Updated documentation to reflect the removal of the `auth` prop.
> ✨ 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 `isERC20` function in the `isERC20.ts` file to retrieve the contract's ABI and extract function selectors before checking if the contract is an ERC20.
### Detailed summary
- Removed direct usage of `isERC20` with a contract.
- Added import of `resolveContractAbi` from `thirdweb/contract`.
- Introduced a new step to resolve the contract's ABI.
- Extracted function selectors from the ABI.
- Updated `isERC20` call to use the extracted selectors.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
fixes: DASH-492
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `metadata` in the `layout.tsx` file and modifying the sitemap configuration in `next-sitemap.config.js` to improve SEO and access control based on the environment.
### Detailed summary
- In `layout.tsx`:
- Added `metadataBase` with URL `https://thirdweb.com`.
- Introduced `alternates` with a `canonical` path set to `"./"`.
- In `next-sitemap.config.js`:
- Updated access rules:
- Allowed access if `VERCEL_ENV` is `"production"`.
- Disallowed access to all if not in production, except for specific paths (`/team` and `/team/*`).
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
https://linear.app/thirdweb/issue/CNCT-2523/remapping-of-siwe-wallet-type-in-typescript-sdk
<!-- start pr-codex -->
---
## PR-Codex overview
This PR focuses on updating the `getUser` function in the `Profiles` to align with TypeScript types and enhancing its test coverage.
### Detailed summary
- Updated the `type` in `getUser` to correctly classify profile types as either "wallet" or their original type.
- Added unit tests to handle various scenarios: missing secret key, missing query parameters, and handling fetch errors.
- Verified correct API URL calls for different query parameters (email, phone, id, externalWalletAddress).
- Included tests for fetching user profiles and handling cases where no user is found.
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
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 -->
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.