Skip to content

Commit 7fc6b9b

Browse files
Merge branch 'main' into jakubkalinski0/Odometer_blob_url_loss_detection
2 parents 7387f0c + cd199f8 commit 7fc6b9b

41 files changed

Lines changed: 720 additions & 76 deletions

Some content is hidden

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

ios/Podfile

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,21 @@ def __apply_Xcode_14_3_RC_post_install_workaround(installer)
4747
end
4848
end
4949

50-
# Pods does not derive :debug type from NewExpensify's debug configurations so we need to set it manually before react-native-post-install.
51-
# Based on this value react-native-post-install will set the correct GCC_PREPROCESSOR_DEFINITIONS e.g. ENABLE_HERMES_DEBUGGER
52-
def __set_debug_type_for_debug_configurations(installer)
53-
installer.pods_project.build_configurations.each do |config|
54-
if config.name.downcase.include?("debug")
55-
installer.pods_project.add_build_configuration(config.name, :debug)
56-
end
57-
end
58-
end
59-
6050
# Configure Mapbox before installing dependencies
6151
pre_install do |installer|
6252
$RNMapboxMaps.pre_install(installer)
6353
end
6454

55+
# Declare project globally so all targets inherit the same build configurations
56+
project 'NewExpensify',
57+
'DebugDevelopment' => :debug,
58+
'DebugAdHoc' => :debug,
59+
'DebugProduction' => :debug,
60+
'ReleaseDevelopment' => :release,
61+
'ReleaseAdHoc' => :release,
62+
'ReleaseProduction' => :release,
63+
'Debug' => :debug
64+
6565
target 'NewExpensify' do
6666
use_expo_modules!
6767
post_integrate do |installer|
@@ -73,15 +73,6 @@ target 'NewExpensify' do
7373
end
7474
permissions_path = '../node_modules/react-native-permissions/ios'
7575

76-
project 'NewExpensify',
77-
'DebugDevelopment' => :debug,
78-
'DebugAdHoc' => :debug,
79-
'DebugProduction' => :debug,
80-
'ReleaseDevelopment' => :release,
81-
'ReleaseAdHoc' => :release,
82-
'ReleaseProduction' => :release,
83-
'Debug' => :debug
84-
8576
config = use_native_modules!(['npx', 'rock', 'config', '-p', 'ios'])
8677

8778
# Flags change depending on the env values.
@@ -103,7 +94,6 @@ target 'NewExpensify' do
10394
# Configure Mapbox after installation
10495
$RNMapboxMaps.post_install(installer)
10596

106-
__set_debug_type_for_debug_configurations(installer)
10797
# https://github.com/facebook/react-native/blob/main/scripts/react_native_pods.rb#L197-L202
10898
react_native_post_install(
10999
installer,

ios/Podfile.lock

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,6 @@ PODS:
508508
- React-jsinspectorcdp
509509
- React-jsitooling
510510
- React-perflogger
511-
- React-rendererconsistency
512511
- React-runtimeexecutor
513512
- React-runtimescheduler
514513
- React-utils
@@ -534,7 +533,6 @@ PODS:
534533
- React-jsinspectorcdp
535534
- React-jsitooling
536535
- React-perflogger
537-
- React-rendererconsistency
538536
- React-runtimeexecutor
539537
- React-runtimescheduler
540538
- React-utils
@@ -559,7 +557,6 @@ PODS:
559557
- React-jsinspectorcdp
560558
- React-jsitooling
561559
- React-perflogger
562-
- React-rendererconsistency
563560
- React-runtimeexecutor
564561
- React-runtimescheduler
565562
- React-utils
@@ -586,7 +583,6 @@ PODS:
586583
- React-jsinspectorcdp
587584
- React-jsitooling
588585
- React-perflogger
589-
- React-rendererconsistency
590586
- React-runtimeexecutor
591587
- React-runtimescheduler
592588
- React-utils
@@ -612,7 +608,6 @@ PODS:
612608
- React-jsinspectorcdp
613609
- React-jsitooling
614610
- React-perflogger
615-
- React-rendererconsistency
616611
- React-runtimeexecutor
617612
- React-runtimescheduler
618613
- React-utils
@@ -638,7 +633,6 @@ PODS:
638633
- React-jsinspectorcdp
639634
- React-jsitooling
640635
- React-perflogger
641-
- React-rendererconsistency
642636
- React-runtimeexecutor
643637
- React-runtimescheduler
644638
- React-utils
@@ -664,7 +658,6 @@ PODS:
664658
- React-jsinspectorcdp
665659
- React-jsitooling
666660
- React-perflogger
667-
- React-rendererconsistency
668661
- React-runtimeexecutor
669662
- React-runtimescheduler
670663
- React-utils
@@ -690,7 +683,6 @@ PODS:
690683
- React-jsinspectorcdp
691684
- React-jsitooling
692685
- React-perflogger
693-
- React-rendererconsistency
694686
- React-runtimeexecutor
695687
- React-runtimescheduler
696688
- React-utils
@@ -716,7 +708,6 @@ PODS:
716708
- React-jsinspectorcdp
717709
- React-jsitooling
718710
- React-perflogger
719-
- React-rendererconsistency
720711
- React-runtimeexecutor
721712
- React-runtimescheduler
722713
- React-utils
@@ -742,7 +733,6 @@ PODS:
742733
- React-jsinspectorcdp
743734
- React-jsitooling
744735
- React-perflogger
745-
- React-rendererconsistency
746736
- React-runtimeexecutor
747737
- React-runtimescheduler
748738
- React-utils
@@ -768,7 +758,6 @@ PODS:
768758
- React-jsinspectorcdp
769759
- React-jsitooling
770760
- React-perflogger
771-
- React-rendererconsistency
772761
- React-runtimeexecutor
773762
- React-runtimescheduler
774763
- React-utils
@@ -794,7 +783,6 @@ PODS:
794783
- React-jsinspectorcdp
795784
- React-jsitooling
796785
- React-perflogger
797-
- React-rendererconsistency
798786
- React-runtimeexecutor
799787
- React-runtimescheduler
800788
- React-utils
@@ -820,7 +808,6 @@ PODS:
820808
- React-jsinspectorcdp
821809
- React-jsitooling
822810
- React-perflogger
823-
- React-rendererconsistency
824811
- React-runtimeexecutor
825812
- React-runtimescheduler
826813
- React-utils
@@ -846,7 +833,6 @@ PODS:
846833
- React-jsinspectorcdp
847834
- React-jsitooling
848835
- React-perflogger
849-
- React-rendererconsistency
850836
- React-runtimeexecutor
851837
- React-runtimescheduler
852838
- React-utils
@@ -4300,7 +4286,7 @@ DEPENDENCIES:
43004286
- fast_float (from `../node_modules/react-native/third-party-podspecs/fast_float.podspec`)
43014287
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
43024288
- fmt (from `../node_modules/react-native/third-party-podspecs/fmt.podspec`)
4303-
- "FullStory (from `{:http=>\"https://ios-releases.fullstory.com/fullstory-1.68.3-xcframework.tar.gz\"}`)"
4289+
- "FullStory (from `{http: \"https://ios-releases.fullstory.com/fullstory-1.68.3-xcframework.tar.gz\"}`)"
43044290
- "fullstory_react-native (from `../node_modules/@fullstory/react-native`)"
43054291
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
43064292
- group-ib-fp (from `../node_modules/group-ib-fp`)
@@ -4782,7 +4768,7 @@ SPEC CHECKSUMS:
47824768
AirshipServiceExtension: 50d11b2f62c4a490d4e81a1c36f70e2ecb70a27e
47834769
AppAuth: d4f13a8fe0baf391b2108511793e4b479691fb73
47844770
AppLogs: 3bc4e9b141dbf265b9464409caaa40416a9ee0e0
4785-
boost: 659a89341ea4ab3df8259733813b52f26d8be9a5
4771+
boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90
47864772
DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb
47874773
EXConstants: b3c63be5f8648e4ab8e6ff5099b62f629247f969
47884774
expensify-react-native-background-task: 03c640e1f5649692d058cba48c0a138f024a6dd3
@@ -4821,7 +4807,7 @@ SPEC CHECKSUMS:
48214807
GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de
48224808
GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6
48234809
GzipSwift: 893f3e48e597a1a4f62fafcb6514220fcf8287fa
4824-
hermes-engine: 9a70f3f40c414a11a2dd422ce023c7674a87cdfb
4810+
hermes-engine: b39ec807040f5a775de027a4a9647c0f4222c6ef
48254811
libavif: 84bbb62fb232c3018d6f1bab79beea87e35de7b7
48264812
libdav1d: 23581a4d8ec811ff171ed5e2e05cd27bad64c39f
48274813
libwebp: 02b23773aedb6ff1fd38cec7a77b81414c6842a8
@@ -4848,7 +4834,7 @@ SPEC CHECKSUMS:
48484834
RCTTypeSafety: 27927d0ca04e419ed9467578b3e6297e37210b5c
48494835
React: 4bc1f928568ad4bcfd147260f907b4ea5873a03b
48504836
React-callinvoker: 87f8728235a0dc62e9dc19b3851c829d9347d015
4851-
React-Core: 176a81025968530159589ec4a67fe2962909fce9
4837+
React-Core: 76bed73b02821e5630e7f2cb2e82432ee964695d
48524838
React-CoreModules: 752dbfdaeb096658aa0adc4a03ba6214815a08df
48534839
React-cxxreact: b6798528aa601c6db66e6adc7e2da2b059c8be74
48544840
React-debug: b2c9f60a9b7a81cefd737cb61e31c2bc39fdfe17
@@ -4900,7 +4886,7 @@ SPEC CHECKSUMS:
49004886
React-NativeModulesApple: e554252d69442010807867cc7d70c0008048ad20
49014887
React-networking: 669cb54cc7e5b65d7dafeeb36970a1421adc8bb3
49024888
React-oscompat: 80166b66da22e7af7fad94474e9997bd52d4c8c6
4903-
React-perflogger: decbf4d10c1f77d687af1d83a6ba9dc1b23715d6
4889+
React-perflogger: d6797918d2b1031e91a9d8f5e7fdd2c8728fb390
49044890
React-performancecdpmetrics: 7706707d5dd49d708518a91abe456dcb585a5865
49054891
React-performancetimeline: c9807b559901c4298a92f6bcb069f49f518b7020
49064892
React-RCTActionSheet: 3bd5f5db9f983cf38d51bb9a7a198e2ebea94821
@@ -4916,7 +4902,7 @@ SPEC CHECKSUMS:
49164902
React-RCTSettings: 2c45623d6c0f30851a123f621eb9d32298bcbb0c
49174903
React-RCTText: 0ee70f5dc18004b4d81b2c214267c6cbec058587
49184904
React-RCTVibration: 88557e21e7cc3fe76b5b174cba28ff45c6def997
4919-
React-rendererconsistency: 5236fe878921773ef9274c44e189e057672ef5bc
4905+
React-rendererconsistency: ac8a9e9ee3eb299458cc848944133ff4be46cc41
49204906
React-renderercss: f04cbe3b06ee071c6ca724f41a3c3aa31332601e
49214907
React-rendererdebug: 2a2e4f7d42abcbec2047e989a1afda5d62905679
49224908
React-RuntimeApple: ce2ae0ea88316a7c708be1e6601e4ec5f6febdce
@@ -4966,6 +4952,6 @@ SPEC CHECKSUMS:
49664952
VisionCamera: 30b358b807324c692064f78385e9a732ce1bebfe
49674953
Yoga: 33b53536a0500d039f2cd78caf1d5d68712d3af7
49684954

4969-
PODFILE CHECKSUM: 66f81d1d8606fb5a02422de6198484f2b557ca22
4955+
PODFILE CHECKSUM: b5c5984c2431ca6aefe88307d041b5640a6661dd
49704956

49714957
COCOAPODS: 1.16.2

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
"perf-test": "NODE_OPTIONS=--experimental-vm-modules npx reassure",
4646
"typecheck": "NODE_OPTIONS=--max_old_space_size=8192 tsc",
4747
"typecheck-tsgo": "tsgo --noEmit --incremental --tsBuildInfoFile tsconfig.tsgo.tsbuildinfo",
48-
"lint": "NODE_OPTIONS=--max_old_space_size=8192 eslint . --max-warnings=292 --cache --cache-location=node_modules/.cache/eslint --cache-strategy content --concurrency=auto",
48+
"lint": "NODE_OPTIONS=--max_old_space_size=8192 eslint . --max-warnings=288 --cache --cache-location=node_modules/.cache/eslint --cache-strategy content --concurrency=auto",
4949
"lint-changed": "NODE_OPTIONS=--max_old_space_size=8192 ./scripts/lintChanged.sh",
5050
"lint-watch": "npx eslint-watch --watch --changed",
5151
"shellcheck": "./scripts/shellCheck.sh",

src/ONYXKEYS.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1085,6 +1085,8 @@ const ONYXKEYS = {
10851085
ADD_DOMAIN_MEMBER_FORM_DRAFT: 'addDomainMemberFormDraft',
10861086
ADD_WORK_EMAIL_FORM: 'addWorkEmailForm',
10871087
ADD_WORK_EMAIL_FORM_DRAFT: 'addWorkEmailFormDraft',
1088+
EDIT_DOMAIN_GROUP_NAME_FORM: 'editDomainGroupNameForm',
1089+
EDIT_DOMAIN_GROUP_NAME_FORM_DRAFT: 'editDomainGroupNameFormDraft',
10881090
},
10891091
DERIVED: {
10901092
REPORT_ATTRIBUTES: 'reportAttributes',
@@ -1229,6 +1231,7 @@ type OnyxFormValuesMapping = {
12291231
[ONYXKEYS.FORMS.SPEND_RULE_FORM]: FormTypes.SpendRuleForm;
12301232
[ONYXKEYS.FORMS.ADD_DOMAIN_MEMBER_FORM]: FormTypes.AddDomainMemberForm;
12311233
[ONYXKEYS.FORMS.ADD_WORK_EMAIL_FORM]: FormTypes.AddWorkEmailForm;
1234+
[ONYXKEYS.FORMS.EDIT_DOMAIN_GROUP_NAME_FORM]: FormTypes.DomainGroupEditNameForm;
12321235
};
12331236

12341237
type OnyxFormDraftValuesMapping = {

src/ROUTES.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4090,6 +4090,16 @@ const ROUTES = {
40904090
route: 'domain/:domainAccountID/members/:accountID/lock-account',
40914091
getRoute: (domainAccountID: number, accountID: number) => `domain/${domainAccountID}/members/${accountID}/lock-account` as const,
40924092
},
4093+
4094+
DOMAIN_GROUP_DETAILS: {
4095+
route: 'domain/:domainAccountID/groups/:groupID',
4096+
getRoute: (domainAccountID: number, groupID: string) => `domain/${domainAccountID}/groups/${groupID}` as const,
4097+
},
4098+
4099+
DOMAIN_GROUP_EDIT_NAME: {
4100+
route: 'domain/:domainAccountID/groups/:groupID/name',
4101+
getRoute: (domainAccountID: number, groupID: string) => `domain/${domainAccountID}/groups/${groupID}/name` as const,
4102+
},
40934103
} as const;
40944104

40954105
/**

src/SCREENS.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1008,6 +1008,8 @@ const SCREENS = {
10081008
MEMBER_FORCE_TWO_FACTOR_AUTH: 'Member_Force_Two_Factor_Auth',
10091009
MEMBER_LOCK_ACCOUNT: 'Member_Lock_Account',
10101010
MEMBERS_MOVE_TO_GROUP: 'Members_Move_To_Group',
1011+
GROUP_DETAILS: 'Domain_Group_Details',
1012+
GROUP_EDIT_NAME: 'Domain_Group_Edit_Name',
10111013
},
10121014
MULTIFACTOR_AUTHENTICATION: {
10131015
MAGIC_CODE: 'Multifactor_Authentication_Magic_Code',

src/components/PDFView/index.native.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import useKeyboardState from '@hooks/useKeyboardState';
99
import useLocalize from '@hooks/useLocalize';
1010
import useOnyx from '@hooks/useOnyx';
1111
import useResponsiveLayout from '@hooks/useResponsiveLayout';
12+
import useSafeAreaPaddings from '@hooks/useSafeAreaPaddings';
1213
import useStyleUtils from '@hooks/useStyleUtils';
1314
import useThemeStyles from '@hooks/useThemeStyles';
1415
import useWindowDimensions from '@hooks/useWindowDimensions';
@@ -52,6 +53,7 @@ function PDFView({onToggleKeyboard, onLoadComplete, fileName, onPress, isFocused
5253
const themeStyles = useThemeStyles();
5354
const {isKeyboardShown} = useKeyboardState();
5455
const StyleUtils = useStyleUtils();
56+
const {insets} = useSafeAreaPaddings();
5557

5658
const [activePolicyID] = useOnyx(ONYXKEYS.NVP_ACTIVE_POLICY_ID);
5759

@@ -152,9 +154,14 @@ function PDFView({onToggleKeyboard, onLoadComplete, fileName, onPress, isFocused
152154
);
153155

154156
function renderPDFView() {
155-
const pdfWidth = isUsedAsChatAttachment ? LOADING_THUMBNAIL_WIDTH : windowWidth;
157+
// Insets are used to adjust the maxWidth of the PDF view in landscape mode
158+
const pdfWidth = isUsedAsChatAttachment ? LOADING_THUMBNAIL_WIDTH : windowWidth - insets.left - insets.right;
156159
const pdfHeight = isUsedAsChatAttachment ? LOADING_THUMBNAIL_HEIGHT : windowHeight;
157-
const pdfStyles: StyleProp<ViewStyle> = [themeStyles.imageModalPDF, StyleUtils.getWidthAndHeightStyle(pdfWidth, pdfHeight)];
160+
161+
const pdfStyles: StyleProp<ViewStyle> = [
162+
themeStyles.imageModalPDF,
163+
isUsedAsChatAttachment ? StyleUtils.getWidthAndHeightStyle(pdfWidth, pdfHeight) : StyleUtils.getPDFViewStyle(pdfWidth, pdfHeight),
164+
];
158165

159166
// If we haven't yet successfully validated the password and loaded the PDF,
160167
// then we need to hide the react-native-pdf/PDF component so that PDFPasswordForm

src/components/Search/SearchList/BaseSearchList/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ import {FlashList} from '@shopify/flash-list';
33
import React, {useCallback, useEffect, useMemo, useRef} from 'react';
44
import type {GestureResponderEvent, NativeSyntheticEvent} from 'react-native';
55
import Animated from 'react-native-reanimated';
6+
import type {SearchListItem} from '@components/Search/SearchList/ListItem/types';
67
import type {ExtendedTargetedEvent} from '@components/SelectionList/ListItem/types';
78
import {useEditingCellState} from '@components/Table/EditableCell';
89
import useArrowKeyFocusManager from '@hooks/useArrowKeyFocusManager';
910
import useKeyboardShortcut from '@hooks/useKeyboardShortcut';
1011
import {isMobileChrome} from '@libs/Browser';
1112
import {addKeyDownPressListener, removeKeyDownPressListener} from '@libs/KeyboardShortcut/KeyDownPressListener';
1213
import CONST from '@src/CONST';
13-
import type {SearchListItem} from '../ListItem/types';
1414
import type BaseSearchListProps from './types';
1515

1616
const AnimatedFlashListComponent = Animated.createAnimatedComponent(FlashList<SearchListItem>);

src/components/Search/SortableHeaderText.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ import {View} from 'react-native';
33
import type {StyleProp, TextStyle, ViewStyle} from 'react-native';
44
import Icon from '@components/Icon';
55
import PressableWithFeedback from '@components/Pressable/PressableWithFeedback';
6-
import type {SortOrder} from '@components/Search/types';
76
import Text from '@components/Text';
87
import {useMemoizedLazyExpensifyIcons} from '@hooks/useLazyAsset';
98
import useTheme from '@hooks/useTheme';
109
import useThemeStyles from '@hooks/useThemeStyles';
1110
import CONST from '@src/CONST';
1211
import type IconAsset from '@src/types/utils/IconAsset';
1312
import type WithSentryLabel from '@src/types/utils/SentryLabel';
13+
import type {SortOrder} from './types';
1414

1515
type SearchTableHeaderColumnProps = WithSentryLabel & {
1616
text: string;

src/hooks/useConfirmPendingRTERAndProceed.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {useCallback} from 'react';
22
import {ModalActions} from '@components/Modal/Global/ModalContext';
3-
import useConfirmModal from '@hooks/useConfirmModal';
4-
import useLocalize from '@hooks/useLocalize';
3+
import useConfirmModal from './useConfirmModal';
4+
import useLocalize from './useLocalize';
55

66
/**
77
* Hook that returns a callback to confirm pending RTER violations before proceeding with an action.

0 commit comments

Comments
 (0)