Skip to content

Commit c06ee2d

Browse files
committed
Merge remote-tracking branch 'upstream/main' into perf/report-transactions-derived-value
2 parents a822a32 + 1bba92b commit c06ee2d

216 files changed

Lines changed: 3311 additions & 1462 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.

.eslintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ module.exports = {
230230
'rulesdir/no-multiple-onyx-in-file': 'off',
231231
'rulesdir/prefer-underscore-method': 'off',
232232
'rulesdir/prefer-import-module-contents': 'off',
233+
'rulesdir/no-beta-handler': 'error',
233234

234235
// React and React Native specific rules
235236
'react-native-a11y/has-accessibility-hint': ['off'],

.github/workflows/publishReactNativeAndroidArtifacts.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ on:
1818
- package.json
1919
- patches/react-native+*.patch
2020
- patches/@react-native+*.patch
21+
- patches/react-native/react-native+*.patch
22+
- patches/react-native/@react-native+*.patch
2123
- Mobile-Expensify
2224

2325
jobs:

Mobile-Expensify

android/app/build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.grad
1313
/* Fullstory settings */
1414
fullstory {
1515
org 'o-1WN56P-na1'
16-
enabledVariants 'production'
16+
enabledVariants 'all'
1717
logcatLevel 'debug'
1818
recordOnStart false
1919
}
@@ -114,8 +114,8 @@ android {
114114
minSdkVersion rootProject.ext.minSdkVersion
115115
targetSdkVersion rootProject.ext.targetSdkVersion
116116
multiDexEnabled rootProject.ext.multiDexEnabled
117-
versionCode 1009017604
118-
versionName "9.1.76-4"
117+
versionCode 1009017800
118+
versionName "9.1.78-0"
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"

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ buildscript {
3232
classpath("com.google.firebase:firebase-crashlytics-gradle:2.7.1")
3333
classpath("com.google.firebase:perf-plugin:1.4.1")
3434
// Fullstory integration
35-
classpath ("com.fullstory:gradle-plugin-local:1.52.0")
35+
classpath ("com.fullstory:gradle-plugin-local:1.61.0")
3636

3737
// NOTE: Do not place your application dependencies here; they belong
3838
// in the individual module build.gradle files

contributingGuides/NAVIGATION.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Navigation.navigate(ROUTES.HOME);
6565
// Navigation with parameters
6666
Navigation.navigate(
6767
ROUTES.SEARCH_ROOT.getRoute({
68-
query: 'type:expense status:all search',
68+
query: 'type:expense search',
6969
// additional parameters...
7070
}),
7171
);
@@ -654,7 +654,7 @@ function useCustomRootStackNavigatorState({state}: CustomStateHookProps) {
654654
}
655655
```
656656

657-
To optimize the number of routes rendered in `RootStackNavigator` we limit the number of `FullScreenNavigators` rendered to 2 (we need to render the previous fullscreen too for the transition animations to work well).
657+
To optimize the number of routes rendered in `RootStackNavigator` we limit the number of `FullScreenNavigators` rendered to 2 (we need to render the previous fullscreen too for the transition animations to work well). There's an exception for `SearchFullscreenNavigator` where we render only last route when possible due to performance implications. The idea stays the same.
658658

659659
- `src/libs/Navigation/AppNavigator/createSearchFullscreenNavigator/index.tsx`
660660

@@ -664,10 +664,9 @@ function useCustomEffects(props: CustomEffectsHookProps) {
664664
usePreserveNavigatorState(props.state, props.parentRoute);
665665
}
666666
667-
// This is a custom state hook that is used to render the last two routes in the stack.
668-
// We do this to improve the performance of the search results screen.
669-
function useCustomState({state}: CustomStateHookProps) {
670-
const routesToRender = [...state.routes.slice(-2)];
667+
// For web we only render last route in SearchFullscreenNavigator. Other navigators are keep last two routes mounted. The idea stays the same.
668+
export default function useCustomState({state}: CustomStateHookProps) {
669+
const routesToRender = state.routes.slice(-1);
671670
return {...state, routes: routesToRender, index: routesToRender.length - 1};
672671
}
673672
```

cspell.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
"Charleson",
9999
"Checkmark",
100100
"checkmarked",
101+
"chien",
101102
"Chronos",
102103
"citi",
103104
"clawback",
@@ -136,6 +137,7 @@
136137
"deeplinks",
137138
"delegators",
138139
"delish",
140+
"describedby",
139141
"Deutsch",
140142
"devportal",
141143
"DFOLLY",
@@ -295,6 +297,7 @@
295297
"killall",
296298
"Kowalski",
297299
"Krasoń",
300+
"labelledby",
298301
"Lagertha",
299302
"laggy",
300303
"lastiPhoneLogin",

docs/articles/expensify-classic/travel/Approve-travel-expenses.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ title: Approve travel expenses
33
description: Determine how travel expenses are approved
44
---
55

6-
Travel expenses follow the same approval workflow as other expenses. Admins can configure travel expenses to be approved as soft approval, hard approval or passive approval. The approval method for in-policy and out-of-policy bookings can be managed under the **Policies** section in the **Program** menu for Expensify Travel.
6+
Travel expenses follow the same approval workflow as other expenses. Admins can configure travel expenses to be approved as soft approval, hard approval or passive approval. The approval method for in-policy and out-of-policy bookings can be managed under the **Policies** section in the **Program** menu for Expensify Travel.
7+
8+
Trip itineraries are maintained with complete booking information, ensuring accurate trip details are always available regardless of how individual expenses are handled.
79

810
- **Soft Approval**: Bookings are automatically approved as long as a manager does not decline them within 24 hours. However, this also means that if a manager does not decline the expenses, the arrangements will be booked even if they are out of policy. If a booking is declined, it is refunded based on the voiding/refund terms of the service provider.
911
- **Hard Approval**: Bookings are automatically canceled/voided and refunded if a manager does not approve them within 24 hours.

docs/articles/expensify-classic/travel/Book-With-Expensify-Travel.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ To book travel from the Expensify web app,
3434

3535
The traveler is emailed an itinerary of the booking. Additionally,
3636
- Their travel details are added to a Trip chat room under their primary workspace.
37-
- An expense report for the trip is created.
37+
- Travel expenses are automatically added to expense reports following your workspace's scheduled submit rules.
3838
- If booked with an Expensify Card, the trip is automatically reconciled.
3939

4040
{% include info.html %}

docs/articles/expensify-classic/travel/Edit-or-cancel-travel-arrangements.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: Edit or cancel travel arrangements
33
description: Modify travel arrangements booked with Expensify Travel
44
---
55

6+
Your trip itinerary is maintained with the latest booking information and can be accessed any time through your trip room.
7+
68
To edit or cancel a travel arrangement,
79
1. Click Travel in the left menu.
810
2. Click Book or Manage Travel.

0 commit comments

Comments
 (0)