Skip to content

Commit 1b25509

Browse files
authored
Merge pull request Expensify#62952 from bernhardoj/fix/62323-incorrect-transaction-last-msg
Fix submitted message is shown on an empty one-transaction report last message
2 parents c449e00 + d1bef89 commit 1b25509

7 files changed

Lines changed: 11 additions & 16 deletions

File tree

src/languages/en.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1095,7 +1095,7 @@ const translations = {
10951095
finished: 'Finished',
10961096
sendInvoice: ({amount}: RequestAmountParams) => `Send ${amount} invoice`,
10971097
submitAmount: ({amount}: RequestAmountParams) => `Submit ${amount}`,
1098-
submittedAmount: ({formattedAmount, comment}: RequestedAmountMessageParams) => `submitted ${formattedAmount}${comment ? ` for ${comment}` : ''}`,
1098+
expenseAmount: ({formattedAmount, comment}: RequestedAmountMessageParams) => `${formattedAmount}${comment ? ` for ${comment}` : ''}`,
10991099
submitted: `submitted`,
11001100
automaticallySubmitted: `submitted via <a href="${CONST.SELECT_WORKFLOWS_HELP_URL}">delay submissions</a>`,
11011101
trackedAmount: ({formattedAmount, comment}: RequestedAmountMessageParams) => `tracking ${formattedAmount}${comment ? ` for ${comment}` : ''}`,

src/languages/es.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1090,7 +1090,7 @@ const translations = {
10901090
finished: 'Finalizado',
10911091
sendInvoice: ({amount}: RequestAmountParams) => `Enviar factura de ${amount}`,
10921092
submitAmount: ({amount}: RequestAmountParams) => `Solicitar ${amount}`,
1093-
submittedAmount: ({formattedAmount, comment}: RequestedAmountMessageParams) => `solicitó ${formattedAmount}${comment ? ` para ${comment}` : ''}`,
1093+
expenseAmount: ({formattedAmount, comment}: RequestedAmountMessageParams) => `${formattedAmount}${comment ? ` para ${comment}` : ''}`,
10941094
submitted: `enviado`,
10951095
automaticallySubmitted: `envió mediante <a href="${CONST.SELECT_WORKFLOWS_HELP_URL}">retrasar envíos</a>`,
10961096
trackedAmount: ({formattedAmount, comment}: RequestedAmountMessageParams) => `realizó un seguimiento de ${formattedAmount}${comment ? ` para ${comment}` : ''}`,

src/libs/OptionsListUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,7 @@ Onyx.connect({
400400
const transactionThreadReportID = getOneTransactionThreadReportID(reportID, actions[reportActions[0]]);
401401
if (transactionThreadReportID) {
402402
const transactionThreadReportActionsArray = Object.values(actions[`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${transactionThreadReportID}`] ?? {});
403-
sortedReportActions = getCombinedReportActions(sortedReportActions, transactionThreadReportID, transactionThreadReportActionsArray, reportID, false);
403+
sortedReportActions = getCombinedReportActions(sortedReportActions, transactionThreadReportID, transactionThreadReportActionsArray, reportID);
404404
}
405405

406406
const firstReportAction = sortedReportActions.at(0);

src/libs/ReportActionsUtils.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,6 @@ function getCombinedReportActions(
485485
transactionThreadReportID: string | null,
486486
transactionThreadReportActions: ReportAction[],
487487
reportID?: string,
488-
shouldFilterIOUAction = true,
489488
): ReportAction[] {
490489
const isSentMoneyReport = reportActions.some((action) => isSentMoneyReportAction(action));
491490

@@ -513,7 +512,7 @@ function getCombinedReportActions(
513512
const isSelfDM = report?.chatType === CONST.REPORT.CHAT_TYPE.SELF_DM;
514513
// Filter out request and send money request actions because we don't want to show any preview actions for one transaction reports
515514
const filteredReportActions = [...filteredParentReportActions, ...filteredTransactionThreadReportActions].filter((action) => {
516-
if (!isMoneyRequestAction(action) || !shouldFilterIOUAction) {
515+
if (!isMoneyRequestAction(action)) {
517516
return true;
518517
}
519518
const actionType = getOriginalMessage(action)?.type ?? '';

src/libs/ReportUtils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4373,7 +4373,7 @@ function getReportPreviewMessage(
43734373
// We only want to show the actor name in the preview if it's not the current user who took the action
43744374
const requestorName =
43754375
lastActorID && lastActorID !== currentUserAccountID ? getDisplayNameForParticipant({accountID: lastActorID, shouldUseShortForm: !isPreviewMessageForParentChatReport}) : '';
4376-
return `${requestorName ? `${requestorName}: ` : ''}${translateLocal('iou.submittedAmount', {formattedAmount: amountToDisplay, comment})}`;
4376+
return `${requestorName ? `${requestorName}: ` : ''}${translateLocal('iou.expenseAmount', {formattedAmount: amountToDisplay, comment})}`;
43774377
}
43784378

43794379
if (containsNonReimbursable) {
@@ -5901,7 +5901,7 @@ function getIOUReportActionMessage(iouReportID: string, type: string, total: num
59015901
iouMessage = isSettlingUp ? `paid ${amount}${paymentMethodMessage}` : `sent ${amount}${comment && ` for ${comment}`}${paymentMethodMessage}`;
59025902
break;
59035903
case CONST.REPORT.ACTIONS.TYPE.SUBMITTED:
5904-
iouMessage = translateLocal('iou.submittedAmount', {formattedAmount: amount});
5904+
iouMessage = translateLocal('iou.expenseAmount', {formattedAmount: amount});
59055905
break;
59065906
default:
59075907
break;
@@ -8885,7 +8885,7 @@ function getIOUReportActionDisplayMessage(reportAction: OnyxEntry<ReportAction>,
88858885
} else if (isTrackExpenseAction(reportAction)) {
88868886
translationKey = 'iou.trackedAmount';
88878887
} else {
8888-
translationKey = 'iou.submittedAmount';
8888+
translationKey = 'iou.expenseAmount';
88898889
}
88908890
return translateLocal(translationKey, {
88918891
formattedAmount,

src/libs/SidebarUtils.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import {getExpensifyCardFromReportAction} from './CardMessageUtils';
1717
import {extractCollectionItemID} from './CollectionUtils';
1818
import {hasValidDraftComment} from './DraftCommentUtils';
1919
import localeCompare from './LocaleCompare';
20-
import {formatPhoneNumber} from './LocalePhoneNumber';
2120
import {translateLocal} from './Localize';
2221
import {getLastActorDisplayName, getLastMessageTextForReport, getPersonalDetailsForAccountIDs, shouldShowLastActorDisplayName} from './OptionsListUtils';
2322
import Parser from './Parser';
@@ -531,9 +530,7 @@ function getOptionData({
531530
const hasMultipleParticipants = participantPersonalDetailList.length > 1 || result.isChatRoom || result.isPolicyExpenseChat || isExpense;
532531
const subtitle = getChatRoomSubtitle(report);
533532

534-
const login = Str.removeSMSDomain(personalDetail?.login ?? '');
535533
const status = personalDetail?.status ?? '';
536-
const formattedLogin = Str.isSMSLogin(login) ? formatPhoneNumber(login) : login;
537534

538535
// We only create tooltips for the first 10 users or so since some reports have hundreds of users, causing performance to degrade.
539536
const displayNamesWithTooltips = getDisplayNamesWithTooltips((participantPersonalDetailList || []).slice(0, 10), hasMultipleParticipants, undefined, isSelfDM(report));
@@ -716,12 +713,13 @@ function getOptionData({
716713
result.alternateText = prefix + result.alternateText;
717714
} else {
718715
if (!lastMessageText) {
719-
lastMessageText = formatReportLastMessageText(getWelcomeMessage(report, policy, !!result.private_isArchived).messageText ?? translateLocal('report.noActivityYet'));
716+
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
717+
lastMessageText = formatReportLastMessageText(getWelcomeMessage(report, policy, !!result.private_isArchived).messageText || translateLocal('report.noActivityYet'));
720718
}
721719
if (shouldShowLastActorDisplayName(report, lastActorDetails, lastAction) && !isArchivedReport(reportNameValuePairs)) {
722-
result.alternateText = `${lastActorDisplayName}: ${formatReportLastMessageText(Parser.htmlToText(lastMessageText)) || formattedLogin}`;
720+
result.alternateText = `${lastActorDisplayName}: ${formatReportLastMessageText(Parser.htmlToText(lastMessageText))}`;
723721
} else {
724-
result.alternateText = formatReportLastMessageText(Parser.htmlToText(lastMessageText)) || formattedLogin;
722+
result.alternateText = formatReportLastMessageText(Parser.htmlToText(lastMessageText));
725723
}
726724
}
727725

src/libs/actions/IOU.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1426,8 +1426,6 @@ function buildOnyxDataForMoneyRequest(moneyRequestParams: BuildOnyxDataForMoneyR
14261426
key: `${ONYXKEYS.COLLECTION.REPORT}${iou.report.reportID}`,
14271427
value: {
14281428
...iou.report,
1429-
lastMessageText: getReportActionText(iou.action),
1430-
lastMessageHtml: getReportActionHtml(iou.action),
14311429
lastVisibleActionCreated: iou.action.created,
14321430
pendingFields: {
14331431
...(shouldCreateNewMoneyRequestReport ? {createChat: CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD} : {preview: CONST.RED_BRICK_ROAD_PENDING_ACTION.UPDATE}),

0 commit comments

Comments
 (0)