Skip to content

Commit 084e3a7

Browse files
committed
Merge remote-tracking branch 'upstream/main' into 856520-fix-duplicate-disabled-tax-rate
2 parents f184f84 + e3f9358 commit 084e3a7

321 files changed

Lines changed: 5893 additions & 11084 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/publishReactNativeAndroidArtifacts.yml

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ jobs:
126126
name: Build and Publish React Native Artifacts
127127
runs-on: ${{ github.repository_owner == 'Expensify' && 'blacksmith-16vcpu-ubuntu-2404' || 'blacksmith-2vcpu-ubuntu-2404' }}
128128
needs: verifyPatches
129-
if: needs.verifyPatches.outputs.build_targets != ''
129+
if: needs.verifyPatches.outputs.build_targets != ''
130130
strategy:
131131
# Disable fail-fast to prevent cancelling both jobs when only one needs to be stopped due to concurrency limits
132132
fail-fast: false
@@ -160,7 +160,7 @@ jobs:
160160

161161
- name: Setup Gradle
162162
uses: gradle/actions/setup-gradle@06832c7b30a0129d7fb559bcc6e43d26f6374244
163-
163+
164164
- name: Determine new patched RN version
165165
id: getNewPatchedVersion
166166
run: echo "NEW_PATCHED_VERSION=$(./.github/scripts/getNewPatchedRNVersion.sh)" >> "$GITHUB_OUTPUT"
@@ -175,14 +175,26 @@ jobs:
175175
echo "Version: ${{ env.PATCHED_VERSION }}"
176176
echo "Patches hash: ${{ env.PATCHES_HASH }}"
177177
export ORG_GRADLE_PROJECT_reactNativeArchitectures="armeabi-v7a,arm64-v8a,x86,x86_64"
178-
./gradlew buildReactNativeArtifacts -PpatchedArtifacts.forceBuildFromSource=true -x lint -x test -x check
178+
179+
# Exclude ktfmt and test tasks from the included react-native build
180+
EXCLUDE_TASKS=(
181+
-x :react-native:packages:react-native:ReactAndroid:ktfmtCheck
182+
-x :react-native:packages:react-native:ReactAndroid:ktfmtCheckMain
183+
-x :react-native:packages:react-native:ReactAndroid:ktfmtCheckScripts
184+
-x :react-native:packages:react-native:ReactAndroid:testDebugOptimizedUnitTest
185+
-x :react-native:packages:react-native:ReactAndroid:testDebugUnitTest
186+
-x :react-native:packages:react-native:ReactAndroid:testReleaseUnitTest
187+
)
188+
189+
./gradlew buildReactNativeArtifacts -PpatchedArtifacts.forceBuildFromSource=true -x lint -x test -x check "${EXCLUDE_TASKS[@]}"
179190
./gradlew publishReactNativeArtifacts -PpatchedArtifacts.forceBuildFromSource=true
180191
env:
181192
GH_PUBLISH_ACTOR: ${{ github.actor }}
182193
GH_PUBLISH_TOKEN: ${{ github.token }}
183194
IS_HYBRID_BUILD: ${{ matrix.is_hybrid }}
184195
PATCHED_VERSION: ${{ steps.getNewPatchedVersion.outputs.NEW_PATCHED_VERSION }}
185196
PATCHES_HASH: ${{ matrix.is_hybrid == 'true' && needs.verifyPatches.outputs.hybrid_app_patches_hash || needs.verifyPatches.outputs.standalone_patches_hash }}
197+
CMAKE_VERSION: 3.31.6
186198

187199
- name: Announce failed workflow in Slack
188200
if: ${{ failure() }}

Mobile-Expensify

__mocks__/@react-navigation/native/index.ts

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,20 @@ const {triggerTransitionEnd, addListener} = isJestEnv
1717
addListener: () => {},
1818
};
1919

