@@ -9,7 +9,6 @@ import type {
99 InitOptions ,
1010 KeyValueMapping ,
1111 OnyxInputKeyValueMapping ,
12- OnyxCollection ,
1312 MixedOperationsQueue ,
1413 OnyxKey ,
1514 OnyxMergeCollectionInput ,
@@ -309,9 +308,11 @@ function clear(keysToPreserve: OnyxKey[] = []): Promise<void> {
309308 cache . clearNullishStorageKeys ( ) ;
310309
311310 const keysToBeClearedFromStorage : OnyxKey [ ] = [ ] ;
312- const keyValuesToResetAsCollection : Record < OnyxKey , OnyxCollection < KeyValueMapping [ OnyxKey ] > > = { } ;
311+ const keyValuesToResetAsCollection : Record <
312+ OnyxKey ,
313+ { oldValues : Record < string , KeyValueMapping [ OnyxKey ] | undefined > ; newValues : Record < string , KeyValueMapping [ OnyxKey ] | undefined > }
314+ > = { } ;
313315 const keyValuesToResetIndividually : KeyValueMapping = { } ;
314-
315316 const allKeys = new Set ( [ ...cachedKeys , ...initialKeys ] ) ;
316317
317318 // The only keys that should not be cleared are:
@@ -344,9 +345,10 @@ function clear(keysToPreserve: OnyxKey[] = []): Promise<void> {
344345
345346 if ( collectionKey ) {
346347 if ( ! keyValuesToResetAsCollection [ collectionKey ] ) {
347- keyValuesToResetAsCollection [ collectionKey ] = { } ;
348+ keyValuesToResetAsCollection [ collectionKey ] = { oldValues : { } , newValues : { } } ;
348349 }
349- keyValuesToResetAsCollection [ collectionKey ] ! [ key ] = newValue ?? undefined ;
350+ keyValuesToResetAsCollection [ collectionKey ] . oldValues [ key ] = oldValue ;
351+ keyValuesToResetAsCollection [ collectionKey ] . newValues [ key ] = newValue ?? undefined ;
350352 } else {
351353 keyValuesToResetIndividually [ key ] = newValue ?? undefined ;
352354 }
@@ -368,7 +370,7 @@ function clear(keysToPreserve: OnyxKey[] = []): Promise<void> {
368370 updatePromises . push ( OnyxUtils . scheduleSubscriberUpdate ( key , value ) ) ;
369371 }
370372 for ( const [ key , value ] of Object . entries ( keyValuesToResetAsCollection ) ) {
371- updatePromises . push ( OnyxUtils . scheduleNotifyCollectionSubscribers ( key , value ) ) ;
373+ updatePromises . push ( OnyxUtils . scheduleNotifyCollectionSubscribers ( key , value . newValues , value . oldValues ) ) ;
372374 }
373375
374376 const defaultKeyValuePairs = Object . entries (
0 commit comments