[pull] main from MetaMask:main#333
Merged
Merged
Conversation
) <!-- 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** Follow #21616 and use additionalNetworksBlacklist feature flag to hide Monad until ready <!-- 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: null ## **Related issues** Fixes: #22723 ## **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** - [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** - [x] I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed). - [x] 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] > SwapSupportedNetworksSection now excludes blacklisted networks via feature flag and tests cover blacklist behavior. > > - **Rewards UI (OverviewTab → WaysToEarn → `SwapSupportedNetworksSection`)**: > - Integrates `selectAdditionalNetworksBlacklistFeatureFlag` and filters `SWAP_SUPPORTED_CHAIN_IDS` to exclude blacklisted networks. > - Updates memoization deps to include the blacklist; existing Linea boost logic remains. > - **Tests (`SwapSupportedNetworksSection.test.tsx`)**: > - Mocks blacklist selector and defaults to empty list. > - Adds tests verifying exclusion of Linea when blacklisted and no effect for unknown chain IDs. > - Adjusts `useSelector` mocks accordingly across cases. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 14ee73d. 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** Implement the updated design for the Swaps keyboard on Mobile by introducing quick-pick buttons atop the keyboard. <!-- 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: introduce quick pick options in swap keypad ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/SWAPS-3335 ## **Manual testing steps** ```gherkin - Quick actions should render only on swaps not bridges. - Quick actions should render 25/50/75/Max options on blockchains that support gassless swaps and respective tokens. - Quick actions should render 25/50/75/90 options on blockchains that do not support gassless swaps and bridges. ``` ## **Screenshots/Recordings** <!-- If applicable, add screenshots and/or recordings to visualize the before and after of your change. --> ### **Before** <!-- [screenshots/recordings] --> ### **After** #### Native coin that do not support gassless swaps <img width="575" height="899" alt="Screenshot 2025-11-10 at 3 16 32 PM" src="https://github.com/user-attachments/assets/7d62a476-577e-4cb0-a3af-ea3a7f07d1ed" /> #### Native coin that supports gassless swaps <img width="575" height="899" alt="Screenshot 2025-11-10 at 3 19 08 PM" src="https://github.com/user-attachments/assets/e20d9ef4-61e3-4423-bdac-722254166287" /> #### Tokens (support gassless swaps) <img width="575" height="899" alt="Screenshot 2025-11-10 at 3 17 45 PM" src="https://github.com/user-attachments/assets/a2ccbe6f-c2a0-41b1-bcfd-65e633031825" /> <!-- [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] > Introduces a new SwapsKeypad with 25/50/75 and Max (or 90% for native without gasless) quick-pick buttons, integrates it into BridgeView, adds a token address hook, and updates tests/styles. > > - **Bridge UI**: > - **SwapsKeypad**: Replaces `Keypad` in `BridgeView` with `SwapsKeypad` showing quick-pick buttons (`25%`, `50%`, `75%`, `Max` or `90%` for native without gasless) and centralizes `onMaxPress` handling. > - **QuickPickButtons**: New component with styles for quick-pick actions. > - **Token address handling**: Add `useTokenAddress` hook and use it in `SwapsKeypad` and `TokenInputArea` to normalize Polygon native token address. > - **Max button logic**: Show/hide `Max` in `TokenInputArea` based on native/gasless; add `testID` `token-input-area-max-button`. > - **Styles**: Remove old keypad styles from `BridgeView.styles` and add styles for `SwapsKeypad`/quick-pick buttons. > - **Tests**: > - Add comprehensive tests for `SwapsKeypad` and `QuickPickButtons`. > - Update `BridgeView` tests/snapshots to use `testID`s and verify quick-pick/Max behaviors. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit d4f164a. 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** Removes `useRegisterPushNotificationsEffect` and related unused code, including: - `hasInitialNotification` from `app/util/notifications/methods/common.ts` - `getInitialNotification` and `onBackgroundEvent` from `app/util/notifications/services/NotificationService.ts` - `useRegisterPushNotificationsEffect.ts` and its test file - The usage of `useRegisterPushNotificationsEffect` in `useNotificationHandler` <!-- 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: null ## **Related issues** Fixes: https://consensyssoftware.atlassian.net/browse/ASSETS-1552 ## **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** - [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] > Removes useRegisterPushNotificationsEffect and initial/background notification handlers/utilities, updating hooks, tests, and NotificationService accordingly. > > - **Notifications hooks**: > - Remove `useRegisterPushNotificationsEffect` and its test file. > - Stop invoking it in `hooks/index.ts`; only call `useStartupNotificationsEffect`. > - Update `hooks/index.test.tsx` to assert only `useStartupNotificationsEffect` is invoked. > - **NotificationService (`services/NotificationService.ts`)**: > - Remove `getInitialNotification` and `onBackgroundEvent` wrappers and related imports/types. > - Keep `onForegroundEvent`, badge count helpers, and display flow intact. > - **Methods (`methods/common.ts`)**: > - Remove `notifee` import and `hasInitialNotification` helper. > - Retain `withTimeout` and other utilities unchanged. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 7b1c858. 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**
improve carousel trending design
<!--
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: improve carousel trending design
## **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**
https://github.com/user-attachments/assets/7564e1bf-80a7-4678-9e0f-667704935f79
<!-- [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]
> Refines the Predictions carousel with an `isCarousel` layout across
components, redesigns `SectionCarrousel` sizing/pagination behavior, and
expands tests.
>
> - **Predict UI**:
> - Add `isCarousel` prop to `PredictMarket`, `PredictMarketSingle`,
`PredictMarketMultiple`, and `PredictMarketSkeleton`; pass via
`SECTIONS_CONFIG.predictions`.
> - Carousel-specific styles: adjusted container height/padding/margins,
image sizes, text variants/line heights, tighter gaps, truncated labels,
smaller button sizes and fixed widths.
> - **Trending Carousel**:
> - Refactor `SectionCarrousel` with stylesheet-driven layout (fixed
card height, peek widths, snap interval, content padding) and bounded
`activeIndex`.
> - Split FlashList rendering for loading vs data; styled pagination
dots with pressable navigation.
> - **Tests**:
> - Expand `SectionCarrousel` tests: rendering, loading state,
pagination dots/interaction, empty and single-item cases; mock
`FlashList` and navigation.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
843bec8. 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**
<!--
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: None - dependency bump
## **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]
> Bumps `@metamask/core-backend` to 4.1.0 and removes custom WebSocket
timeout/reconnect options from service init, updating tests to match.
>
> - **Core backend integration**:
> - Update `@metamask/core-backend` to `^4.1.0` (and lockfile), with
`@metamask/controller-utils` peer bump.
> - **Backend WebSocket service**:
> - In
`app/core/Engine/controllers/core-backend/backend-websocket-service-init.ts`,
remove explicit `timeout`, `reconnectDelay`, `maxReconnectDelay`, and
`requestTimeout` config; rely on defaults.
> - Keep `url`, `traceFn`, and `isEnabled` feature-flag gating
unchanged.
> - Update test `backend-websocket-service-init.test.ts` to assert only
`url` and initialization logs.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
479f482. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
…ices (#22701) ## **Description** This PR improves navigation performance in the Perps feature to provide a smoother, more responsive experience on lower-end Android devices. **Problem:** Navigation between Perps screens can feel sluggish on lower-end devices, particularly when: - Tapping market cards to view market details - Opening order screens via Long/Short buttons - Transitions lack visual feedback and feel unresponsive **Solution:** Implemented two targeted optimizations: 1. **Navigation Animations** - Enable smooth screen transitions with proper animation timing to provide visual feedback during navigation 2. **Memoize Market Lookups** - Pre-compute market data lookups in PerpsCard (200-300 items) to eliminate blocking array searches during user interactions **Impact:** - Smoother navigation transitions with visual feedback - Eliminated blocking array searches during user taps (200-300 item lookups) - Improved perceived performance on lower-end devices ## **Changelog** CHANGELOG entry: Improved Perps navigation performance for smoother screen transitions on lower-end devices ## **Related issues** Fixes: [Internal investigation - no public issue] ## **Manual testing steps** ```gherkin Feature: Perps Navigation Performance Scenario: user navigates from home to market details Given user is on Perps home screen with market cards visible When user taps on any market card (e.g., BTC-USD) Then screen transition should feel smooth and immediate And market details view should appear without noticeable delay Scenario: user opens order screen from market details Given user is viewing market details for any asset When user taps the "Long" or "Short" button Then order screen should appear with smooth animation And screen should load without noticeable delay Scenario: user navigates between multiple markets quickly Given user is on Perps home screen When user taps multiple different market cards in quick succession Then each navigation should feel responsive And there should be no UI freezing between taps Scenario: user tests on lower-end Android device Given user has a mid-to-low-end Android device (e.g., 4GB RAM) When user performs all navigation flows in Perps Then navigation should feel snappy with smooth animations And tapping market cards should respond immediately without lag ``` ## **Screenshots/Recordings** ### **Before** <!-- Add before recordings when testing on device --> ### **After** <!-- Add after recordings when testing on device --> ## **Technical Details** ### Navigation Animations **File:** `app/components/UI/Perps/routes/index.tsx` - Enable navigation animations for smooth screen transitions - Provides visual feedback during navigation ### Memoized Market Lookups **File:** `app/components/UI/Perps/components/PerpsCard/PerpsCard.tsx` - Added `useMemo` to pre-compute market lookups: ```typescript const market = useMemo( () => markets.find((m) => m.symbol === symbol), [markets, symbol], ); ``` - Eliminates blocking array search during user taps (markets array typically contains 200-300 items) ## **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 (performance improvements - visual testing required) - [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. ## **Testing Notes for Reviewers** **Focus Areas:** 1. Test on lower-end Android device (4GB RAM or less) if possible 2. Pay attention to navigation "feel" - should be immediate and smooth with animated transitions 3. Test rapid tapping of market cards - should remain responsive 4. No regression in functionality - all data should still load correctly **What to look for:** - ✅ Smooth animated transitions between screens - ✅ Instant response when tapping market cards or Long/Short buttons - ✅ No lag when tapping cards in quick succession - ❌ No frozen transitions or unresponsive UI - ❌ No missing data or broken functionality <!-- CURSOR_SUMMARY --> --- > [!NOTE] > Defers non-critical PerpsOrderView data subscriptions until after first render, memoizes PerpsCard market lookup, enables default screen animations, and updates tests to await deferred data. > > - **PerpsOrderView (`PerpsOrderView.tsx`)**: > - *Deferred data loading*: Introduces `isDataReady` (via `requestAnimationFrame`) to delay `usePerpsMarketData`, `usePerpsLivePrices`, and `usePerpsTopOfBook` subscriptions until after initial render; updates `usePerpsMeasurement` conditions accordingly. > - Minor refactors: computed styles memoization unchanged behavior; validation/messages and handlers unchanged but aligned with deferred data. > - **PerpsCard (`PerpsCard.tsx`)**: > - *Performance*: Adds `useMemo` for market lookup and simplifies `handlePress` deps to use memoized `market`. > - **Navigation (`routes/index.tsx`)**: > - Removes `animationEnabled: false` to allow default transitions. > - **Tests (`PerpsOrderView.test.tsx`)**: > - Mocks `usePerpsLivePrices`; switches to async assertions (`findByText`) for values shown after deferred readiness. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit faffdca. 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 : )