]> git.evergreen-ils.org Git - Evergreen.git/commit
LP#2034617: improve how AngularJS handles logout BroadcastChannel messages
authorGalen Charlton <gmc@equinoxOLI.org>
Wed, 6 Sep 2023 20:37:43 +0000 (16:37 -0400)
committerJeff Davis <jdavis@sitka.bclibraries.ca>
Wed, 13 Mar 2024 17:49:10 +0000 (10:49 -0700)
commite9a5ef552907605ec89b72661c75fc602d0b58c1
treefa69d893dd28e506f1372587a43306901d243af3
parentccd8f1b0b64fde5d48d6b3a7a93e75990bb3f0f7
LP#2034617: improve how AngularJS handles logout BroadcastChannel messages

This patch reduces the risk that if there are multiple tabs of the
AngularJS staff client open, that logging out from one of them will
cause a storm of logout messages on the eg.auth BroadcastChannel.

If the open staff client tabs are all AngularJS, the result of that
storm can freeze the user's browser. However, if one or more of
the tabs are running the Angular client, the Angular tabs can
_also_ make repeated open-ils.auth.session.delete calls at a high
rate of speed, thereby degrading the availability of the
open-ils.auth service.

Testing involves opening up 4 or 5 tabs running the staff client, with
at least three or four of them running the AngularJS client. It
is strongly recommended that testing of this patch be done only on
personal, isolated test Evergreen systems.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Signed-off-by: Jason Boyer <JBoyer@equinoxOLI.org>
Signed-off-by: Jeff Davis <jdavis@sitka.bclibraries.ca>
Open-ILS/web/js/ui/default/staff/services/startup.js