File tree Expand file tree Collapse file tree 1 file changed +16
-9
lines changed
Expand file tree Collapse file tree 1 file changed +16
-9
lines changed Original file line number Diff line number Diff line change @@ -95,6 +95,8 @@ public final class SupabaseClient: Sendable {
9595 var storage : SupabaseStorageClient ?
9696 var rest : PostgrestClient ?
9797 var functions : FunctionsClient ?
98+
99+ var changedAccessToken : String ?
98100 }
99101
100102 private let mutableState = LockIsolated ( MutableState ( ) )
@@ -347,14 +349,19 @@ public final class SupabaseClient: Sendable {
347349 }
348350
349351 private func handleTokenChanged( event: AuthChangeEvent , session: Session ? ) async {
350- guard [
351- . initialSession,
352- . signedIn,
353- . tokenRefreshed,
354- . signedOut,
355- ] . contains ( event) else { return }
356-
357- realtime. setAuth ( session? . accessToken)
358- await realtimeV2. setAuth ( session? . accessToken)
352+ let accessToken = mutableState. withValue {
353+ if event == . tokenRefreshed || event == . signedIn, $0. changedAccessToken != session? . accessToken {
354+ $0. changedAccessToken = session? . accessToken
355+ return session? . accessToken
356+ } else if event == . signedOut {
357+ $0. changedAccessToken = nil
358+ return supabaseKey
359+ } else {
360+ return nil
361+ }
362+ }
363+
364+ realtime. setAuth ( accessToken)
365+ await realtimeV2. setAuth ( accessToken)
359366 }
360367}
You can’t perform that action at this time.
0 commit comments