fix(activity): cp-8.5.0 fix bottomsheet positioning when activity is a tab - #33794
Conversation
Present Type, Perps, and Network filter bottom sheets above the tab bar when Activity is shown as a tab.
🧪 Flaky unit test detectionRun history flaky detectionHistorical failure rate is a hint, not proof — review each suggestion in context. See the flaky-test-detection skill for the full pattern reference and manual audit workflow. Failures / runs sampled per window:
AI-detected flaky patterns
|
Keep the activity component-view renderer as .ts with createElement so the .ts→.tsx rename no longer inflates the PR line count past the 1000 limit.
Bring back the stackTree JSX RootModalFlow host and ignore max-lines for this PR.
Host filter sheets with createElement stackTree so we do not rename to .tsx.
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection: Performance Test Selection: |
|
weitingsun
left a comment
There was a problem hiding this comment.
mobile-platform codeowner navigation files LGTM
⚡ Performance Test Results
❌ 5 tests failed · 20 tests · 1 device 📱 Devices tested (1)Android: Google Pixel 8 Pro (v14.0) ❌ Failed Tests (5)@metamask-mobile-platform
@team-predict
@metamask-onboarding-team
@mm-perps-engineering-team
✅ Passed Tests (15)
Branch: |



Description
Fix the bottomsheet positioning when activity is a tab (TMCU-1185).
With Activity redesign enabled and Money account off, Activity is presented as a tab. Filter bottom sheets (Type, Perps, Network) previously rendered under the tab bar because
BottomSheetuses absolute fill within the tab screen. This change hosts those sheets on the app-level root modal flow so they cover the tab bar in both Money-account-on (stack) and Money-account-off (tab) presentations.Changelog
CHANGELOG entry: Fixed Activity filter bottom sheets rendering under the tab bar when Activity is shown as a tab
Related issues
Fixes: https://consensyssoftware.atlassian.net/browse/TMCU-1185
Manual testing steps
Screenshots/Recordings
Before
After
after.mov
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
Low Risk
UI/navigation-only change to Activity filters with no auth or transaction logic changes; risk is limited to filter selection and modal dismiss behavior regressions.
Overview
Activity Type, Perps, and Network filter UIs no longer render as inline bottom sheets on
ActivityScreen. Chip taps nownavigateWithDetailsintoROOT_MODAL_FLOWwith new sheet routes (ACTIVITY_TYPE_FILTER,ACTIVITY_PERPS_FILTER,ACTIVITY_NETWORK_FILTER) registered inApp.tsx, so filters cover the tab bar when Activity is a tab.Filter sheets read selection via
useParamsand write back throughonSelect/onNetworkSelectcallbacks in route params (OptionsSheet pattern).FilterOptionSheetgains optionalgoBack,onOpen, andisInteractableto pop the modal route and avoid instant dismiss when the modal flow usesanimation: 'none'. Network filtering moves offTrendingTokenNetworkBottomSheetinto a dedicatedActivityNetworkFilterSheet.Navigation types and
TransactionsViewParamsare extended (initialPerpsFilter); component tests and the activity view test renderer mirror the modal stack setup.Reviewed by Cursor Bugbot for commit c7f343c. Bugbot is set up for automated code reviews on this repo. Configure here.