Skip to content

Commit 26f519d

Browse files
committed
Merge branch 'main' into scott-removeVacationDelegateBeta
2 parents 73d0dd8 + c0268a8 commit 26f519d

23 files changed

Lines changed: 190 additions & 161 deletions

File tree

Mobile-Expensify

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ android {
114114
minSdkVersion rootProject.ext.minSdkVersion
115115
targetSdkVersion rootProject.ext.targetSdkVersion
116116
multiDexEnabled rootProject.ext.multiDexEnabled
117-
versionCode 1009020002
118-
versionName "9.2.0-2"
117+
versionCode 1009020003
118+
versionName "9.2.0-3"
119119
// Supported language variants must be declared here to avoid from being removed during the compilation.
120120
// This also helps us to not include unnecessary language variants in the APK.
121121
resConfigs "en", "es"

ios/NewExpensify/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
</dict>
4545
</array>
4646
<key>CFBundleVersion</key>
47-
<string>9.2.0.2</string>
47+
<string>9.2.0.3</string>
4848
<key>FullStory</key>
4949
<dict>
5050
<key>OrgId</key>

ios/NotificationServiceExtension/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<key>CFBundleShortVersionString</key>
1414
<string>9.2.0</string>
1515
<key>CFBundleVersion</key>
16-
<string>9.2.0.2</string>
16+
<string>9.2.0.3</string>
1717
<key>NSExtension</key>
1818
<dict>
1919
<key>NSExtensionPointIdentifier</key>

ios/ShareViewController/Info.plist

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<key>CFBundleShortVersionString</key>
1414
<string>9.2.0</string>
1515
<key>CFBundleVersion</key>
16-
<string>9.2.0.2</string>
16+
<string>9.2.0.3</string>
1717
<key>NSExtension</key>
1818
<dict>
1919
<key>NSExtensionAttributes</key>

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "new.expensify",
3-
"version": "9.2.0-2",
3+
"version": "9.2.0-3",
44
"author": "Expensify, Inc.",
55
"homepage": "https://new.expensify.com",
66
"description": "New Expensify is the next generation of Expensify: a reimagination of payments based atop a foundation of chat.",

patches/react-native-reanimated/details.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,9 @@
2222
- E/App issue: https://github.com/Expensify/App/pull/63623
2323
- PR Introducing Patch: 🛑
2424

25+
### [react-native-reanimated+3.19.1+004+reduce-motion-animation-callbacks.patch](react-native-reanimated+3.19.1+004+reduce-motion-animation-callbacks.patch)
26+
27+
- Reason: The layout animation callbacks were not called when Reduce Motion accessibility setting was enabled on mobile devices (on native apps). This caused the app to be unresponsive after opening a modal.
28+
- Upstream PR/issue: https://github.com/software-mansion/react-native-reanimated/pull/8142
29+
- E/App issue: https://github.com/Expensify/App/issues/69190
30+
- PR Introducing Patch: https://github.com/Expensify/App/pull/69444
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
diff --git a/node_modules/react-native-reanimated/src/createAnimatedComponent/createAnimatedComponent.tsx b/node_modules/react-native-reanimated/src/createAnimatedComponent/createAnimatedComponent.tsx
2+
index a2f6cf1..93a37f5 100644
3+
--- a/node_modules/react-native-reanimated/src/createAnimatedComponent/createAnimatedComponent.tsx
4+
+++ b/node_modules/react-native-reanimated/src/createAnimatedComponent/createAnimatedComponent.tsx
5+
@@ -503,13 +503,6 @@ export function createAnimatedComponent(
6+
return;
7+
}
8+
9+
- if (this._isReducedMotion(currentConfig)) {
10+
- if (!previousConfig) {
11+
- return;
12+
- }
13+
- currentConfig = undefined;
14+
- }
15+
-
16+
updateLayoutAnimations(
17+
isFabric() && type === LayoutAnimationType.ENTERING
18+
? this.reanimatedID
19+
@@ -608,14 +601,6 @@ export function createAnimatedComponent(
20+
},
21+
});
22+
23+
- _isReducedMotion(config?: LayoutAnimationOrBuilder): boolean {
24+
- return config &&
25+
- 'getReduceMotion' in config &&
26+
- typeof config.getReduceMotion === 'function'
27+
- ? getReduceMotionFromConfig(config.getReduceMotion())
28+
- : getReduceMotionFromConfig();
29+
- }
30+
-
31+
// This is a component lifecycle method from React, therefore we are not calling it directly.
32+
// It is called before the component gets rerendered. This way we can access components' position before it changed
33+
// and later on, in componentDidUpdate, calculate translation for layout transition.

src/components/Modal/ReanimatedModal/Backdrop/index.web.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, {useMemo} from 'react';
22
import {View} from 'react-native';
3-
import Animated, {Keyframe} from 'react-native-reanimated';
3+
import Animated, {Keyframe, ReduceMotion} from 'react-native-reanimated';
44
import type {BackdropProps} from '@components/Modal/ReanimatedModal/types';
55
import {getModalInAnimation, getModalOutAnimation} from '@components/Modal/ReanimatedModal/utils';
66
import {PressableWithoutFeedback} from '@components/Pressable';
@@ -26,15 +26,15 @@ function Backdrop({
2626
return;
2727
}
2828
const FadeIn = new Keyframe(getModalInAnimation('fadeIn'));
29-
return FadeIn.duration(animationInTiming);
29+
return FadeIn.duration(animationInTiming).reduceMotion(ReduceMotion.Never);
3030
}, [animationInTiming, backdropOpacity]);
3131

3232
const Exiting = useMemo(() => {
3333
if (!backdropOpacity) {
3434
return;
3535
}
3636
const FadeOut = new Keyframe(getModalOutAnimation('fadeOut'));
37-
return FadeOut.duration(animationOutTiming);
37+
return FadeOut.duration(animationOutTiming).reduceMotion(ReduceMotion.Never);
3838
}, [animationOutTiming, backdropOpacity]);
3939

4040
const backdropStyle = useMemo(

0 commit comments

Comments
 (0)