From eed6217c4364a73fd32bc6d867533a9021ef2b18 Mon Sep 17 00:00:00 2001 From: xsanm Date: Wed, 9 Oct 2024 16:40:20 +0200 Subject: [PATCH] [lib] send confirmation for ignored DM ops Summary: [ENG-9456](https://linear.app/comm/issue/ENG-9456/send-confirmation-for-ignored-dm-ops). Avoiding keeping this operation forever when it's invalid. Depends on D13662 Test Plan: Created DM Op which will be ignored and make sure it is confirmed. Reviewers: tomek Reviewed By: tomek Subscribers: ashoat Differential Revision: https://phab.comm.dev/D13663 --- lib/shared/dm-ops/process-dm-ops.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/shared/dm-ops/process-dm-ops.js b/lib/shared/dm-ops/process-dm-ops.js index cb0bc9c2a2..dac72748ac 100644 --- a/lib/shared/dm-ops/process-dm-ops.js +++ b/lib/shared/dm-ops/process-dm-ops.js @@ -20,6 +20,7 @@ import { usePeerToPeerCommunication, type ProcessOutboundP2PMessagesResult, } from '../../tunnelbroker/peer-to-peer-context.js'; +import { useConfirmPeerToPeerMessage } from '../../tunnelbroker/use-confirm-peer-to-peer-message.js'; import { processDMOpsActionType, queueDMOpsActionType, @@ -39,6 +40,7 @@ function useProcessDMOperation(): ( const dispatchWithMetadata = useDispatchWithMetadata(); const processBlobHolders = useProcessBlobHolders(); const createMessagesToPeersFromDMOp = useCreateMessagesToPeersFromDMOp(); + const confirmPeerToPeerMessage = useConfirmPeerToPeerMessage(); const dispatch = useDispatch(); @@ -121,6 +123,7 @@ function useProcessDMOperation(): ( if (!dmOpSpecs[dmOp.type].operationValidator.is(dmOp)) { console.log(`Ignoring ${dmOp.type} operation because it is invalid`); + await confirmPeerToPeerMessage(dispatchMetadata); return; } @@ -131,6 +134,7 @@ function useProcessDMOperation(): ( if (!processingCheckResult.isProcessingPossible) { if (processingCheckResult.reason.type === 'invalid') { + await confirmPeerToPeerMessage(dispatchMetadata); return; } let condition; @@ -167,6 +171,7 @@ function useProcessDMOperation(): ( }, dispatchMetadata, ); + await confirmPeerToPeerMessage(dispatchMetadata); return; } @@ -236,6 +241,7 @@ function useProcessDMOperation(): ( dispatchWithMetadata, createMessagesToPeersFromDMOp, dispatch, + confirmPeerToPeerMessage, ], ); }