diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 6555425f3e50..971e91f078c4 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -10,6 +10,7 @@ import * as Pusher from '../Pusher/pusher'; import LocalNotification from '../Notification/LocalNotification'; import PushNotification from '../Notification/PushNotification'; import * as PersonalDetails from './PersonalDetails'; +import * as User from './User'; import Navigation from '../Navigation/Navigation'; import * as ActiveClientManager from '../ActiveClientManager'; import Visibility from '../Visibility'; @@ -1181,6 +1182,18 @@ function addAction(reportID, text, file) { console.error(response.message); return; } + + if (response.jsonCode === 666 && reportID === conciergeChatReportID) { + Growl.error(Localize.translateLocal('reportActionCompose.blockedFromConcierge')); + Onyx.merge(`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`, { + [optimisticReportActionID]: null, + }); + + // The fact that the API is returning this error means the BLOCKED_FROM_CONCIERGE nvp in the user details has changed since the last time we checked, so let's update + User.getUserDetails(); + return; + } + updateReportWithNewAction(reportID, response.reportAction); }); } diff --git a/src/libs/actions/User.js b/src/libs/actions/User.js index 455812491ee2..b3ec5411b526 100644 --- a/src/libs/actions/User.js +++ b/src/libs/actions/User.js @@ -103,6 +103,7 @@ function getUserDetails() { CONST.NVP.PAYPAL_ME_ADDRESS, CONST.NVP.PREFERRED_EMOJI_SKIN_TONE, CONST.NVP.FREQUENTLY_USED_EMOJIS, + CONST.NVP.BLOCKED_FROM_CONCIERGE, ].join(','), }) .then((response) => { diff --git a/src/pages/home/report/ReportActionCompose.js b/src/pages/home/report/ReportActionCompose.js index 51759e6bb846..d28b7b75d0fc 100755 --- a/src/pages/home/report/ReportActionCompose.js +++ b/src/pages/home/report/ReportActionCompose.js @@ -505,7 +505,7 @@ class ReportActionCompose extends React.Component { {shouldShowReportRecipientLocalTime && }