@@ -7,7 +7,7 @@ import {isOffline} from '@libs/Network/NetworkStore';
77import { push as pushToSequentialQueue , waitForIdle as waitForSequentialQueueIdle } from '@libs/Network/SequentialQueue' ;
88import Pusher from '@libs/Pusher' ;
99import { processWithMiddleware , use } from '@libs/Request' ;
10- import { getLength as getPersistedRequestsLength } from '@userActions/PersistedRequests' ;
10+ import { getAll , getLength as getPersistedRequestsLength } from '@userActions/PersistedRequests' ;
1111import CONST from '@src/CONST' ;
1212import type OnyxRequest from '@src/types/onyx/Request' ;
1313import type { PaginatedRequest , PaginationConfig , RequestConflictResolver } from '@src/types/onyx/Request' ;
@@ -62,8 +62,15 @@ function prepareRequest<TCommand extends ApiCommand>(
6262) : OnyxRequest {
6363 Log . info ( '[API] Preparing request' , false , { command, type} ) ;
6464
65+ let shouldApplyOptimisticData = true ;
66+ if ( conflictResolver ?. checkAndFixConflictingRequest ) {
67+ const requests = getAll ( ) ;
68+ const { conflictAction} = conflictResolver . checkAndFixConflictingRequest ( requests ) ;
69+ shouldApplyOptimisticData = conflictAction . type !== 'noAction' ;
70+ }
71+
6572 const { optimisticData, ...onyxDataWithoutOptimisticData } = onyxData ;
66- if ( optimisticData ) {
73+ if ( optimisticData && shouldApplyOptimisticData ) {
6774 Log . info ( '[API] Applying optimistic data' , false , { command, type} ) ;
6875 Onyx . update ( optimisticData ) ;
6976 }
0 commit comments