From 521cfaf7f5916dc87c369fc15db666206acc0ebc Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Mon, 17 Nov 2025 21:29:21 +0100 Subject: [PATCH 1/9] Add policy changelog for "enabled/disabled attendee tracking for this workspace" --- src/CONST/index.ts | 1 + src/languages/en.ts | 1 + src/libs/ReportActionsUtils.ts | 9 +++++++++ src/libs/SidebarUtils.ts | 3 +++ src/pages/home/report/ContextMenu/ContextMenuActions.tsx | 3 +++ src/pages/home/report/PureReportActionItem.tsx | 3 +++ 6 files changed, 20 insertions(+) diff --git a/src/CONST/index.ts b/src/CONST/index.ts index f95edd054da7..b249a68acba2 100755 --- a/src/CONST/index.ts +++ b/src/CONST/index.ts @@ -1314,6 +1314,7 @@ const CONST = { UPDATE_DISABLED_FIELDS: 'POLICYCHANGELOG_UPDATE_DISABLED_FIELDS', UPDATE_EMPLOYEE: 'POLICYCHANGELOG_UPDATE_EMPLOYEE', UPDATE_FIELD: 'POLICYCHANGELOG_UPDATE_FIELD', + UPDATE_IS_ATTENDEE_TRACKING_ENABLED: 'POLICYCHANGELOG_UPDATE_IS_ATTENDEE_TRACKING_ENABLED', UPDATE_MANUAL_APPROVAL_THRESHOLD: 'POLICYCHANGELOG_UPDATE_MANUAL_APPROVAL_THRESHOLD', UPDATE_MAX_EXPENSE_AMOUNT: 'POLICYCHANGELOG_UPDATE_MAX_EXPENSE_AMOUNT', UPDATE_MAX_EXPENSE_AMOUNT_NO_RECEIPT: 'POLICYCHANGELOG_UPDATE_MAX_EXPENSE_AMOUNT_NO_RECEIPT', diff --git a/src/languages/en.ts b/src/languages/en.ts index 19206cbbf6a3..4c91fe868804 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -6228,6 +6228,7 @@ const translations = { `changed the rate of reports randomly routed for manual approval to ${Math.round(newAuditRate * 100)}% (previously ${Math.round(oldAuditRate * 100)}%)`, updatedManualApprovalThreshold: ({oldLimit, newLimit}: UpdatedPolicyManualApprovalThresholdParams) => `changed the manual approval limit for all expenses to ${newLimit} (previously ${oldLimit})`, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'enabled' : 'disabled'} attendee tracking for this workspace`, addTax: ({taxName}: UpdatedPolicyTaxParams) => `added the tax "${taxName}"`, deleteTax: ({taxName}: UpdatedPolicyTaxParams) => `removed the tax "${taxName}"`, updateTax: ({oldValue, taxName, updatedField, newValue}: UpdatedPolicyTaxParams) => { diff --git a/src/libs/ReportActionsUtils.ts b/src/libs/ReportActionsUtils.ts index f493b29cb740..98027b7e59e6 100644 --- a/src/libs/ReportActionsUtils.ts +++ b/src/libs/ReportActionsUtils.ts @@ -2855,6 +2855,14 @@ function getWorkspaceUpdateFieldMessage(action: ReportAction): string { return getReportActionText(action); } +function getWorkspaceAttendeeTrackingUpdateMessage(action: ReportAction): string { + const {newValue} = getOriginalMessage(action as ReportAction) ?? {}; + const enabled = newValue === 'true'; + + // eslint-disable-next-line @typescript-eslint/no-deprecated + return translateLocal('workspaceActions.updatedAttendeeTracking', {enabled}); +} + function getPolicyChangeLogMaxExpenseAmountNoReceiptMessage(action: ReportAction): string { const {oldMaxExpenseAmountNoReceipt, newMaxExpenseAmountNoReceipt, currency} = getOriginalMessage(action as ReportAction) ?? {}; @@ -3456,6 +3464,7 @@ export { getTravelUpdateMessage, getWorkspaceCategoryUpdateMessage, getWorkspaceUpdateFieldMessage, + getWorkspaceAttendeeTrackingUpdateMessage, getWorkspaceCurrencyUpdateMessage, getWorkspaceTaxUpdateMessage, getWorkspaceFrequencyUpdateMessage, diff --git a/src/libs/SidebarUtils.ts b/src/libs/SidebarUtils.ts index c9e91a555acf..a7e438cd4c4c 100644 --- a/src/libs/SidebarUtils.ts +++ b/src/libs/SidebarUtils.ts @@ -73,6 +73,7 @@ import { getWorkspaceTagUpdateMessage, getWorkspaceTaxUpdateMessage, getWorkspaceUpdateFieldMessage, + getWorkspaceAttendeeTrackingUpdateMessage, isActionOfType, isCardIssuedAction, isInviteOrRemovedAction, @@ -880,6 +881,8 @@ function getOptionData({ result.alternateText = getWorkspaceReportFieldDeleteMessage(lastAction); } else if (lastAction?.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_FIELD) { result.alternateText = getWorkspaceUpdateFieldMessage(lastAction); + } else if (lastAction?.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_IS_ATTENDEE_TRACKING_ENABLED) { + result.alternateText = getWorkspaceAttendeeTrackingUpdateMessage(lastAction); } else if (lastAction?.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MAX_EXPENSE_AMOUNT_NO_RECEIPT) { result.alternateText = getPolicyChangeLogMaxExpenseAmountNoReceiptMessage(lastAction); } else if (lastAction?.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MAX_EXPENSE_AMOUNT) { diff --git a/src/pages/home/report/ContextMenu/ContextMenuActions.tsx b/src/pages/home/report/ContextMenu/ContextMenuActions.tsx index 101a7a1646cc..77e047998677 100644 --- a/src/pages/home/report/ContextMenu/ContextMenuActions.tsx +++ b/src/pages/home/report/ContextMenu/ContextMenuActions.tsx @@ -69,6 +69,7 @@ import { getWorkspaceTagUpdateMessage, getWorkspaceTaxUpdateMessage, getWorkspaceUpdateFieldMessage, + getWorkspaceAttendeeTrackingUpdateMessage, isActionableJoinRequest, isActionableMentionWhisper, isActionableTrackExpense, @@ -608,6 +609,8 @@ const ContextMenuActions: ContextMenuAction[] = [ Clipboard.setString(getWorkspaceReportFieldDeleteMessage(reportAction)); } else if (reportAction?.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_FIELD) { setClipboardMessage(getWorkspaceUpdateFieldMessage(reportAction)); + } else if (reportAction.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_IS_ATTENDEE_TRACKING_ENABLED) { + Clipboard.setString(getWorkspaceAttendeeTrackingUpdateMessage(reportAction)); } else if (reportAction.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MAX_EXPENSE_AMOUNT_NO_RECEIPT) { Clipboard.setString(getPolicyChangeLogMaxExpenseAmountNoReceiptMessage(reportAction)); } else if (reportAction.actionName === CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MAX_EXPENSE_AMOUNT) { diff --git a/src/pages/home/report/PureReportActionItem.tsx b/src/pages/home/report/PureReportActionItem.tsx index 277af9630920..200834ae0f28 100644 --- a/src/pages/home/report/PureReportActionItem.tsx +++ b/src/pages/home/report/PureReportActionItem.tsx @@ -106,6 +106,7 @@ import { getWorkspaceTagUpdateMessage, getWorkspaceTaxUpdateMessage, getWorkspaceUpdateFieldMessage, + getWorkspaceAttendeeTrackingUpdateMessage, isActionableAddPaymentCard, isActionableCardFraudAlert, isActionableJoinRequest, @@ -1321,6 +1322,8 @@ function PureReportActionItem({ children = ; } else if (isActionOfType(action, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_FIELD)) { children = ; + } else if (isActionOfType(action, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_IS_ATTENDEE_TRACKING_ENABLED)) { + children = ; } else if (isActionOfType(action, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MAX_EXPENSE_AMOUNT_NO_RECEIPT)) { children = ; } else if (isActionOfType(action, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_MAX_EXPENSE_AMOUNT)) { From ad812457b26ade470776e822da59d8afc2d45bf5 Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Mon, 17 Nov 2025 22:10:58 +0100 Subject: [PATCH 2/9] prettier --- src/libs/SidebarUtils.ts | 2 +- src/pages/home/report/ContextMenu/ContextMenuActions.tsx | 2 +- src/pages/home/report/PureReportActionItem.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/SidebarUtils.ts b/src/libs/SidebarUtils.ts index a7e438cd4c4c..0d2bc05a64ef 100644 --- a/src/libs/SidebarUtils.ts +++ b/src/libs/SidebarUtils.ts @@ -59,6 +59,7 @@ import { getUpdatedAuditRateMessage, getUpdatedManualApprovalThresholdMessage, getUpdateRoomDescriptionMessage, + getWorkspaceAttendeeTrackingUpdateMessage, getWorkspaceCategoryUpdateMessage, getWorkspaceCurrencyUpdateMessage, getWorkspaceCustomUnitRateAddedMessage, @@ -73,7 +74,6 @@ import { getWorkspaceTagUpdateMessage, getWorkspaceTaxUpdateMessage, getWorkspaceUpdateFieldMessage, - getWorkspaceAttendeeTrackingUpdateMessage, isActionOfType, isCardIssuedAction, isInviteOrRemovedAction, diff --git a/src/pages/home/report/ContextMenu/ContextMenuActions.tsx b/src/pages/home/report/ContextMenu/ContextMenuActions.tsx index 77e047998677..a8393db5dd85 100644 --- a/src/pages/home/report/ContextMenu/ContextMenuActions.tsx +++ b/src/pages/home/report/ContextMenu/ContextMenuActions.tsx @@ -55,6 +55,7 @@ import { getUpdatedAuditRateMessage, getUpdatedManualApprovalThresholdMessage, getUpdateRoomDescriptionMessage, + getWorkspaceAttendeeTrackingUpdateMessage, getWorkspaceCategoryUpdateMessage, getWorkspaceCurrencyUpdateMessage, getWorkspaceCustomUnitRateAddedMessage, @@ -69,7 +70,6 @@ import { getWorkspaceTagUpdateMessage, getWorkspaceTaxUpdateMessage, getWorkspaceUpdateFieldMessage, - getWorkspaceAttendeeTrackingUpdateMessage, isActionableJoinRequest, isActionableMentionWhisper, isActionableTrackExpense, diff --git a/src/pages/home/report/PureReportActionItem.tsx b/src/pages/home/report/PureReportActionItem.tsx index 200834ae0f28..3c691b45d003 100644 --- a/src/pages/home/report/PureReportActionItem.tsx +++ b/src/pages/home/report/PureReportActionItem.tsx @@ -93,6 +93,7 @@ import { getUpdatedAuditRateMessage, getUpdatedManualApprovalThresholdMessage, getWhisperedTo, + getWorkspaceAttendeeTrackingUpdateMessage, getWorkspaceCategoryUpdateMessage, getWorkspaceCurrencyUpdateMessage, getWorkspaceCustomUnitRateAddedMessage, @@ -106,7 +107,6 @@ import { getWorkspaceTagUpdateMessage, getWorkspaceTaxUpdateMessage, getWorkspaceUpdateFieldMessage, - getWorkspaceAttendeeTrackingUpdateMessage, isActionableAddPaymentCard, isActionableCardFraudAlert, isActionableJoinRequest, From dd73611766b6151a9fc9075cb7f6c5b506901cdc Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Mon, 17 Nov 2025 22:15:54 +0100 Subject: [PATCH 3/9] update copy --- src/languages/en.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/en.ts b/src/languages/en.ts index 4c91fe868804..46c950112c7c 100755 --- a/src/languages/en.ts +++ b/src/languages/en.ts @@ -6228,7 +6228,7 @@ const translations = { `changed the rate of reports randomly routed for manual approval to ${Math.round(newAuditRate * 100)}% (previously ${Math.round(oldAuditRate * 100)}%)`, updatedManualApprovalThreshold: ({oldLimit, newLimit}: UpdatedPolicyManualApprovalThresholdParams) => `changed the manual approval limit for all expenses to ${newLimit} (previously ${oldLimit})`, - updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'enabled' : 'disabled'} attendee tracking for this workspace`, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'enabled' : 'disabled'} attendee tracking`, addTax: ({taxName}: UpdatedPolicyTaxParams) => `added the tax "${taxName}"`, deleteTax: ({taxName}: UpdatedPolicyTaxParams) => `removed the tax "${taxName}"`, updateTax: ({oldValue, taxName, updatedField, newValue}: UpdatedPolicyTaxParams) => { From db8e6037b6738bfd5149cf49f39c1e53aefc4fd8 Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Mon, 17 Nov 2025 22:33:57 +0100 Subject: [PATCH 4/9] handle the action in getReportName --- src/libs/ReportUtils.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index 105d3c5a628c..d5ef4d828473 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -200,6 +200,7 @@ import { getRetractedMessage, getSortedReportActions, getTravelUpdateMessage, + getWorkspaceAttendeeTrackingUpdateMessage, getWorkspaceCurrencyUpdateMessage, getWorkspaceFrequencyUpdateMessage, getWorkspaceReportFieldAddMessage, @@ -5720,6 +5721,9 @@ function getReportName( if (isActionOfType(parentReportAction, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_DEFAULT_TITLE_ENFORCED)) { return getPolicyChangeLogDefaultTitleEnforcedMessage(parentReportAction); } + if (isActionOfType(parentReportAction, CONST.REPORT.ACTIONS.TYPE.POLICY_CHANGE_LOG.UPDATE_IS_ATTENDEE_TRACKING_ENABLED)) { + return getWorkspaceAttendeeTrackingUpdateMessage(parentReportAction); + } if (isActionOfType(parentReportAction, CONST.REPORT.ACTIONS.TYPE.ACTIONABLE_CARD_FRAUD_ALERT) && getOriginalMessage(parentReportAction)?.resolution) { return getActionableCardFraudAlertResolutionMessage(parentReportAction); From 989c86ba0767eaffefbab8d9bb90f6017d462ba1 Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Mon, 17 Nov 2025 22:41:02 +0100 Subject: [PATCH 5/9] add spanish translation --- src/languages/es.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/languages/es.ts b/src/languages/es.ts index d1bd623dda4d..e58c29f379bd 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -5889,6 +5889,7 @@ ${amount} para ${merchant} - ${date}`, updatedAuditRate: ({oldAuditRate, newAuditRate}) => `cambió la tasa de informes enviados aleatoriamente para aprobación manual a ${Math.round(newAuditRate * 100)}% (previamente ${Math.round(oldAuditRate * 100)}%)`, updatedManualApprovalThreshold: ({oldLimit, newLimit}) => `cambió el límite de aprobación manual para todos los gastos a ${newLimit} (previamente ${oldLimit})`, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `seguimiento de asistentes ${enabled ? 'habilitó' : 'deshabilitó'}`, addTax: ({taxName}) => `añadió el impuesto "${taxName}"`, deleteTax: ({taxName}) => `eliminó el impuesto "${taxName}"`, updateTax: ({oldValue, taxName, updatedField, newValue}) => { From def2adb877c0226c1b1e1f8a909f87be9540cc84 Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Mon, 17 Nov 2025 22:45:13 +0100 Subject: [PATCH 6/9] update the translation --- src/languages/es.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/languages/es.ts b/src/languages/es.ts index e58c29f379bd..ab29e7f9fed0 100644 --- a/src/languages/es.ts +++ b/src/languages/es.ts @@ -5889,7 +5889,7 @@ ${amount} para ${merchant} - ${date}`, updatedAuditRate: ({oldAuditRate, newAuditRate}) => `cambió la tasa de informes enviados aleatoriamente para aprobación manual a ${Math.round(newAuditRate * 100)}% (previamente ${Math.round(oldAuditRate * 100)}%)`, updatedManualApprovalThreshold: ({oldLimit, newLimit}) => `cambió el límite de aprobación manual para todos los gastos a ${newLimit} (previamente ${oldLimit})`, - updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `seguimiento de asistentes ${enabled ? 'habilitó' : 'deshabilitó'}`, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'habilitó' : 'deshabilitó'} el seguimiento de asistentes`, addTax: ({taxName}) => `añadió el impuesto "${taxName}"`, deleteTax: ({taxName}) => `eliminó el impuesto "${taxName}"`, updateTax: ({oldValue, taxName, updatedField, newValue}) => { From 27b1ea9ea4388fbd7a4de3039683a22c216c46a2 Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Tue, 18 Nov 2025 20:27:52 +0100 Subject: [PATCH 7/9] simplify enabled value handling --- src/libs/ReportActionsUtils.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libs/ReportActionsUtils.ts b/src/libs/ReportActionsUtils.ts index f584351656cf..1f19d4766158 100644 --- a/src/libs/ReportActionsUtils.ts +++ b/src/libs/ReportActionsUtils.ts @@ -2856,11 +2856,10 @@ function getWorkspaceUpdateFieldMessage(action: ReportAction): string { } function getWorkspaceAttendeeTrackingUpdateMessage(action: ReportAction): string { - const {newValue} = getOriginalMessage(action as ReportAction) ?? {}; - const enabled = newValue === 'true'; + const {enabled} = getOriginalMessage(action as ReportAction) ?? {}; // eslint-disable-next-line @typescript-eslint/no-deprecated - return translateLocal('workspaceActions.updatedAttendeeTracking', {enabled}); + return translateLocal('workspaceActions.updatedAttendeeTracking', {enabled: !!enabled}); } function getPolicyChangeLogMaxExpenseAmountNoReceiptMessage(action: ReportAction): string { From 302cb45ade3c59c8717ca2df9e621a3a19f3309d Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Tue, 18 Nov 2025 23:11:48 +0100 Subject: [PATCH 8/9] add translations --- src/languages/de.ts | 1 + src/languages/fr.ts | 1 + src/languages/it.ts | 1 + src/languages/ja.ts | 1 + src/languages/nl.ts | 1 + src/languages/pl.ts | 1 + src/languages/pt-BR.ts | 1 + src/languages/zh-hans.ts | 1 + 8 files changed, 8 insertions(+) diff --git a/src/languages/de.ts b/src/languages/de.ts index 6ee628ce4b41..9aaf69ec9e61 100644 --- a/src/languages/de.ts +++ b/src/languages/de.ts @@ -6252,6 +6252,7 @@ ${ } } }, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'aktiviert' : 'deaktiviert'} Teilnehmerverfolgung`, }, roomMembersPage: { memberNotFound: 'Mitglied nicht gefunden.', diff --git a/src/languages/fr.ts b/src/languages/fr.ts index 4f5ee5d17dee..767f9ac36509 100644 --- a/src/languages/fr.ts +++ b/src/languages/fr.ts @@ -6260,6 +6260,7 @@ ${ } } }, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'activé' : 'désactivé'} suivi des participants`, }, roomMembersPage: { memberNotFound: 'Membre non trouvé.', diff --git a/src/languages/it.ts b/src/languages/it.ts index 0e54f3daae13..09cd3e1dcbad 100644 --- a/src/languages/it.ts +++ b/src/languages/it.ts @@ -6239,6 +6239,7 @@ ${ } } }, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'abilitato' : 'disabilitato'} tracciamento dei partecipanti`, }, roomMembersPage: { memberNotFound: 'Membro non trovato.', diff --git a/src/languages/ja.ts b/src/languages/ja.ts index 9efb79b3a78d..f89f5b308961 100644 --- a/src/languages/ja.ts +++ b/src/languages/ja.ts @@ -6175,6 +6175,7 @@ ${ } } }, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? '有効' : '無効'} 参加者の追跡`, }, roomMembersPage: { memberNotFound: 'メンバーが見つかりません。', diff --git a/src/languages/nl.ts b/src/languages/nl.ts index edf0a885378d..272740e0f98b 100644 --- a/src/languages/nl.ts +++ b/src/languages/nl.ts @@ -6222,6 +6222,7 @@ ${ } } }, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'ingeschakeld' : 'uitgeschakeld'} bijhouden van aanwezigen`, }, roomMembersPage: { memberNotFound: 'Lid niet gevonden.', diff --git a/src/languages/pl.ts b/src/languages/pl.ts index d88381f33548..ac55183f1381 100644 --- a/src/languages/pl.ts +++ b/src/languages/pl.ts @@ -6209,6 +6209,7 @@ ${ } } }, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'włączone' : 'Wyłączone'} śledzenie uczestników`, }, roomMembersPage: { memberNotFound: 'Nie znaleziono członka.', diff --git a/src/languages/pt-BR.ts b/src/languages/pt-BR.ts index 39cf4d45f7af..8314b06cca75 100644 --- a/src/languages/pt-BR.ts +++ b/src/languages/pt-BR.ts @@ -6221,6 +6221,7 @@ ${ } } }, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? 'ativado' : 'desativado'} acompanhamento de participantes`, }, roomMembersPage: { memberNotFound: 'Membro não encontrado.', diff --git a/src/languages/zh-hans.ts b/src/languages/zh-hans.ts index 7762508a518e..fac1355f1fda 100644 --- a/src/languages/zh-hans.ts +++ b/src/languages/zh-hans.ts @@ -6086,6 +6086,7 @@ ${ } } }, + updatedAttendeeTracking: ({enabled}: {enabled: boolean}) => `${enabled ? '已启用' : '已禁用'} 与会者跟踪`, }, roomMembersPage: { memberNotFound: '未找到成员。', From 0032af5ecb25460e8d42bea48f1344ca3e630463 Mon Sep 17 00:00:00 2001 From: Rayane <77965000+rayane-d@users.noreply.github.com> Date: Thu, 20 Nov 2025 15:49:32 +0100 Subject: [PATCH 9/9] Ignore lint-changed no-deprecated errors --- src/libs/ReportUtils.ts | 54 +++++++++++++++++++++++++++++++++++------ 1 file changed, 47 insertions(+), 7 deletions(-) diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts index 6e1be45d6441..d064d33a25c7 100644 --- a/src/libs/ReportUtils.ts +++ b/src/libs/ReportUtils.ts @@ -926,6 +926,7 @@ type GetReportNameParams = { parentReportActionParam?: OnyxInputOrEntry; personalDetails?: Partial; invoiceReceiverPolicy?: OnyxEntry; + // eslint-disable-next-line @typescript-eslint/no-deprecated transactions?: SearchTransaction[]; reports?: Report[]; policies?: Policy[]; @@ -2248,7 +2249,11 @@ function findLastAccessedReport(ignoreDomainRooms: boolean, openOnAdminRoom = fa /** * Whether the provided report has expenses */ -function hasExpenses(reportID?: string, transactions?: SearchTransaction[] | Array>): boolean { +function hasExpenses( + reportID?: string, + // eslint-disable-next-line @typescript-eslint/no-deprecated + transactions?: SearchTransaction[] | Array>, +): boolean { if (transactions) { return !!transactions?.find((transaction) => transaction?.reportID === reportID); } @@ -2258,7 +2263,11 @@ function hasExpenses(reportID?: string, transactions?: SearchTransaction[] | Arr /** * Whether the provided report is a closed expense report with no expenses */ -function isClosedExpenseReportWithNoExpenses(report: OnyxEntry, transactions?: SearchTransaction[] | Array>): boolean { +function isClosedExpenseReportWithNoExpenses( + report: OnyxEntry, + // eslint-disable-next-line @typescript-eslint/no-deprecated + transactions?: SearchTransaction[] | Array>, +): boolean { if (!report?.statusNum || report.statusNum !== CONST.REPORT.STATUS_NUM.CLOSED || !isExpenseReport(report)) { return false; } @@ -4484,6 +4493,7 @@ function canEditMoneyRequest( isChatReportArchived = false, report?: OnyxInputOrEntry, policy?: OnyxEntry, + // eslint-disable-next-line @typescript-eslint/no-deprecated linkedTransaction?: OnyxEntry | SearchTransaction, ): boolean { const isDeleted = isDeletedAction(reportAction); @@ -4626,6 +4636,7 @@ function canEditFieldOfMoneyRequest( isDeleteAction?: boolean, isChatReportArchived = false, outstandingReportsByPolicyID?: OutstandingReportsByPolicyIDDerivedValue, + // eslint-disable-next-line @typescript-eslint/no-deprecated linkedTransaction?: OnyxEntry | SearchTransaction, report?: OnyxInputOrEntry, policy?: OnyxEntry, @@ -4908,7 +4919,12 @@ function areAllRequestsBeingSmartScanned(iouReportID: string | undefined, report * * NOTE: This method is only meant to be used inside this action file. Do not export and use it elsewhere. Use useOnyx instead. */ -function getLinkedTransaction(reportAction: OnyxEntry, transactions?: SearchTransaction[]): OnyxEntry | SearchTransaction { +function getLinkedTransaction( + reportAction: OnyxEntry, + // eslint-disable-next-line @typescript-eslint/no-deprecated + transactions?: SearchTransaction[], + // eslint-disable-next-line @typescript-eslint/no-deprecated +): OnyxEntry | SearchTransaction { let transactionID: string | undefined; if (isMoneyRequestAction(reportAction)) { @@ -4963,6 +4979,7 @@ function getTransactionReportName({ reports, }: { reportAction: OnyxEntry; + // eslint-disable-next-line @typescript-eslint/no-deprecated transactions?: SearchTransaction[]; reports?: Report[]; }): string { @@ -5596,6 +5613,7 @@ function getReportName( personalDetails?: Partial, invoiceReceiverPolicy?: OnyxEntry, reportAttributes?: ReportAttributesDerivedValue['reports'], + // eslint-disable-next-line @typescript-eslint/no-deprecated transactions?: SearchTransaction[], isReportArchived?: boolean, reports?: Report[], @@ -8908,6 +8926,7 @@ function hasViolations( reportID: string | undefined, transactionViolations: OnyxCollection, shouldShowInReview?: boolean, + // eslint-disable-next-line @typescript-eslint/no-deprecated reportTransactions?: SearchTransaction[], ): boolean { const transactions = reportTransactions ?? getReportTransactions(reportID); @@ -8921,6 +8940,7 @@ function hasWarningTypeViolations( reportID: string | undefined, transactionViolations: OnyxCollection, shouldShowInReview?: boolean, + // eslint-disable-next-line @typescript-eslint/no-deprecated reportTransactions?: SearchTransaction[], ): boolean { const transactions = reportTransactions ?? getReportTransactions(reportID); @@ -8954,6 +8974,7 @@ function hasNoticeTypeViolations( reportID: string | undefined, transactionViolations: OnyxCollection, shouldShowInReview?: boolean, + // eslint-disable-next-line @typescript-eslint/no-deprecated reportTransactions?: SearchTransaction[], ): boolean { const transactions = reportTransactions ?? getReportTransactions(reportID); @@ -8963,7 +8984,12 @@ function hasNoticeTypeViolations( /** * Checks to see if a report contains any type of violation */ -function hasAnyViolations(reportID: string | undefined, transactionViolations: OnyxCollection, reportTransactions?: SearchTransaction[]) { +function hasAnyViolations( + reportID: string | undefined, + transactionViolations: OnyxCollection, + // eslint-disable-next-line @typescript-eslint/no-deprecated + reportTransactions?: SearchTransaction[], +) { return ( hasViolations(reportID, transactionViolations, undefined, reportTransactions) || hasNoticeTypeViolations(reportID, transactionViolations, true, reportTransactions) || @@ -8987,12 +9013,18 @@ function shouldBlockSubmitDueToStrictPolicyRules( reportID: string | undefined, transactionViolations: OnyxCollection, areStrictPolicyRulesEnabled: boolean, + // eslint-disable-next-line @typescript-eslint/no-deprecated reportTransactions?: Transaction[] | SearchTransaction[], ) { if (!areStrictPolicyRulesEnabled) { return false; } - return hasAnyViolations(reportID, transactionViolations, reportTransactions as SearchTransaction[]); + return hasAnyViolations( + reportID, + transactionViolations, + // eslint-disable-next-line @typescript-eslint/no-deprecated + reportTransactions as SearchTransaction[], + ); } type ReportErrorsAndReportActionThatRequiresAttention = { @@ -10345,7 +10377,11 @@ function getAllHeldTransactions(iouReportID?: string): Transaction[] { /** * Check if Report has any held expenses */ -function hasHeldExpenses(iouReportID?: string, allReportTransactions?: SearchTransaction[]): boolean { +function hasHeldExpenses( + iouReportID?: string, + // eslint-disable-next-line @typescript-eslint/no-deprecated + allReportTransactions?: SearchTransaction[], +): boolean { const iouReportTransactions = getReportTransactions(iouReportID); const transactions = allReportTransactions ?? iouReportTransactions; return transactions.some((transaction) => isOnHoldTransactionUtils(transaction)); @@ -10354,7 +10390,11 @@ function hasHeldExpenses(iouReportID?: string, allReportTransactions?: SearchTra /** * Check if all expenses in the Report are on hold */ -function hasOnlyHeldExpenses(iouReportID?: string, allReportTransactions?: SearchTransaction[]): boolean { +function hasOnlyHeldExpenses( + iouReportID?: string, + // eslint-disable-next-line @typescript-eslint/no-deprecated + allReportTransactions?: SearchTransaction[], +): boolean { const transactionsByIouReportID = getReportTransactions(iouReportID); const reportTransactions = allReportTransactions ?? transactionsByIouReportID; return reportTransactions.length > 0 && !reportTransactions.some((transaction) => !isOnHoldTransactionUtils(transaction));