20-
const realOrMockedUseNavigation = isJestEnv ? realReactNavigation.useNavigation : {};
21-
const useNavigation = () => ({
22-
...realOrMockedUseNavigation,
23-
navigate: isJestEnv ? jest.fn() : () => {},
24-
getState: () => ({
25-
routes: [],
26-
}),
27-
addListener,
28-
});
20+
const useNavigation = isJestEnv
21+
? realReactNavigation.useNavigation
22+
: {
23+
navigate: isJestEnv ? jest.fn() : () => {},
24+
getState: () => ({
25+
routes: [],
26+
}),
27+
addListener,
28+
};
2929

3030
type NativeNavigationMock = typeof ReactNavigation & {
3131
triggerTransitionEnd: () => void;
3232
};
3333

34-
export * from '@react-navigation/core';
3534
const Link = isJestEnv ? realReactNavigation.Link : () => null;
3635
const LinkingContext = isJestEnv ? realReactNavigation.LinkingContext : () => null;
3736
const NavigationContainer = isJestEnv ? realReactNavigation.NavigationContainer : () => null;
@@ -46,14 +45,16 @@ const useScrollToTop = isJestEnv ? realReactNavigation.useScrollToTop : () => nu
4645
const useRoute = isJestEnv ? realReactNavigation.useRoute : () => ({params: {}});
4746
const useFocusEffect = isJestEnv ? realReactNavigation.useFocusEffect : (callback: () => void) => callback();
4847
const usePreventRemove = isJestEnv ? jest.fn() : () => {};
48+
const useNavigationState = isJestEnv ? realReactNavigation.useNavigationState : () => {};
4949

50+
export * from '@react-navigation/core';
5051
export {
5152
// Overridden modules
5253
useIsFocused,
5354
useTheme,
5455
useNavigation,
56+
useNavigationState,
5557
useLocale,
56-
triggerTransitionEnd,
5758

5859
// Theme modules are left alone
5960
Link,
@@ -63,6 +64,7 @@ export {
6364
DarkTheme,
6465
DefaultTheme,
6566
ThemeProvider,
67+
triggerTransitionEnd,
6668
useLinkBuilder,
6769
useLinkProps,
6870
useLinkTo,

android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ android {
111111
minSdkVersion rootProject.ext.minSdkVersion
112112
targetSdkVersion rootProject.ext.targetSdkVersion
113113
multiDexEnabled rootProject.ext.multiDexEnabled
114-
versionCode 1009034100
115-
versionName "9.3.41-0"
114+
versionCode 1009034103
115+
versionName "9.3.41-3"
116116
// Supported language variants must be declared here to avoid from being removed during the compilation.
117117
// This also helps us to not include unnecessary language variants in the APK.
118118
resConfigs "en", "es"

android/settings.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,8 @@ if(settings.extensions.patchedArtifacts.buildFromSource) {
3737
}
3838
}
3939

40-
apply from: new File(["node", "--print", "require.resolve('expo/package.json')"].execute(null, rootDir).text.trim(), "../scripts/autolinking.gradle")
41-
useExpoModules()
4240
expoAutolinking {
43-
projectRoot = file(rootDir)
41+
projectRoot = file('../')
42+
searchPaths = ['node_modules']
4443
useExpoModules()
4544
}
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading

cspell.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@
205205
"ecash",
206206
"ecconnrefused",
207207
"econn",
208+
"EDDSA",
208209
"EDIFACT",
209210
"Egencia",
210211
"Electromedical",

docs/articles/new-expensify/workspaces/Duplicate-Workspace.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ Follow these steps to create a new workspace based on an existing one:
3131
- Taxes
3232
- Workflows
3333
- Rules
34+
- Merchant rules
3435
- Distance Rates
3536
- Per Diem
3637
- Invoices

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.3.41.0</string>
47+
<string>9.3.41.3</string>
4848
<key>FullStory</key>
4949
<dict>
5050
<key>OrgId</key>

0 commit comments

Comments
 (0)