Conversation
There was a problem hiding this comment.
Claude Code Review
Claude Code Review is paused for this repository. To reconnect it, an admin of this repository's GitHub organization (or the account owner, for personal repositories) who can also manage your Claude organization's Code Review settings needs to re-link GitHub in Code Review settings. This is a one-time step.
Tip: disable this comment in your organization's Code Review settings.
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Debug iOS builds read the EdgeTestAnimations user default (the -EdgeTestAnimations launch argument). off turns UIKit animations off and fast runs the window's Core Animation clock 100x. Either value also mounts Reanimated's ReducedMotionConfig with ReduceMotion.Always, so withRepeat loops (Shimmer, ShimmerCard, SwipeChart) stop after one cycle, and freezes UIActivityIndicatorView spinners in place, so screenshots settle between automated steps. RN core Animated is only used for finite fades here, so it needs no change. Release builds and Android ignore the switch.
b509576 to
3a142cd
Compare
peachbits
left a comment
There was a problem hiding this comment.
Looks good. One non-blocking suggestion:
In dev builds, ReducedMotionConfig logs Reduced motion setting is overwritten with mode 'always'. through console.warn on mount. Unless LOGBOX_DISABLE is set, that shows a LogBox warning toast at the bottom of the screen on every test-mode launch, over the tab bar, which works against letting screenshots settle. Consider adding the message to the LogBox.ignoreLogs list in src/app.ts so test runs don't depend on LOGBOX_DISABLE being set.
|
Not changed in this PR. The |
Description
Asana task
Adds a test-mode animation switch for automated iOS UI runs. Debug iOS builds read the
EdgeTestAnimationsuser default, which the-EdgeTestAnimations off|fastlaunch argument sets:off: UIKit animations are disabled (UIView.setAnimationsEnabled(false)).fast: the window's Core Animation clock runs at 100x.ReducedMotionConfigwithReduceMotion.Always, sowithRepeatloops (Shimmer, ShimmerCard, SwipeChart) stop after one cycle.UIActivityIndicatorViewspinners in place (a one-timestartAnimatingswizzle that sets the indicator layer's speed to 0), so a loading screen stays visible but stops changing.Together these let screenshot comparisons settle between automated steps. The app has no Lottie and no
Animated.loop.Release builds and Android ignore the switch, and a normal debug launch (no argument) is unchanged. RN core
Animatedis only used for finite fades, so it needs no change.The XCUITest flow interpreter in the edge-dev-agents PR passes
-EdgeTestAnimations offby default and--animations onclears it.CHANGELOG
Does this branch warrant an entry to the CHANGELOG?
Dependencies
none
Requirements
If you have made any visual changes to the GUI. Make sure you have:
No visual change in normal builds. Tested on an iOS simulator debug build (base 2efa138):
-EdgeTestAnimations off; all 12 harness library flows pass.waitForAnimationToEndsettled in 0.16s with the switch off and ran to its 5s timeout with animations on. The attached frame shows the frozen spinner still on screen.verify-repo(eslint, jest) passes.Test evidence
b509576Add test-mode animation switch for UI tests
2026-10-01
11. frozen spinner animations off