[pull] main from MetaMask:main#442
Merged
Merged
Conversation
…r Android and iOS (#23977) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> - Enable Smoke and Flask tests to be run according to Smart E2E selection decisions - Only run tests chosen by E2E if confidence is at 80% or greater - Updated prompt to consider changes that would warrant FlaskBuildTests *Tests* #23976 <img width="562" height="199" alt="Screenshot 2025-12-12 at 15 56 56" src="https://github.com/user-attachments/assets/a7878367-87c2-48b4-91ff-905f9f9d1075" /> ## **Changelog** <!-- If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either: 1. Write `CHANGELOG entry: null` 2. Label with `no-changelog` If this PR is End-User-Facing, please write a short User-Facing description in the past tense like: `CHANGELOG entry: Added a new tab for users to see their NFTs` `CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker` (This helps the Release Engineer do their job more quickly and accurately) --> CHANGELOG entry: ## **Related issues** Fixes: ## **Manual testing steps** ```gherkin Feature: my feature name Scenario: user [verb for user action] Given [describe expected initial app state] When user [verb for user action] Then [describe expected outcome] ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Introduces AI-driven, tag-based E2E execution across CI with selective builds and runs. > > - **CI gating:** `ci.yml` now depends on `smart-e2e-selection`; Android/iOS build jobs skip when AI confidence ≥ 80 and `ai_e2e_test_tags == '[]'`; smoke test jobs receive `selected_tags` and only run targeted suites; reporting steps skip when no tags selected. > - **Android/iOS smoke workflows:** Added `selected_tags` input and per-suite `if` guards using `contains(fromJson(inputs.selected_tags), ...)`; reporting jobs gated to avoid empty runs. > - **Flask Android E2E:** New tag-aware gating in `run-e2e-smoke-tests-android-flask.yml` so repack, run, and report only when `ALL` or `FlaskBuildTests` is selected. > - **Tag definitions:** Added `flaskTags` and moved `FlaskBuildTests` under it; updated helpers to export/use it. > - **AI selector config/prompt:** Selector now merges `smokeTags` + `flaskTags` for options; prompt explicitly explains when to select `FlaskBuildTests`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 9f3e917. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->
## **Description**
Bump solana to 2.6.1 to fix Token2022 send
<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->
## **Changelog**
<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`
If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`
(This helps the Release Engineer do their job more quickly and
accurately)
-->
CHANGELOG entry: fix(solana): token 2022 send
## **Related issues**
Fixes:
## **Manual testing steps**
```gherkin
Feature: my feature name
Scenario: user [verb for user action]
Given [describe expected initial app state]
When user [verb for user action]
Then [describe expected outcome]
```
## **Screenshots/Recordings**
<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->
### **Before**
<!-- [screenshots/recordings] -->
### **After**
<!-- [screenshots/recordings] -->
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Updates dependency to pull in Solana fixes.
>
> - Bumps `@metamask/solana-wallet-snap` from `^2.5.1` to `^2.6.1` in
`package.json` and `yarn.lock`
> - No application code changes; addresses Token2022 send issue per
upstream release
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
b36185c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!--
Please submit this PR as a draft initially.
Do not mark it as "Ready for review" until the template has been
completely filled out, and PR status checks have passed at least once.
-->
## **Description**
Setup CLAUDE on the repo: Before `CLAUDE.md` was ignored. This file
should be committed and hold the memory for future project prompts.
Remember `CLAUDE.md` is project based (so for everyone to use).
Added support for `CLAUDE.local.md`: This file shouldn't be committed
and it will hold your own claude memory for future props.
Added the following commands for Cursor and Claude Code:
* `/setup-project`: In order to make it easier for new developers to run
thought project setup.
* `/setup-ios-simulator-mcp`: This will install the necessary tools for
the agent to control the iOS simulator (Android will come)
* `/setup-jira-mcp`: This will install the Atlassian mcp server in order
for the agent to have access to your jira tasks
Example of `CLAUDE.local.md`:
```
## Claude developer
### Onboarding details
Seed: `xxx`
Password: `xxx`
```
<!--
Write a short description of the changes included in this pull request,
also include relevant motivation and context. Have in mind the following
questions:
1. What is the reason for the change?
2. What is the improvement/solution?
-->
## **Changelog**
<!--
If this PR is not End-User-Facing and should not show up in the
CHANGELOG, you can choose to either:
1. Write `CHANGELOG entry: null`
2. Label with `no-changelog`
If this PR is End-User-Facing, please write a short User-Facing
description in the past tense like:
`CHANGELOG entry: Added a new tab for users to see their NFTs`
`CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker`
(This helps the Release Engineer do their job more quickly and
accurately)
-->
CHANGELOG entry: feat: ai workflow with jira and simulator setup
## **Related issues**
Fixes:
## **Manual testing steps**
```gherkin
Feature: my feature name
Scenario: user [verb for user action]
Given [describe expected initial app state]
When user [verb for user action]
Then [describe expected outcome]
```
## **Screenshots/Recordings**
<!-- If applicable, add screenshots and/or recordings to visualize the
before and after of your change. -->
### **Before**
<!-- [screenshots/recordings] -->
### **After**
<!-- [screenshots/recordings] -->
## **Pre-merge author checklist**
- [ ] I’ve followed [MetaMask Contributor
Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile
Coding
Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md).
- [ ] I've completed the PR template to the best of my ability
- [ ] I’ve included tests if applicable
- [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format
if applicable
- [ ] I’ve applied the right labels on the PR (see [labeling
guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)).
Not required for external contributors.
## **Pre-merge reviewer checklist**
- [ ] I've manually tested the PR (e.g. pull and build branch, run the
app, test code being changed).
- [ ] I confirm that this PR addresses all acceptance criteria described
in the ticket it closes and includes the necessary testing evidence such
as recordings and or screenshots.
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Enhances AI agent workflow with setup docs and configuration tweaks.
>
> - **Adds MCP setup commands**: `setup-ios-simulator-mcp.md` and
`setup-jira-mcp.md` under `.claude/commands/` with platform-specific
instructions, auth/verification steps, and troubleshooting
> - **Introduces `AGENTS.md`**: guidance for AI coding agents (overview,
essential yarn commands, architecture, guidelines, workflows, docs
references)
> - **Updates `.gitignore`**: stop ignoring `CLAUDE.md`; add ignore for
`*.local.md`; retain temp artifacts
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
3615856. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Fix trending search not getting market data <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> ## **Changelog** <!-- If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either: 1. Write `CHANGELOG entry: null` 2. Label with `no-changelog` If this PR is End-User-Facing, please write a short User-Facing description in the past tense like: `CHANGELOG entry: Added a new tab for users to see their NFTs` `CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker` (This helps the Release Engineer do their job more quickly and accurately) --> CHANGELOG entry: fix trending search not getting market data ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-2229 ## **Manual testing steps** ```gherkin Feature: my feature name Scenario: user [verb for user action] Given [describe expected initial app state] When user [verb for user action] Then [describe expected outcome] ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [ ] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [ ] I've completed the PR template to the best of my ability - [ ] I’ve included tests if applicable - [ ] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [ ] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Ensures trending-related searches return market data. > > - Adds optional `includeMarketData` to `useSearchRequest` and forwards it to `searchTokens` > - Updates `useTrendingSearch` to call `useSearchRequest` with `includeMarketData: true` > - Includes `includeMarketData` in `useSearchRequest` effect dependencies > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit ce328cd. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> Co-authored-by: sahar-fehri <sahar.fehri@consensys.net>
## **Description** Allows users who've reached the appropriate tier to claim the metal card reward. ## **Changelog** CHANGELOG entry: allow metal card rewards claim when season 1 ends ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/RWDS-911 <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Enables claiming the end-of-season Metal Card reward and improves end-of-season reward UX. > > - Add `MetalCardClaimBottomSheet` modal with email validation, optional Telegram handle, metrics, error banner, and success toast; register route `REWARDS_METAL_CARD_CLAIM_BOTTOM_SHEET` in navigators > - Update `PreviousSeasonUnlockedRewards` to show Metal Card rewards as claimable and navigate to the new sheet; simplify messaging by removing store/version prompts > - Enhance `RewardItem` with end-of-season logic: claim expiry (`claimEndDate`), time-left display, claimed/expired labels, disabled states, claim button variant/size tweaks, onPress override, and claim URL interpolation; block actions when locked/claimed/expired > - Extend rewards types and utils: add `SeasonRewardType.METAL_CARD`, `claimEndDate` on season rewards, `validateEmail`, new i18n strings > - Add/adjust tests for the new modal, previous season list, reward item behavior, and format utils > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 6cab01c. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
…4243) <!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** <!-- Write a short description of the changes included in this pull request, also include relevant motivation and context. Have in mind the following questions: 1. What is the reason for the change? 2. What is the improvement/solution? --> This PR adds: - BOB network and native token logos. - [Related Jira ticket](https://consensyssoftware.atlassian.net/browse/BENE-365?atlOrigin=eyJpIjoiOTQzMmRkYmMxN2VjNDQ4Mzg4ZDdiYjhmM2FmMGQ0YWEiLCJwIjoiaiJ9) - Rootstock network and native token logos. - [Related Jira ticket](https://consensyssoftware.atlassian.net/browse/BENE-352?atlOrigin=eyJpIjoiMjcxOTcxOTdjNjI3NGIzMDg4MDIwZmZjMTJjMTYxODQiLCJwIjoiaiJ9) ## **Changelog** <!-- If this PR is not End-User-Facing and should not show up in the CHANGELOG, you can choose to either: 1. Write `CHANGELOG entry: null` 2. Label with `no-changelog` If this PR is End-User-Facing, please write a short User-Facing description in the past tense like: `CHANGELOG entry: Added a new tab for users to see their NFTs` `CHANGELOG entry: Fixed a bug that was causing some NFTs to flicker` (This helps the Release Engineer do their job more quickly and accurately) --> CHANGELOG entry: Add BOB network and native token logos. CHANGELOG entry: Add Rootstock network and native token logos. ## **Related issues** Fixes: ## **Manual testing steps** BOB 1. Open mobile app 2. Using "Search", go to https://chainlist.org/?search=bob 3. Click on `Add to MetaMask` Button of BOB (ChainID 60808) 4. After accepting, It should add the network to your MetaMask 5. The network icon should show correctly 6. Ethereum should show up as native token with a logo Rootstock 1. Open mobile app 2. Using "Search", go to https://chainlist.org/?search=rootstock 3. Click on `Add to MetaMask` Button of Rootstock (ChainID 30) 4. After accepting, It should add the network to your MetaMask 5. The network icon should show correctly 6. RBTC should show up as native token with a logo ## **Screenshots/Recordings** BOB <img width="411" height="878" alt="BOB-Mobile ChainList" src="https://github.com/user-attachments/assets/f35e8552-abc4-4225-9b32-11d7e884a0f2" /> <img width="411" height="878" alt="BOB-Mobile Chain" src="https://github.com/user-attachments/assets/5e0b0c31-fa9c-4201-8d86-f0819e929fcc" /> <br/> <br/> Rootstock <img width="411" height="878" alt="Rootstock-Mobile ChainList" src="https://github.com/user-attachments/assets/9fddfb75-5f77-49c9-bb6e-458454e6ba00" /> <img width="418" height="868" alt="Rootstock-Mobile Mainnet" src="https://github.com/user-attachments/assets/77c1a89d-a670-43ae-815e-7895ca4d3b42" /> Rootstock Testnet <img width="407" height="875" alt="Screenshot from 2026-01-09 08-56-33" src="https://github.com/user-attachments/assets/e6d7b402-3628-4a45-80ab-8436ba1b465d" /> ## **Pre-merge author checklist** - [X] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [X] I've completed the PR template to the best of my ability - [X] I’ve included tests if applicable - [X] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [X] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Adds support for BOB and Rootstock visuals across networks and tokens. > > - Import `bob.png` and `rootstock-native.png` in `image-icons.js`; expose `BOB`, `RBTC`, and `tRBTC` token icon keys > - Extend `NETWORK_CHAIN_ID` with `BOB (0xed88)`, `ROOTSTOCK (0x1e)`, and `ROOTSTOCK_TESTNET (0x1f)` > - Map these chain IDs to images in `CustomNetworkImgMapping` (`bob.png`, `rootstock.png`) > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 5335f0c. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY --> --------- Signed-off-by: gabrieledm <gabriele.delmonte@proton.me>
<!-- Please submit this PR as a draft initially. Do not mark it as "Ready for review" until the template has been completely filled out, and PR status checks have passed at least once. --> ## **Description** Withdrawal indicators in Perps could get stuck in "pending" or "bridging" state indefinitely, even after the withdrawal had successfully completed on-chain. This created a poor user experience where users saw stale pending indicators that never resolved. **Solution** Enhanced the 1useWithdrawalRequests1 hook to automatically reconcile pending withdrawal states with completed withdrawals from the HyperLiquid API: 1. Auto-reconciliation: When a completed withdrawal from the API matches a pending one in controller state, the controller is automatically updated to reflect the completion 2. Active polling: Polls the HyperLiquid ledger API every 10 seconds when there are active (pending/bridging) withdrawals to detect completions promptly 3. Relaxed flexible matching: Matches withdrawals by amount (±$0.01 tolerance) and asset type; removed timestamp constraint since bridging operations can sometimes take hours 4. Deduplication tracking: Uses a ref to track which withdrawals have already been updated, preventing duplicate updateWithdrawalStatus calls Account isolation: Filters withdrawals by the current selected account to prevent showing stale indicators from other accounts ## **Changelog** CHANGELOG entry: Fixed an issue where Perps withdrawal indicators could remain stuck in "pending" state after the withdrawal completed ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/TAT-2128 ## **Manual testing steps** ```gherkin Feature: Perps Withdrawal Status Resolution Scenario: Pending withdrawal resolves to completed Given user has an active Perps account with USDC balance And user initiates a withdrawal from Perps When the withdrawal completes on HyperLiquid (wait up to 10 seconds for poll) Then the withdrawal status updates from "pending" or "bridging" to "completed" And the withdrawal displays the transaction hash Scenario: Pending indicators clear on account switch Given user has a pending withdrawal on Account A And user switches to Account B which has no withdrawals When the withdrawal list renders Then no pending withdrawal indicators are shown for Account B Scenario: Completed withdrawals persist after app restart Given user had a withdrawal complete while the app was closed When user opens the app and navigates to Perps withdrawals Then the withdrawal shows as "completed" (fetched from HyperLiquid API) And no stale "pending" indicator is displayed ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** <!-- [screenshots/recordings] --> ## **Pre-merge author checklist** - [x] I’ve followed [MetaMask Contributor Docs](https://github.com/MetaMask/contributor-docs) and [MetaMask Mobile Coding Standards](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/CODING_GUIDELINES.md). - [x] I've completed the PR template to the best of my ability - [x] I’ve included tests if applicable - [x] I’ve documented my code using [JSDoc](https://jsdoc.app/) format if applicable - [x] I’ve applied the right labels on the PR (see [labeling guidelines](https://github.com/MetaMask/metamask-mobile/blob/main/.github/guidelines/LABELING_GUIDELINES.md)). Not required for external contributors. ## **Pre-merge reviewer checklist** - [ ] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [ ] I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots. <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Resolves stuck pending/bridging withdrawal indicators by reconciling controller state with HyperLiquid ledger completions. > > - Reworks `useWithdrawalRequests` to merge pending with completed withdrawals, matching by `amount` (±0.01) and `asset` and removing timestamp constraints; requires `txHash` for completed matches > - Moves side-effectful controller updates into `useEffect` and adds `updatedWithdrawalIdsRef` to prevent duplicate `updateWithdrawalStatus` calls > - Adds polling every 10s when active withdrawals exist; maintains sorting by timestamp (newest first) and filters by selected account > - Updates tests to cover long-bridge timestamp gaps, small amount tolerances, txHash requirement, polling behavior, and error handling > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 836ad08. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )