From 958ebdffab70f7d5dc9aaa8ad3e266d2762f19d0 Mon Sep 17 00:00:00 2001 From: Maicon Carraro Date: Sun, 4 May 2025 13:38:49 -0300 Subject: [PATCH 1/3] fix: safely call postMessage --- packages/next-auth/src/react.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/next-auth/src/react.tsx b/packages/next-auth/src/react.tsx index a900155c68..f499ddb68a 100644 --- a/packages/next-auth/src/react.tsx +++ b/packages/next-auth/src/react.tsx @@ -180,8 +180,7 @@ export async function getSession(params?: GetSessionParams) { params ) if (params?.broadcast ?? true) { - const broadcastChannel = getNewBroadcastChannel() - broadcastChannel.postMessage({ + broadcast().postMessage({ event: "session", data: { trigger: "getSession" }, }) From 808efb1f8551f610d1f6d8b128315f6bc2790ad1 Mon Sep 17 00:00:00 2001 From: Maicon Carraro Date: Sun, 4 May 2025 13:45:37 -0300 Subject: [PATCH 2/3] fix: change logic --- packages/next-auth/src/react.tsx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/next-auth/src/react.tsx b/packages/next-auth/src/react.tsx index f499ddb68a..c19355ca0c 100644 --- a/packages/next-auth/src/react.tsx +++ b/packages/next-auth/src/react.tsx @@ -67,13 +67,10 @@ export const __NEXTAUTH: AuthClientConfig = { _getSession: () => {}, } +// https://github.com/nextauthjs/next-auth/pull/10762 let broadcastChannel: BroadcastChannel | null = null function getNewBroadcastChannel() { - return new BroadcastChannel("next-auth") -} - -function broadcast() { if (typeof BroadcastChannel === "undefined") { return { postMessage: () => {}, @@ -82,6 +79,10 @@ function broadcast() { } } + return new BroadcastChannel("next-auth") +} + +function broadcast() { if (broadcastChannel === null) { broadcastChannel = getNewBroadcastChannel() } @@ -180,7 +181,8 @@ export async function getSession(params?: GetSessionParams) { params ) if (params?.broadcast ?? true) { - broadcast().postMessage({ + // https://github.com/nextauthjs/next-auth/pull/11470 + getNewBroadcastChannel().postMessage({ event: "session", data: { trigger: "getSession" }, }) From 55ff744f0598e0e40bd448f92031f86284596b11 Mon Sep 17 00:00:00 2001 From: maiconcarraro Date: Mon, 12 May 2025 13:00:03 -0300 Subject: [PATCH 3/3] fix: satisfies BroadcastChannel --- packages/next-auth/src/react.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/next-auth/src/react.tsx b/packages/next-auth/src/react.tsx index c19355ca0c..4110e2bf81 100644 --- a/packages/next-auth/src/react.tsx +++ b/packages/next-auth/src/react.tsx @@ -76,7 +76,12 @@ function getNewBroadcastChannel() { postMessage: () => {}, addEventListener: () => {}, removeEventListener: () => {}, - } + name: "next-auth", + onmessage: null, + onmessageerror: null, + close: () => {}, + dispatchEvent: () => false, + } satisfies BroadcastChannel } return new BroadcastChannel("next-auth") pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy