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
{{ message }}
Repository navigation
[Onyx] Native Onyx.merge persists different values to SQLite than the cache #105485
On native, Onyx.merge can write a different value to SQLite than the one it keeps in the cache. After an app restart, Onyx loads the SQLite value, so the app can show stale data.
This happens in two cases:
New key with null properties. For a key that has no stored value yet, null should remove the property. The cache drops it, but SQLite stores the null. The SQLite upsert applies JSON_PATCH only to existing rows, so a new row stores the merge delta unchanged.
Batched null reset. When a merge batch for a key contains null followed by a new object, SQLite keeps the old fields instead of replacing the value.
Activity