diff --git a/web/shared-worker/worker/shared-worker.js b/web/shared-worker/worker/shared-worker.js --- a/web/shared-worker/worker/shared-worker.js +++ b/web/shared-worker/worker/shared-worker.js @@ -364,6 +364,15 @@ message.messageID, message.deviceID, ); + } else if ( + message.type === workerRequestMessageTypes.RESET_OUTBOUND_P2P_MESSAGES + ) { + return { + type: workerResponseMessageTypes.RESET_OUTBOUND_P2P_MESSAGES, + messageIDs: sqliteQueryExecutor.resetOutboundP2PMessagesForDevice( + message.deviceID, + ), + }; } persistNeeded = true; diff --git a/web/types/worker-types.js b/web/types/worker-types.js --- a/web/types/worker-types.js +++ b/web/types/worker-types.js @@ -47,6 +47,7 @@ GET_RELATED_MESSAGES: 21, GET_OUTBOUND_P2P_MESSAGES_BY_ID: 22, SEARCH_MESSAGES: 23, + RESET_OUTBOUND_P2P_MESSAGES: 24, }); export const workerWriteRequests: $ReadOnlyArray = [ @@ -210,6 +211,11 @@ +messageIDCursor: ?string, }; +export type ResetOutboundP2PMessagesRequestMessage = { + +type: 24, + +deviceID: string, +}; + export type WorkerRequestMessage = | PingWorkerRequestMessage | InitWorkerRequestMessage @@ -234,7 +240,8 @@ | RemoveOutboundP2PMessagesRequestMessage | GetRelatedMessagesRequestMessage | GetOutboundP2PMessagesByIDRequestMessage - | SearchMessagesRequestMessage; + | SearchMessagesRequestMessage + | ResetOutboundP2PMessagesRequestMessage; export type WorkerRequestProxyMessage = { +id: number, @@ -252,6 +259,7 @@ GET_INBOUND_P2P_MESSAGES: 6, GET_OUTBOUND_P2P_MESSAGES: 7, GET_MESSAGES: 8, + RESET_OUTBOUND_P2P_MESSAGES: 9, }); export type PongWorkerResponseMessage = { @@ -299,6 +307,11 @@ +messages: $ReadOnlyArray, }; +export type ResetOutboundP2PMessagesResponseMessage = { + +type: 9, + +messageIDs: $ReadOnlyArray, +}; + export type WorkerResponseMessage = | PongWorkerResponseMessage | ClientStoreResponseMessage @@ -308,7 +321,8 @@ | CallOLMApiMethodResponseMessage | GetInboundP2PMessagesResponseMessage | GetOutboundP2PMessagesResponseMessage - | GetMessagesResponse; + | GetMessagesResponse + | ResetOutboundP2PMessagesResponseMessage; export type WorkerResponseProxyMessage = { +id?: number,