From 5ef46bd306d910b714510f45a018d7132dd00ed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Niedzielski?= Date: Tue, 21 Mar 2023 15:46:45 +0100 Subject: [PATCH 1/4] IBX-5369: Fixed admin notifications request being queued too often --- .../public/js/scripts/admin.notifications.modal.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js b/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js index 03d9dea237..bf52a7e716 100644 --- a/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js +++ b/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js @@ -170,5 +170,10 @@ modal.querySelectorAll(SELECTOR_MODAL_RESULTS).forEach((link) => link.addEventListener('click', handleModalResultsClick, false)); getNotificationsStatus(); - global.setInterval(getNotificationsStatus, INTERVAL); + (function loop() { + global.setTimeout(() => { + getNotificationsStatus(); + loop(); + }, INTERVAL) + })() })(window, window.document, window.ibexa, window.Translator); From 27787e63315d5248f9d921583209cadc7a73cc67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Niedzielski?= Date: Tue, 21 Mar 2023 15:58:29 +0100 Subject: [PATCH 2/4] Fixed admin notifications request being queued too often --- .../Resources/public/js/scripts/admin.notifications.modal.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js b/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js index bf52a7e716..e2b2f3707f 100644 --- a/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js +++ b/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js @@ -58,7 +58,7 @@ }, }); - fetch(request) + return fetch(request) .then(getJsonFromResponse) .then((notificationsInfo) => { setPendingNotificationCount(notificationsInfo); @@ -172,8 +172,7 @@ getNotificationsStatus(); (function loop() { global.setTimeout(() => { - getNotificationsStatus(); - loop(); + getNotificationsStatus().then(() => loop()); }, INTERVAL) })() })(window, window.document, window.ibexa, window.Translator); From 85e6c0d3031dccaa07ac28012da8807156800658 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Niedzielski?= Date: Tue, 21 Mar 2023 15:59:38 +0100 Subject: [PATCH 3/4] Fixed admin notifications request being queued too often --- .../public/js/scripts/admin.notifications.modal.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js b/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js index e2b2f3707f..5de705d421 100644 --- a/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js +++ b/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js @@ -169,10 +169,10 @@ modal.querySelectorAll(SELECTOR_MODAL_RESULTS).forEach((link) => link.addEventListener('click', handleModalResultsClick, false)); - getNotificationsStatus(); - (function loop() { + const loop = function loop() { global.setTimeout(() => { getNotificationsStatus().then(() => loop()); }, INTERVAL) - })() + } + getNotificationsStatus().then(() => loop()); })(window, window.document, window.ibexa, window.Translator); From c1d9f08fa4f5e77651e5908724721dc943638108 Mon Sep 17 00:00:00 2001 From: tischsoic Date: Wed, 22 Mar 2023 11:06:02 +0100 Subject: [PATCH 4/4] small frontend refactor --- .../public/js/scripts/admin.notifications.modal.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js b/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js index 5de705d421..edf17b0bf6 100644 --- a/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js +++ b/src/bundle/Resources/public/js/scripts/admin.notifications.modal.js @@ -169,10 +169,11 @@ modal.querySelectorAll(SELECTOR_MODAL_RESULTS).forEach((link) => link.addEventListener('click', handleModalResultsClick, false)); - const loop = function loop() { - global.setTimeout(() => { - getNotificationsStatus().then(() => loop()); - }, INTERVAL) - } - getNotificationsStatus().then(() => loop()); + const getNotificationsStatusLoop = () => { + getNotificationsStatus().finally(() => { + global.setTimeout(getNotificationsStatusLoop, INTERVAL); + }); + }; + + getNotificationsStatusLoop(); })(window, window.document, window.ibexa, window.Translator);