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 {
95
95
var storage : SupabaseStorageClient ?
96
96
var rest : PostgrestClient ?
97
97
var functions : FunctionsClient ?
98
+
99
+ var changedAccessToken : String ?
98
100
}
99
101
100
102
private let mutableState = LockIsolated ( MutableState ( ) )
@@ -347,14 +349,19 @@ public final class SupabaseClient: Sendable {
347
349
}
348
350
349
351
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)
359
366
}
360
367
}
You can’t perform that action at this time.
0 commit comments