Skip to content

test: disables the FoxLoader on E2E#30451

Merged
christopherferreira9 merged 2 commits into
mainfrom
cferreira/remove-fox-loader-e2e
May 20, 2026
Merged

test: disables the FoxLoader on E2E#30451
christopherferreira9 merged 2 commits into
mainfrom
cferreira/remove-fox-loader-e2e

Conversation

@christopherferreira9

@christopherferreira9 christopherferreira9 commented May 20, 2026

Copy link
Copy Markdown
Contributor

Description

This PR disables the FoxLoader on E2E context. This animation has been causing extra timers on E2E runs.

Changelog

CHANGELOG entry:

Related issues

Fixes: -

Manual testing steps

N/A

Screenshots/Recordings

Before

After

Pre-merge author checklist

Performance checks (if applicable)

  • I've tested on Android
    • Ideally on a mid-range device; emulator is acceptable
  • I've tested with a power user scenario
    • Use these power-user SRPs to import wallets with many accounts and tokens
  • I've instrumented key operations with Sentry traces for production performance metrics

For performance guidelines and tooling, see the Performance Guide.

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.

Note

Low Risk
Low risk: change is gated behind the isE2E environment flag and mainly affects startup splash behavior during automated tests.

Overview
Disables the FoxLoader animation in E2E builds. When isE2E is true, FoxLoader now renders null, immediately calls hideAsync(), marks the session animation as complete, and triggers onAnimationComplete to avoid extra timers during E2E runs.

Updates FoxLoader tests to mock isE2E, assert the component renders nothing in E2E, and verify the completion callback and splash hide are invoked.

Reviewed by Cursor Bugbot for commit 372a8a9. Bugbot is set up for automated code reviews on this repo. Configure here.

@christopherferreira9 christopherferreira9 added team-qa QA team no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed labels May 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@github-actions github-actions Bot added pr-not-ready-for-e2e Skip E2E and block merging. Remove this label once the PR is ready to run the E2E tests. size-S labels May 20, 2026
@christopherferreira9 christopherferreira9 removed the pr-not-ready-for-e2e Skip E2E and block merging. Remove this label once the PR is ready to run the E2E tests. label May 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔍 Smart E2E Test Selection

  • Selected E2E tags: SmokeAccounts, SmokeConfirmations, SmokeWalletPlatform, SmokeBrowser, SmokeNetworkAbstractions
  • Selected Performance tags: @PerformanceLaunch, @PerformanceLogin
  • Risk Level: medium
  • AI Confidence: 82%
click to see 🤖 AI reasoning details

E2E Test Selection:
The FoxLoader changes introduce an E2E-specific code path (FoxLoaderE2E) that bypasses the Rive animation and immediately calls onAnimationComplete when isE2E is true. This is a critical change for E2E test infrastructure because:

  1. FoxLoader is used in app startup: It's imported by App.tsx, ControllersGate.tsx, and LockScreen/index.tsx - all critical to app initialization and navigation.
  2. All E2E tests go through app startup: The FoxLoader animation previously could cause timing issues in E2E tests. This change makes it skip the animation entirely in E2E mode.
  3. The change is production-safe: Guarded by isE2E flag, so production behavior is unchanged.
  4. Risk: If the onAnimationComplete callback isn't called correctly in E2E mode, tests that depend on the app being fully loaded could fail or hang.

Selected tags cover the most critical user flows that depend on app startup completing correctly:

  • SmokeAccounts: Account management flows that start from app launch
  • SmokeConfirmations: Transaction flows that require full app initialization
  • SmokeWalletPlatform: Core wallet platform tests including app lifecycle
  • SmokeBrowser: Browser tests that go through full app startup
  • SmokeNetworkAbstractions: Network management tests requiring full initialization

These tags represent a broad cross-section of tests that will validate the FoxLoader E2E path works correctly across different app flows. Not selecting all tags since the change is production-safe and only affects E2E test execution behavior.

Performance Test Selection:
The FoxLoader is part of the app launch and login flow (used in App.tsx, ControllersGate.tsx, and LockScreen). In E2E mode the animation is skipped, but performance tests run in a production-like environment where the full animation plays. The change doesn't affect production code paths, so performance test results should be unaffected. However, running @PerformanceLaunch and @PerformanceLogin is prudent to confirm the FoxLoader changes don't inadvertently affect the production startup timing or introduce any regressions in the animation completion callback chain.

View GitHub Actions results

@sonarqubecloud

Copy link
Copy Markdown

@christopherferreira9 christopherferreira9 added this pull request to the merge queue May 20, 2026
Merged via the queue into main with commit 2b873b9 May 20, 2026
205 of 228 checks passed
@christopherferreira9 christopherferreira9 deleted the cferreira/remove-fox-loader-e2e branch May 20, 2026 17:50
@github-actions github-actions Bot locked and limited conversation to collaborators May 20, 2026
@metamaskbotv2 metamaskbotv2 Bot added the release-7.79.0 Issue or pull request that will be included in release 7.79.0 label May 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

no-changelog no-changelog Indicates no external facing user changes, therefore no changelog documentation needed release-7.79.0 Issue or pull request that will be included in release 7.79.0 size-S team-qa QA team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants