Skip to content

Commit 124fd42

Browse files
authored
Merge pull request #56770 from callstack-internal/JKobrynski/fix/56507-inconsistent-workspace-subtitle
[Fix] Workspace - Inconsistent workspace subtitle when approver is changed in offline mode
2 parents 5c4dc1c + ea22c28 commit 124fd42

File tree

3 files changed

+9
-6
lines changed

3 files changed

+9
-6
lines changed

src/components/OptionListContextProvider.tsx

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,6 @@ function OptionsListContextProvider({children}: OptionsListProviderProps) {
151151
}, [personalDetails, reports]);
152152

153153
const initializeOptions = useCallback(() => {
154-
if (areOptionsInitialized.current) {
155-
return;
156-
}
157-
158154
loadOptions();
159155
areOptionsInitialized.current = true;
160156
}, [loadOptions]);

src/libs/ReportUtils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4619,7 +4619,8 @@ function getChatRoomSubtitle(report: OnyxEntry<Report>, config: GetChatRoomSubti
46194619
return report?.reportName?.substring(1) ?? '';
46204620
}
46214621
if ((isPolicyExpenseChat(report) && !!report?.isOwnPolicyExpenseChat) || isExpenseReport(report)) {
4622-
const submitToAccountID = getSubmitToAccountID(getPolicy(report?.policyID), report);
4622+
const policy = allPolicies?.[`${ONYXKEYS.COLLECTION.POLICY}${report?.policyID}`];
4623+
const submitToAccountID = getSubmitToAccountID(policy, report);
46234624
const submitsToAccountDetails = allPersonalDetails?.[submitToAccountID];
46244625
const subtitle = submitsToAccountDetails?.displayName ?? submitsToAccountDetails?.login;
46254626

src/pages/iou/request/MoneyRequestParticipantsSelector.tsx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ function MoneyRequestParticipantsSelector({participants = CONST.EMPTY_ARRAY, onF
7878
const policy = usePolicy(activePolicyID);
7979
const [isSearchingForReports] = useOnyx(ONYXKEYS.IS_SEARCHING_FOR_REPORTS, {initWithStoredValues: false});
8080
const [currentUserLogin] = useOnyx(ONYXKEYS.SESSION, {selector: (session) => session?.email});
81-
const {options, areOptionsInitialized} = useOptionsList({
81+
const {options, areOptionsInitialized, initializeOptions} = useOptionsList({
8282
shouldInitialize: didScreenTransitionEnd,
8383
});
8484
const cleanSearchTerm = useMemo(() => debouncedSearchTerm.trim().toLowerCase(), [debouncedSearchTerm]);
@@ -92,6 +92,12 @@ function MoneyRequestParticipantsSelector({participants = CONST.EMPTY_ARRAY, onF
9292
searchInServer(debouncedSearchTerm.trim());
9393
}, [debouncedSearchTerm]);
9494

95+
useEffect(() => {
96+
// This is necessary to ensure the options list is always up to date
97+
// e.g. if the approver was changed in the policy, we need to update the options list
98+
initializeOptions();
99+
}, [initializeOptions]);
100+
95101
const defaultOptions = useMemo(() => {
96102
if (!areOptionsInitialized || !didScreenTransitionEnd) {
97103
return {

0 commit comments

Comments
 (0)