You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
New
New public API invalidateRemoteConfigsCache — invalidates the in-memory cache of remote configs so the next remoteConfig / remoteConfigList call fetches a fresh targeting evaluation. No network request itself; call it after changing user properties your targeting depends on. Not needed after identify: — see below (#749).
Improvements & fixes
identify: resolving to the same Qonversion user now invalidates the remote configs cache automatically, so the first login no longer serves the pre-login targeting evaluation for the rest of the process lifetime (#749).
A remote config load in flight during an invalidation is re-issued so its completions receive a fresh evaluation; if the retry fails, the superseded evaluation is delivered instead of an error (#749).
Bundled fallback configs are no longer cached: offline apps recover automatically when connectivity returns, and a request short-circuited by the local rate limiter still receives the bundled payload. Serving a bundled fallback now logs a warning (#749).
Fixed an offline remoteConfigList(contextKeys:) returning an empty list — the keyed filter ran against the empty network response instead of the bundled fallback list (#749).
The remote config rate limiter now buckets per context key, so loading several context keys in a burst no longer trips the limit (#749).
Attach/detach of experiments and remote configurations now invalidates configs cached under named context keys, and an in-flight load can no longer re-cache a superseded evaluation (#728).
setUserProperty: batches are reliably flushed before a remote config evaluation, including on cache hits and queued force-flushes (#728).
Behavior changes
A remoteConfig request in flight when identify: completes resolves after two round trips instead of one (fresh-data-for-latency trade; reliability is not reduced).