You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 1, 2022. It is now read-only.
For #379 I added code in the sample browser that will add a new tab if all tabs get closed. However this code is indirectly called from a session manager observer. If there are more observers then the following ones would get called with the session manager state already changed - or other calls in between.
Let's say there are two observers (A / B) registered on the session manager. And the session manager has one session X.
session manager (X)
X is removed from session manager.
A.onSessionRemoved(X) gets called: A adds a new session Y to session manager and this will notify observers:
A.onSessionAdded(Y) gets called
B.onSessionAdded(Y) gets called
B.onSessionRemoved(X) gets called.
In the end A and B have observed the same events. But in different order. B never saw an empty session manager:
For #379 I added code in the sample browser that will add a new tab if all tabs get closed. However this code is indirectly called from a session manager observer. If there are more observers then the following ones would get called with the session manager state already changed - or other calls in between.
Let's say there are two observers (A / B) registered on the session manager. And the session manager has one session X.
session manager(X)Xis removed fromsession manager.A.onSessionRemoved(X)gets called:Aadds a new sessionYtosession managerand this will notify observers:A.onSessionAdded(Y)gets calledB.onSessionAdded(Y)gets calledIn the end A and B have observed the same events. But in different order. B never saw an empty session manager:
┆Issue is synchronized with this Jira Task