@the-portland-company/shell 0.36.1 → 0.36.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-chrome.cjs +20 -6
- package/dist/app-chrome.cjs.map +1 -1
- package/dist/app-chrome.js +20 -6
- package/dist/app-chrome.js.map +1 -1
- package/package.json +1 -1
package/dist/app-chrome.cjs
CHANGED
|
@@ -2770,17 +2770,31 @@ function FrameBody({
|
|
|
2770
2770
|
signingOutRef.current = true;
|
|
2771
2771
|
broadcastLogout();
|
|
2772
2772
|
signOutRef.current();
|
|
2773
|
+
window.setTimeout(() => {
|
|
2774
|
+
window.location.replace(window.location.href);
|
|
2775
|
+
}, 2e3);
|
|
2773
2776
|
}, []);
|
|
2774
2777
|
react.useEffect(
|
|
2775
2778
|
() => (
|
|
2776
|
-
// A tab that learns of a sign-out elsewhere
|
|
2777
|
-
//
|
|
2778
|
-
//
|
|
2779
|
-
//
|
|
2780
|
-
//
|
|
2779
|
+
// A tab that learns of a sign-out elsewhere forces a real NAVIGATION
|
|
2780
|
+
// rather than calling the app's own sign-out handler.
|
|
2781
|
+
//
|
|
2782
|
+
// Measured against production before this landed: calling the app's
|
|
2783
|
+
// handler did nothing at all. Apps wire it as
|
|
2784
|
+
// `onSignOut={() => { void signOutAction(); }}` — a server action invoked
|
|
2785
|
+
// outside a transition, so the `redirect()` inside it can never be
|
|
2786
|
+
// applied by the client and the tab just sits there. Building cross-tab
|
|
2787
|
+
// logout on that path made the whole feature a no-op.
|
|
2788
|
+
//
|
|
2789
|
+
// A hard navigation cannot fail that way, and it hands the decision to
|
|
2790
|
+
// the authority rather than guessing: the app's middleware sees a session
|
|
2791
|
+
// whose auth_time predates `politogy_logout_at`, treats it as revoked,
|
|
2792
|
+
// and redirects to Politogy ID. Server-side truth decides; the client
|
|
2793
|
+
// only forces the request. No re-broadcast — the signal that woke us is
|
|
2794
|
+
// already on record for every tab.
|
|
2781
2795
|
watchLogout(() => {
|
|
2782
2796
|
if (signingOutRef.current) return;
|
|
2783
|
-
|
|
2797
|
+
window.location.replace(window.location.href);
|
|
2784
2798
|
})
|
|
2785
2799
|
),
|
|
2786
2800
|
[]
|