From 21c85f0af6ad27e4af008280f3f7b8ee9e90996a Mon Sep 17 00:00:00 2001 From: Lazar Stamenkovic Date: Tue, 11 Jul 2023 04:46:20 -0500 Subject: [PATCH 1/5] add newActionSubscribers array in Report.js instead of newActionSubscriber object --- src/libs/actions/Report.js | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 416597fc0c74..fb611fac4546 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -171,24 +171,20 @@ function unsubscribeFromReportChannel(reportID) { Pusher.unsubscribe(pusherChannelName, Pusher.TYPE.USER_IS_TYPING); } -const defaultNewActionSubscriber = { - reportID: '', - callback: () => {}, -}; - -let newActionSubscriber = defaultNewActionSubscriber; +// new action subscriber array for report pages +let newActionSubscribers = [] /** * Enables the Report actions file to let the ReportActionsView know that a new comment has arrived in realtime for the current report - * + * Add subscriber for report id * @param {String} reportID * @param {Function} callback - * @returns {Function} + * @returns {Function} remove subscriber for report id */ function subscribeToNewActionEvent(reportID, callback) { - newActionSubscriber = {callback, reportID}; + newActionSubscribers.push({callback, reportID}) return () => { - newActionSubscriber = defaultNewActionSubscriber; + newActionSubscribers = newActionSubscribers.filter(s => s.reportID !== reportID); }; } @@ -200,11 +196,12 @@ function subscribeToNewActionEvent(reportID, callback) { * @param {String} reportActionID */ function notifyNewAction(reportID, accountID, reportActionID) { - if (reportID !== newActionSubscriber.reportID) { - return; + const actionSubscriber = newActionSubscribers.find(s => s.reportID === reportID) + if (!actionSubscriber) { + return } const isFromCurrentUser = accountID === currentUserAccountID; - newActionSubscriber.callback(isFromCurrentUser, reportActionID); + actionSubscriber.callback(isFromCurrentUser, reportActionID); } /** From ecc9db38e059bddeababbe94ae2a814eef72a21c Mon Sep 17 00:00:00 2001 From: Lazar Stamenkovic Date: Wed, 12 Jul 2023 03:39:02 -0500 Subject: [PATCH 2/5] fix a comment, approve CLA --- src/libs/actions/Report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index fb611fac4546..c3479d724248 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -179,7 +179,7 @@ let newActionSubscribers = [] * Add subscriber for report id * @param {String} reportID * @param {Function} callback - * @returns {Function} remove subscriber for report id + * @returns {Function} Remove subscriber for report id */ function subscribeToNewActionEvent(reportID, callback) { newActionSubscribers.push({callback, reportID}) From ccf002fa7c4cdf5eb5fdec7ad992709cab0acd35 Mon Sep 17 00:00:00 2001 From: Lazar Stamenkovic Date: Thu, 20 Jul 2023 19:45:47 -0500 Subject: [PATCH 3/5] fix lint error --- src/libs/actions/Report.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index c7a7d606b3e9..ea05671aa219 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -186,7 +186,7 @@ let newActionSubscribers = [] function subscribeToNewActionEvent(reportID, callback) { newActionSubscribers.push({callback, reportID}) return () => { - newActionSubscribers = newActionSubscribers.filter(s => s.reportID !== reportID); + newActionSubscribers = _.filter(newActionSubscribers, (subscriber) => subscriber.reportID !== reportID) }; } @@ -198,8 +198,8 @@ function subscribeToNewActionEvent(reportID, callback) { * @param {String} reportActionID */ function notifyNewAction(reportID, accountID, reportActionID) { - const actionSubscriber = newActionSubscribers.find(s => s.reportID === reportID) - if (!actionSubscriber) { + const actionSubscriber = _.find(newActionSubscribers, (subscriber) => subscriber.reportID === reportID) + if (!actionSubscriber) { return } const isFromCurrentUser = accountID === currentUserAccountID; From 6c3e7aae7f3983ed007bdf73b28e80045e7f1088 Mon Sep 17 00:00:00 2001 From: Lazar Stamenkovic Date: Thu, 20 Jul 2023 19:51:57 -0500 Subject: [PATCH 4/5] resolve a comment --- src/libs/actions/Report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 475b80c9a0e7..33fc5e1200f7 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -174,7 +174,7 @@ function unsubscribeFromReportChannel(reportID) { Pusher.unsubscribe(pusherChannelName, Pusher.TYPE.USER_IS_TYPING); } -// new action subscriber array for report pages +// New action subscriber array for report pages let newActionSubscribers = [] /** From a43b0857df406c720426fb98ab907f0a7115fdf1 Mon Sep 17 00:00:00 2001 From: Lazar Stamenkovic Date: Thu, 20 Jul 2023 20:16:45 -0500 Subject: [PATCH 5/5] code clean - add semicolon, remove space --- src/libs/actions/Report.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/libs/actions/Report.js b/src/libs/actions/Report.js index 33fc5e1200f7..c293356ce08b 100644 --- a/src/libs/actions/Report.js +++ b/src/libs/actions/Report.js @@ -175,7 +175,7 @@ function unsubscribeFromReportChannel(reportID) { } // New action subscriber array for report pages -let newActionSubscribers = [] +let newActionSubscribers = []; /** * Enables the Report actions file to let the ReportActionsView know that a new comment has arrived in realtime for the current report @@ -185,9 +185,9 @@ let newActionSubscribers = [] * @returns {Function} Remove subscriber for report id */ function subscribeToNewActionEvent(reportID, callback) { - newActionSubscribers.push({callback, reportID}) + newActionSubscribers.push({callback, reportID}); return () => { - newActionSubscribers = _.filter(newActionSubscribers, (subscriber) => subscriber.reportID !== reportID) + newActionSubscribers = _.filter(newActionSubscribers, (subscriber) => subscriber.reportID !== reportID); }; } @@ -199,9 +199,9 @@ function subscribeToNewActionEvent(reportID, callback) { * @param {String} reportActionID */ function notifyNewAction(reportID, accountID, reportActionID) { - const actionSubscriber = _.find(newActionSubscribers, (subscriber) => subscriber.reportID === reportID) - if (!actionSubscriber) { - return + const actionSubscriber = _.find(newActionSubscribers, (subscriber) => subscriber.reportID === reportID); + if (!actionSubscriber) { + return; } const isFromCurrentUser = accountID === currentUserAccountID; actionSubscriber.callback(isFromCurrentUser, reportActionID);