@@ -146,16 +146,7 @@ public class DevCycleClient {
146146 }
147147 self . service = service
148148
149- var cachedConfig : UserConfig ?
150- if let disableConfigCache = options? . disableConfigCache, !disableConfigCache {
151- cachedConfig = cacheService. getConfig ( user: user)
152- }
153-
154- if cachedConfig != nil {
155- self . config? . userConfig = cachedConfig
156- self . isConfigCached = true
157- Log . debug ( " Loaded config from cache " )
158- }
149+ self . useCachedConfigForUser ( user: user)
159150
160151 self . service? . getConfig (
161152 user: user, enableEdgeDB: self . enableEdgeDB, extraParams: nil ,
@@ -425,8 +416,9 @@ public class DevCycleClient {
425416 completion: { [ weak self] config, error in
426417 guard let self = self else { return }
427418 if let error = error {
428- Log . error ( " Error getting config: \( error) " , tags: [ " identify " ] )
419+ Log . error ( " Error getting config: \( error) for user_id \( String ( describing : updateUser . userId ) ) " , tags: [ " identify " ] )
429420 self . cache = self . cacheService. load ( user: updateUser)
421+ self . useCachedConfigForUser ( user: updateUser)
430422 } else {
431423 if let config = config {
432424 Log . debug ( " Config: \( config) " , tags: [ " identify " ] )
@@ -435,7 +427,7 @@ public class DevCycleClient {
435427 self . isConfigCached = false
436428 }
437429 self . user = user
438- callback ? ( error, config? . variables)
430+ callback ? ( error, self . config? . userConfig ? . variables)
439431 } )
440432 }
441433
@@ -451,6 +443,7 @@ public class DevCycleClient {
451443 }
452444 }
453445 } catch {
446+ Log . error ( " Error calling identifyUser for user_id \( String ( describing: user. userId) ) " , tags: [ " identify " ] )
454447 continuation. resume ( throwing: error)
455448 }
456449 }
@@ -676,6 +669,19 @@ public class DevCycleClient {
676669 self . inactivityWorkItem = work
677670 DispatchQueue . main. asyncAfter ( deadline: . now( ) + Double( delay) , execute: work)
678671 }
672+
673+ private func useCachedConfigForUser( user: DevCycleUser ) {
674+ var cachedConfig : UserConfig ?
675+ if let disableConfigCache = options? . disableConfigCache, !disableConfigCache {
676+ cachedConfig = cacheService. getConfig ( user: user)
677+ }
678+
679+ if cachedConfig != nil {
680+ self . config? . userConfig = cachedConfig
681+ self . isConfigCached = true
682+ Log . debug ( " Loaded config from cache for user_id \( String ( describing: user. userId) ) " )
683+ }
684+ }
679685}
680686
681687@available ( * , deprecated, message: " Use DevCycleClient " )
0 commit comments