Skip to content

Conversation

@paullinator
Copy link
Member

@paullinator paullinator commented Dec 5, 2025

CHANGELOG

Does this branch warrant an entry to the CHANGELOG?

  • Yes
  • No

Dependencies

none

Requirements

If you have made any visual changes to the GUI. Make sure you have:

  • Tested on iOS device
  • Tested on Android device
  • Tested on small-screen device (iPod Touch)
  • Tested on large-screen device (tablet)

Note

Replaces Fade with EdgeAnim across the app, removes list-item enter animations for performance, refactors EdgeAnim, updates types/tests, and adjusts ESLint config.

  • UI/Animations:
    • Replace themed/Fade with common/EdgeAnim in ConfirmContinueModal, EdgeLoginScene, MigrateWalletSelectCryptoScene, SweepPrivateKeySelectCryptoScene.
    • Delete themed/Fade.tsx and hooks/animations/useFadeAnimation.ts.
    • Refactor common/EdgeAnim.tsx: export component directly, add explicit types, adjust disable logic.
    • Remove per-item enter animations from TransactionListScene and themed/WalletListSwipeable.
  • Scenes/Types:
    • Add React.FC annotations, stricter catch (unknown) handling, and minor guards.
  • Config/Tests:
    • Tweak eslint.config.mjs file lists to drop removed/relocated entries.
    • Update EdgeLoginScene snapshot to match new animation/layout.

Written by Cursor Bugbot for commit 4c94596. This will update automatically on new commits. Configure here.


</Fade>
<EdgeAnim
style={styles.bottomButton}
enter={{ type: 'fadeIn', delay: 300 }}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Wrong animation property causes delayed button appearance

The EdgeAnim component uses delay: 300 but the original Fade component used duration={300}. These have different semantics: delay waits before starting the animation while duration controls how long the animation takes. This causes the Next button to wait 300ms before starting to fade in, then animate for the default 300ms, taking 600ms total instead of the original 300ms. The equivalent scene SweepPrivateKeySelectCryptoScene correctly uses duration: 300.

Fix in Cursor Fix in Web

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds valid

These anims are barely visible and incur heavy cost in an additional view per row.
@paullinator paullinator force-pushed the paul/optimizeAnims branch 2 times, most recently from 702e6ec to 7d36ca4 Compare December 9, 2025 22:01
@paullinator
Copy link
Member Author

/rebase

Use EdgeAnim instead
We lose noFadeIn prop but the animation looks fine without it.
Useless to memoize since EdgeAnim always takes children which means it's props always change.
@paullinator paullinator disabled auto-merge December 9, 2025 22:16
@paullinator paullinator merged commit f2955cf into develop Dec 9, 2025
1 of 2 checks passed
@paullinator paullinator deleted the paul/optimizeAnims branch December 9, 2025 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants