Skip to content

Commit 75d4d40

Browse files
committed
Merge branch 'main' of github.com:Expensify/App into nikki-update-onboarding-message
2 parents 159410f + 9051e1f commit 75d4d40

File tree

72 files changed

+683
-332
lines changed

Some content is hidden

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

72 files changed

+683
-332
lines changed

android/app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ android {
9898
minSdkVersion rootProject.ext.minSdkVersion
9999
targetSdkVersion rootProject.ext.targetSdkVersion
100100
multiDexEnabled rootProject.ext.multiDexEnabled
101-
versionCode 1001047404
102-
versionName "1.4.74-4"
101+
versionCode 1001047500
102+
versionName "1.4.75-0"
103103
// Supported language variants must be declared here to avoid from being removed during the compilation.
104104
// This also helps us to not include unnecessary language variants in the APK.
105105
resConfigs "en", "es"

ios/NewExpensify/Info.plist

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
<key>CFBundlePackageType</key>
2020
<string>APPL</string>
2121
<key>CFBundleShortVersionString</key>
22-
<string>1.4.74</string>
22+
<string>1.4.75</string>
2323
<key>CFBundleSignature</key>
2424
<string>????</string>
2525
<key>CFBundleURLTypes</key>
@@ -40,7 +40,7 @@
4040
</dict>
4141
</array>
4242
<key>CFBundleVersion</key>
43-
<string>1.4.74.4</string>
43+
<string>1.4.75.0</string>
4444
<key>FullStory</key>
4545
<dict>
4646
<key>OrgId</key>

ios/NewExpensifyTests/Info.plist

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
<key>CFBundlePackageType</key>
1616
<string>BNDL</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>1.4.74</string>
18+
<string>1.4.75</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>
22-
<string>1.4.74.4</string>
22+
<string>1.4.75.0</string>
2323
</dict>
2424
</plist>

ios/NotificationServiceExtension/Info.plist

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
<key>CFBundleName</key>
1212
<string>$(PRODUCT_NAME)</string>
1313
<key>CFBundleShortVersionString</key>
14-
<string>1.4.74</string>
14+
<string>1.4.75</string>
1515
<key>CFBundleVersion</key>
16-
<string>1.4.74.4</string>
16+
<string>1.4.75.0</string>
1717
<key>NSExtension</key>
1818
<dict>
1919
<key>NSExtensionPointIdentifier</key>

ios/Podfile.lock

+4-4
Original file line numberDiff line numberDiff line change
@@ -1831,7 +1831,7 @@ PODS:
18311831
- RNGoogleSignin (10.0.1):
18321832
- GoogleSignIn (~> 7.0)
18331833
- React-Core
1834-
- RNLiveMarkdown (0.1.69):
1834+
- RNLiveMarkdown (0.1.70):
18351835
- glog
18361836
- hermes-engine
18371837
- RCT-Folly (= 2022.05.16.00)
@@ -1849,9 +1849,9 @@ PODS:
18491849
- React-utils
18501850
- ReactCommon/turbomodule/bridging
18511851
- ReactCommon/turbomodule/core
1852-
- RNLiveMarkdown/common (= 0.1.69)
1852+
- RNLiveMarkdown/common (= 0.1.70)
18531853
- Yoga
1854-
- RNLiveMarkdown/common (0.1.69):
1854+
- RNLiveMarkdown/common (0.1.70):
18551855
- glog
18561856
- hermes-engine
18571857
- RCT-Folly (= 2022.05.16.00)
@@ -2556,7 +2556,7 @@ SPEC CHECKSUMS:
25562556
RNFS: 4ac0f0ea233904cb798630b3c077808c06931688
25572557
RNGestureHandler: 74b7b3d06d667ba0bbf41da7718f2607ae0dfe8f
25582558
RNGoogleSignin: ccaa4a81582cf713eea562c5dd9dc1961a715fd0
2559-
RNLiveMarkdown: bfabd5938e5af5afc1e60e4e34286b17f8308184
2559+
RNLiveMarkdown: 23250f3d64c9d5f82ff36c4733c03544af0222d2
25602560
RNLocalize: d4b8af4e442d4bcca54e68fc687a2129b4d71a81
25612561
rnmapbox-maps: df8fe93dbd251f25022f4023d31bc04160d4d65c
25622562
RNPermissions: 0b61d30d21acbeafe25baaa47d9bae40a0c65216

package-lock.json

+17-16
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "new.expensify",
3-
"version": "1.4.74-4",
3+
"version": "1.4.75-0",
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.",
@@ -108,7 +108,7 @@
108108
"date-fns-tz": "^2.0.0",
109109
"dom-serializer": "^0.2.2",
110110
"domhandler": "^4.3.0",
111-
"expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#9a68635cdcef4c81593c0f816a007bc9c707d46a",
111+
"expensify-common": "git+ssh://git@github.com/Expensify/expensify-common.git#1713f28214f0e7176c4fd13433fb0ea15491ebf9",
112112
"expo": "^50.0.3",
113113
"expo-av": "~13.10.4",
114114
"expo-image": "1.11.0",
@@ -152,7 +152,7 @@
152152
"react-native-linear-gradient": "^2.8.1",
153153
"react-native-localize": "^2.2.6",
154154
"react-native-modal": "^13.0.0",
155-
"react-native-onyx": "2.0.32",
155+
"react-native-onyx": "2.0.41",
156156
"react-native-pager-view": "6.2.3",
157157
"react-native-pdf": "6.7.3",
158158
"react-native-performance": "^5.1.0",
@@ -177,7 +177,7 @@
177177
"react-native-web-linear-gradient": "^1.1.2",
178178
"react-native-web-sound": "^0.1.3",
179179
"react-native-webview": "13.6.4",
180-
"react-pdf": "^7.7.0",
180+
"react-pdf": "^7.7.3",
181181
"react-plaid-link": "3.3.2",
182182
"react-web-config": "^1.0.0",
183183
"react-webcam": "^7.1.1",
@@ -290,7 +290,7 @@
290290
"ts-jest": "^29.1.2",
291291
"ts-node": "^10.9.2",
292292
"type-fest": "^4.10.2",
293-
"typescript": "^5.3.2",
293+
"typescript": "^5.4.5",
294294
"wait-port": "^0.2.9",
295295
"webpack": "^5.76.0",
296296
"webpack-bundle-analyzer": "^4.5.0",
@@ -330,4 +330,4 @@
330330
"node": "20.13.0",
331331
"npm": "10.5.2"
332332
}
333-
}
333+
}

