@@ -14,10 +14,22 @@ import Helpers
1414 import WatchKit
1515#endif
1616
17- typealias AuthClientID = UUID
17+ typealias AuthClientID = Int
18+
19+ struct AuthClientLoggerDecorator : SupabaseLogger {
20+ let clientID : AuthClientID
21+ let decoratee : any SupabaseLogger
22+
23+ func log( message: SupabaseLogMessage ) {
24+ var message = message
25+ message. additionalContext [ " client_id " ] = . integer( clientID)
26+ decoratee. log ( message: message)
27+ }
28+ }
1829
1930public final class AuthClient : Sendable {
20- let clientID = AuthClientID ( )
31+ static let globalClientID = LockIsolated ( 0 )
32+ let clientID : AuthClientID
2133
2234 private var api : APIClient { Dependencies [ clientID] . api }
2335 var configuration : AuthClient . Configuration { Dependencies [ clientID] . configuration }
@@ -71,13 +83,21 @@ public final class AuthClient: Sendable {
7183 /// - Parameters:
7284 /// - configuration: The client configuration.
7385 public init ( configuration: Configuration ) {
86+ clientID = AuthClient . globalClientID. withValue {
87+ $0 += 1
88+ return $0
89+ }
90+
7491 Dependencies [ clientID] = Dependencies (
7592 configuration: configuration,
7693 http: HTTPClient ( configuration: configuration) ,
7794 api: APIClient ( clientID: clientID) ,
7895 codeVerifierStorage: . live( clientID: clientID) ,
7996 sessionStorage: . live( clientID: clientID) ,
80- sessionManager: . live( clientID: clientID)
97+ sessionManager: . live( clientID: clientID) ,
98+ logger: configuration. logger. map {
99+ AuthClientLoggerDecorator ( clientID: clientID, decoratee: $0)
100+ }
81101 )
82102
83103 Task { @MainActor in observeAppLifecycleChanges ( ) }
0 commit comments