Skip to content

Commit f706c7c

Browse files
arosiclairOSBotify
authored andcommitted
Merge pull request #78926 from Expensify/revert-76739-fix/leave-thread-option
[CP Staging] Revert "Fix/leave thread option" (cherry picked from commit c3670c9) (cherry-picked to staging by arosiclair)
1 parent 416b463 commit f706c7c

File tree

4 files changed

+46
-571
lines changed

4 files changed

+46
-571
lines changed

src/libs/ContextMenuUtils.ts

Lines changed: 0 additions & 65 deletions
This file was deleted.

src/libs/ReportUtils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2751,7 +2751,7 @@ function getChildReportNotificationPreference(reportAction: OnyxInputOrEntry<Rep
27512751
return childReportNotificationPreference;
27522752
}
27532753

2754-
return CONST.REPORT.NOTIFICATION_PREFERENCE.HIDDEN;
2754+
return isActionCreator(reportAction) ? CONST.REPORT.NOTIFICATION_PREFERENCE.ALWAYS : CONST.REPORT.NOTIFICATION_PREFERENCE.HIDDEN;
27552755
}
27562756

27572757
function canAddOrDeleteTransactions(moneyRequestReport: OnyxEntry<Report>, isReportArchived = false): boolean {

src/pages/home/report/ContextMenu/ContextMenuActions.tsx

Lines changed: 45 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import QuickEmojiReactions from '@components/Reactions/QuickEmojiReactions';
1313
import addEncryptedAuthTokenToURL from '@libs/addEncryptedAuthTokenToURL';
1414
import {isMobileSafari} from '@libs/Browser';
1515
import Clipboard from '@libs/Clipboard';
16-
import {shouldShowJoinThread, shouldShowLeaveThread} from '@libs/ContextMenuUtils';
1716
import EmailUtils from '@libs/EmailUtils';
1817
import {getEnvironmentURL} from '@libs/Environment/Environment';
1918
import fileDownload from '@libs/fileDownload';
@@ -87,7 +86,9 @@ import {
8786
isActionableTrackExpense,
8887
isActionOfType,
8988
isCardIssuedAction,
89+
isCreatedAction,
9090
isCreatedTaskReportAction,
91+
isDeletedAction as isDeletedActionReportActionsUtils,
9192
isMarkAsClosedAction,
9293
isMemberChangeAction,
9394
isMessageDeleted,
@@ -104,6 +105,7 @@ import {
104105
isTaskAction as isTaskActionReportActionsUtils,
105106
isTripPreview,
106107
isUnapprovedAction,
108+
isWhisperAction as isWhisperActionReportActionsUtils,
107109
} from '@libs/ReportActionsUtils';
108110
import {getReportName} from '@libs/ReportNameUtils';
109111
import {
@@ -131,6 +133,7 @@ import {
131133
getWorkspaceNameUpdatedMessage,
132134
isExpenseReport,
133135
shouldDisableThread,
136+
shouldDisplayThreadReplies as shouldDisplayThreadRepliesReportUtils,
134137
} from '@libs/ReportUtils';
135138
import {getTaskCreatedMessage, getTaskReportActionMessage} from '@libs/TaskUtils';
136139
import {setDownload} from '@userActions/Download';
@@ -489,9 +492,28 @@ const ContextMenuActions: ContextMenuAction[] = [
489492
{
490493
isAnonymousAction: false,
491494
textTranslateKey: 'reportActionContextMenu.joinThread',
492-
icon: Expensicons.Bell,
493-
shouldShow: ({reportAction, isArchivedRoom, isThreadReportParentAction, isHarvestReport}) =>
494-
shouldShowJoinThread({reportAction, isArchivedRoom, isThreadReportParentAction, isHarvestReport}),
495+
icon: 'Bell',
496+
shouldShow: ({reportAction, isArchivedRoom, isThreadReportParentAction, isHarvestReport}) => {
497+
const childReportNotificationPreference = getChildReportNotificationPreferenceReportUtils(reportAction);
498+
const isDeletedAction = isDeletedActionReportActionsUtils(reportAction);
499+
const shouldDisplayThreadReplies = shouldDisplayThreadRepliesReportUtils(reportAction, isThreadReportParentAction);
500+
const subscribed = childReportNotificationPreference !== 'hidden';
501+
const isWhisperAction = isWhisperActionReportActionsUtils(reportAction) || isActionableTrackExpense(reportAction);
502+
const isExpenseReportAction = isMoneyRequestAction(reportAction) || isReportPreviewActionReportActionsUtils(reportAction);
503+
const isTaskAction = isCreatedTaskReportAction(reportAction);
504+
const isHarvestCreatedExpenseReportAction = isHarvestReport && isCreatedAction(reportAction);
505+
const shouldDisableJoinThread = shouldDisableThread(reportAction, isThreadReportParentAction, isArchivedRoom);
506+
return (
507+
!subscribed &&
508+
!isWhisperAction &&
509+
!isTaskAction &&
510+
!isExpenseReportAction &&
511+
!isThreadReportParentAction &&
512+
!isHarvestCreatedExpenseReportAction &&
513+
!shouldDisableJoinThread &&
514+
(shouldDisplayThreadReplies || (!isDeletedAction && !isArchivedRoom))
515+
);
516+
},
495517
onPress: (closePopover, {reportAction, reportID}) => {
496518
const childReportNotificationPreference = getChildReportNotificationPreferenceReportUtils(reportAction);
497519
const originalReportID = getOriginalReportID(reportID, reportAction);
@@ -513,8 +535,25 @@ const ContextMenuActions: ContextMenuAction[] = [
513535
isAnonymousAction: false,
514536
textTranslateKey: 'reportActionContextMenu.leaveThread',
515537
icon: Expensicons.Exit,
516-
shouldShow: ({reportAction, isArchivedRoom, isThreadReportParentAction, isHarvestReport}) =>
517-
shouldShowLeaveThread({reportAction, isArchivedRoom, isThreadReportParentAction, isHarvestReport}),
538+
shouldShow: ({reportAction, isArchivedRoom, isThreadReportParentAction, isHarvestReport}) => {
539+
const childReportNotificationPreference = getChildReportNotificationPreferenceReportUtils(reportAction);
540+
const isDeletedAction = isDeletedActionReportActionsUtils(reportAction);
541+
const shouldDisplayThreadReplies = shouldDisplayThreadRepliesReportUtils(reportAction, isThreadReportParentAction);
542+
const subscribed = childReportNotificationPreference !== 'hidden';
543+
const isWhisperAction = isWhisperActionReportActionsUtils(reportAction) || isActionableTrackExpense(reportAction);
544+
const isExpenseReportAction = isMoneyRequestAction(reportAction) || isReportPreviewActionReportActionsUtils(reportAction);
545+
const isTaskAction = isCreatedTaskReportAction(reportAction);
546+
const isHarvestCreatedExpenseReportAction = isHarvestReport && isCreatedAction(reportAction);
547+
return (
548+
subscribed &&
549+
!isWhisperAction &&
550+
!isTaskAction &&
551+
!isExpenseReportAction &&
552+
!isThreadReportParentAction &&
553+
!isHarvestCreatedExpenseReportAction &&
554+
(shouldDisplayThreadReplies || (!isDeletedAction && !isArchivedRoom))
555+
);
556+
},
518557
onPress: (closePopover, {reportAction, reportID}) => {
519558
const childReportNotificationPreference = getChildReportNotificationPreferenceReportUtils(reportAction);
520559
const originalReportID = getOriginalReportID(reportID, reportAction);

0 commit comments

Comments
 (0)