src/components/AddressForm.tsx

-3
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import useLocalize from '@hooks/useLocalize';
44
import useThemeStyles from '@hooks/useThemeStyles';
55
import * as ErrorUtils from '@libs/ErrorUtils';
66
import type {MaybePhraseKey} from '@libs/Localize';
7-
import Navigation from '@libs/Navigation/Navigation';
87
import * as ValidationUtils from '@libs/ValidationUtils';
98
import CONST from '@src/CONST';
109
import type {Country} from '@src/CONST';
@@ -149,8 +148,6 @@ function AddressForm({
149148
label={translate('common.addressLine', {lineNumber: 1})}
150149
onValueChange={(data: unknown, key: unknown) => {
151150
onAddressChanged(data, key);
152-
// This enforces the country selector to use the country from address instead of the country from URL
153-
Navigation.setParams({country: undefined});
154151
}}
155152
defaultValue={street1}
156153
renamedInputKeys={{

src/components/AttachmentModal.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -607,7 +607,6 @@ export default withOnyx<AttachmentModalProps, AttachmentModalOnyxProps>({
607607
const transactionID = parentReportAction?.actionName === CONST.REPORT.ACTIONS.TYPE.IOU ? parentReportAction?.originalMessage.IOUTransactionID ?? '0' : '0';
608608
return `${ONYXKEYS.COLLECTION.TRANSACTION}${transactionID}`;
609609
},
610-
initWithStoredValues: false,
611610
},
612611
})(memo(AttachmentModal));
613612

src/components/AvatarWithDisplayName.tsx

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React, {useCallback, useEffect, useRef} from 'react';
22
import {View} from 'react-native';
3-
import type {OnyxCollection, OnyxEntry} from 'react-native-onyx';
3+
import type {OnyxEntry} from 'react-native-onyx';
44
import {withOnyx} from 'react-native-onyx';
55
import type {ValueOf} from 'type-fest';
66
import useStyleUtils from '@hooks/useStyleUtils';
@@ -12,7 +12,7 @@ import * as ReportUtils from '@libs/ReportUtils';
1212
import CONST from '@src/CONST';
1313
import ONYXKEYS from '@src/ONYXKEYS';
1414
import ROUTES from '@src/ROUTES';
15-
import type {PersonalDetails, Policy, Report, ReportActions} from '@src/types/onyx';
15+
import type {PersonalDetails, PersonalDetailsList, Policy, Report, ReportActions} from '@src/types/onyx';
1616
import DisplayNames from './DisplayNames';
1717
import MultipleAvatars from './MultipleAvatars';
1818
import ParentNavigationSubtitle from './ParentNavigationSubtitle';
@@ -25,7 +25,7 @@ type AvatarWithDisplayNamePropsWithOnyx = {
2525
parentReportActions: OnyxEntry<ReportActions>;
2626

2727
/** Personal details of all users */
28-
personalDetails: OnyxCollection<PersonalDetails>;
28+
personalDetails: OnyxEntry<PersonalDetailsList>;
2929
};
3030

3131
type AvatarWithDisplayNameProps = AvatarWithDisplayNamePropsWithOnyx & {

src/components/KeyboardAvoidingView/index.ios.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*/
44
import React from 'react';
55
import {KeyboardAvoidingView as KeyboardAvoidingViewComponent} from 'react-native';
6-
import type KeyboardAvoidingViewProps from './types';
6+
import type {KeyboardAvoidingViewProps} from './types';
77

88
function KeyboardAvoidingView(props: KeyboardAvoidingViewProps) {
99
// eslint-disable-next-line react/jsx-props-no-spreading

src/components/KeyboardAvoidingView/index.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*/
44
import React from 'react';
55
import {View} from 'react-native';
6-
import type KeyboardAvoidingViewProps from './types';
6+
import type {KeyboardAvoidingViewProps} from './types';
77

88
function KeyboardAvoidingView(props: KeyboardAvoidingViewProps) {
99
const {behavior, contentContainerStyle, enabled, keyboardVerticalOffset, ...rest} = props;
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1-
import {KeyboardAvoidingViewProps} from 'react-native';
1+
import type {KeyboardAvoidingViewProps} from 'react-native';
22

3-
export default KeyboardAvoidingViewProps;
3+
// eslint-disable-next-line import/prefer-default-export
4+
export type {KeyboardAvoidingViewProps};

src/components/LHNOptionsList/OptionRowLHN.tsx

+14-3
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,24 @@ function OptionRowLHN({reportID, isFocused = false, onSelectRow = () => {}, opti
5858
: [styles.chatLinkRowPressable, styles.flexGrow1, styles.optionItemAvatarNameWrapper, styles.optionRow, styles.justifyContentCenter],
5959
);
6060

61-
if (!optionItem) {
61+
if (!optionItem && !isFocused) {
6262
// rendering null as a render item causes the FlashList to render all
63-
// its children and consume signficant memory. We can avoid this by
64-
// rendering a placeholder view instead.
63+
// its children and consume signficant memory on the first render. We can avoid this by
64+
// rendering a placeholder view instead. This behaviour is only observed when we
65+
// first sign in to the App.
66+
// We can fix this by checking if the optionItem is null and the component is not focused.
67+
// Which means that the currentReportID is not the same as the reportID. The currentReportID
68+
// in this case is empty and hence the component is not focused.
6569
return <View style={sidebarInnerRowStyle} />;
6670
}
6771

72+
if (!optionItem) {
73+
// This is the case when the component is focused and the optionItem is null.
74+
// For example, when you submit an expense in offline mode and click on the
75+
// generated expense report, we would only see the Report Details but no item in LHN.
76+
return null;
77+
}
78+
6879
const hasBrickError = optionItem.brickRoadIndicator === CONST.BRICK_ROAD_INDICATOR_STATUS.ERROR;
6980
const shouldShowGreenDotIndicator = !hasBrickError && ReportUtils.requiresAttentionFromCurrentUser(optionItem, optionItem.parentReportAction);
7081
const textStyle = isFocused ? styles.sidebarLinkActiveText : styles.sidebarLinkText;

0 commit comments

Comments
 (0)