Skip to content

Commit 048e81b

Browse files
authored
fix(realtime): send access token to realtime on initial session (#439)
1 parent 1bfabfa commit 048e81b

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

Sources/Supabase/SupabaseClient.swift

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -353,16 +353,18 @@ public final class SupabaseClient: Sendable {
353353
}
354354

355355
private func handleTokenChanged(event: AuthChangeEvent, session: Session?) async {
356-
let accessToken = mutableState.withValue {
357-
if event == .tokenRefreshed || event == .signedIn, $0.changedAccessToken != session?.accessToken {
356+
let accessToken: String? = mutableState.withValue {
357+
if [.initialSession, .signedIn, .tokenRefreshed].contains(event), $0.changedAccessToken != session?.accessToken {
358358
$0.changedAccessToken = session?.accessToken
359-
return session?.accessToken
360-
} else if event == .signedOut {
359+
return session?.accessToken ?? supabaseKey
360+
}
361+
362+
if event == .signedOut {
361363
$0.changedAccessToken = nil
362364
return supabaseKey
363-
} else {
364-
return nil
365365
}
366+
367+
return nil
366368
}
367369

368370
realtime.setAuth(accessToken)

0 commit comments

Comments
 (0)