Page MenuHomePhabricator

D13083.diff
No OneTemporary

D13083.diff

diff --git a/lib/tunnelbroker/use-peer-to-peer-message-handler.js b/lib/tunnelbroker/use-peer-to-peer-message-handler.js
--- a/lib/tunnelbroker/use-peer-to-peer-message-handler.js
+++ b/lib/tunnelbroker/use-peer-to-peer-message-handler.js
@@ -383,10 +383,7 @@
const clientMessageID = getClientMessageIDFromTunnelbrokerMessageID(
tunnelbrokerMessageID,
);
- await sqliteAPI.removeOutboundP2PMessagesOlderThan(
- clientMessageID,
- deviceID,
- );
+ await sqliteAPI.removeOutboundP2PMessage(clientMessageID, deviceID);
} catch (e) {
console.log(
`Error removing message after processing: ${
diff --git a/lib/types/sqlite-types.js b/lib/types/sqlite-types.js
--- a/lib/types/sqlite-types.js
+++ b/lib/types/sqlite-types.js
@@ -65,7 +65,7 @@
+resetOutboundP2PMessagesForDevice: (
deviceID: string,
) => Promise<Array<string>>,
- +removeOutboundP2PMessagesOlderThan: (
+ +removeOutboundP2PMessage: (
messageID: string,
deviceID: string,
) => Promise<void>,
diff --git a/lib/utils/__mocks__/config.js b/lib/utils/__mocks__/config.js
--- a/lib/utils/__mocks__/config.js
+++ b/lib/utils/__mocks__/config.js
@@ -39,7 +39,7 @@
processDBStoreOperations: jest.fn(),
getAllOutboundP2PMessages: jest.fn(),
markOutboundP2PMessageAsSent: jest.fn(),
- removeOutboundP2PMessagesOlderThan: jest.fn(),
+ removeOutboundP2PMessage: jest.fn(),
resetOutboundP2PMessagesForDevice: jest.fn(),
getRelatedMessages: jest.fn(),
getOutboundP2PMessagesByID: jest.fn(),
diff --git a/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h b/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h
--- a/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h
+++ b/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h
@@ -154,8 +154,8 @@
virtual std::vector<OutboundP2PMessage>
getOutboundP2PMessagesByID(const std::vector<std::string> &ids) const = 0;
virtual std::vector<OutboundP2PMessage> getAllOutboundP2PMessages() const = 0;
- virtual void removeOutboundP2PMessagesOlderThan(
- std::string lastConfirmedMessageID,
+ virtual void removeOutboundP2PMessage(
+ std::string confirmedMessageID,
std::string deviceID) const = 0;
virtual void
removeAllOutboundP2PMessages(const std::string &deviceID) const = 0;
diff --git a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h
--- a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h
+++ b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h
@@ -170,8 +170,8 @@
std::vector<OutboundP2PMessage> getOutboundP2PMessagesByID(
const std::vector<std::string> &ids) const override;
std::vector<OutboundP2PMessage> getAllOutboundP2PMessages() const override;
- void removeOutboundP2PMessagesOlderThan(
- std::string lastConfirmedMessageID,
+ void removeOutboundP2PMessage(
+ std::string confirmedMessageID,
std::string deviceID) const override;
void removeAllOutboundP2PMessages(const std::string &deviceID) const override;
void setCiphertextForOutboundP2PMessage(
diff --git a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp
--- a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp
+++ b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp
@@ -2488,24 +2488,19 @@
return messages;
}
-void SQLiteQueryExecutor::removeOutboundP2PMessagesOlderThan(
- std::string lastConfirmedMessageID,
+void SQLiteQueryExecutor::removeOutboundP2PMessage(
+ std::string confirmedMessageID,
std::string deviceID) const {
std::string query =
"DELETE FROM outbound_p2p_messages "
- "WHERE timestamp <= ("
- " SELECT timestamp "
- " FROM outbound_p2p_messages"
- " WHERE message_id = ?"
- ") "
- "AND device_id IN (?);";
+ "WHERE message_id = ? AND device_id = ?;";
comm::SQLiteStatementWrapper preparedSQL(
SQLiteQueryExecutor::getConnection(),
query,
"Failed to remove messages to device");
- bindStringToSQL(lastConfirmedMessageID.c_str(), preparedSQL, 1);
+ bindStringToSQL(confirmedMessageID.c_str(), preparedSQL, 1);
bindStringToSQL(deviceID.c_str(), preparedSQL, 2);
sqlite3_step(preparedSQL);
diff --git a/native/cpp/CommonCpp/NativeModules/CommCoreModule.h b/native/cpp/CommonCpp/NativeModules/CommCoreModule.h
--- a/native/cpp/CommonCpp/NativeModules/CommCoreModule.h
+++ b/native/cpp/CommonCpp/NativeModules/CommCoreModule.h
@@ -252,7 +252,7 @@
jsi::Runtime &rt,
jsi::String messageID,
jsi::String deviceID) override;
- virtual jsi::Value removeOutboundP2PMessagesOlderThan(
+ virtual jsi::Value removeOutboundP2PMessage(
jsi::Runtime &rt,
jsi::String messageID,
jsi::String deviceID) override;
diff --git a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp
--- a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp
+++ b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp
@@ -2853,7 +2853,7 @@
});
}
-jsi::Value CommCoreModule::removeOutboundP2PMessagesOlderThan(
+jsi::Value CommCoreModule::removeOutboundP2PMessage(
jsi::Runtime &rt,
jsi::String messageID,
jsi::String deviceID) {
@@ -2865,8 +2865,8 @@
taskType job = [=]() {
std::string error;
try {
- DatabaseManager::getQueryExecutor()
- .removeOutboundP2PMessagesOlderThan(messageIDCpp, deviceIDCpp);
+ DatabaseManager::getQueryExecutor().removeOutboundP2PMessage(
+ messageIDCpp, deviceIDCpp);
} catch (std::system_error &e) {
error = e.what();
}
diff --git a/native/cpp/CommonCpp/_generated/commJSI-generated.cpp b/native/cpp/CommonCpp/_generated/commJSI-generated.cpp
--- a/native/cpp/CommonCpp/_generated/commJSI-generated.cpp
+++ b/native/cpp/CommonCpp/_generated/commJSI-generated.cpp
@@ -217,8 +217,8 @@
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_markOutboundP2PMessageAsSent(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->markOutboundP2PMessageAsSent(rt, args[0].asString(rt), args[1].asString(rt));
}
-static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_removeOutboundP2PMessagesOlderThan(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
- return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->removeOutboundP2PMessagesOlderThan(rt, args[0].asString(rt), args[1].asString(rt));
+static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_removeOutboundP2PMessage(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
+ return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->removeOutboundP2PMessage(rt, args[0].asString(rt), args[1].asString(rt));
}
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_resetOutboundP2PMessagesForDevice(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->resetOutboundP2PMessagesForDevice(rt, args[0].asString(rt));
@@ -304,7 +304,7 @@
methodMap_["getOutboundP2PMessagesByID"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_getOutboundP2PMessagesByID};
methodMap_["getAllOutboundP2PMessages"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_getAllOutboundP2PMessages};
methodMap_["markOutboundP2PMessageAsSent"] = MethodMetadata {2, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_markOutboundP2PMessageAsSent};
- methodMap_["removeOutboundP2PMessagesOlderThan"] = MethodMetadata {2, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_removeOutboundP2PMessagesOlderThan};
+ methodMap_["removeOutboundP2PMessage"] = MethodMetadata {2, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_removeOutboundP2PMessage};
methodMap_["resetOutboundP2PMessagesForDevice"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_resetOutboundP2PMessagesForDevice};
methodMap_["getSyncedDatabaseVersion"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_getSyncedDatabaseVersion};
methodMap_["markPrekeysAsPublished"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_markPrekeysAsPublished};
diff --git a/native/cpp/CommonCpp/_generated/commJSI.h b/native/cpp/CommonCpp/_generated/commJSI.h
--- a/native/cpp/CommonCpp/_generated/commJSI.h
+++ b/native/cpp/CommonCpp/_generated/commJSI.h
@@ -86,7 +86,7 @@
virtual jsi::Value getOutboundP2PMessagesByID(jsi::Runtime &rt, jsi::Array ids) = 0;
virtual jsi::Value getAllOutboundP2PMessages(jsi::Runtime &rt) = 0;
virtual jsi::Value markOutboundP2PMessageAsSent(jsi::Runtime &rt, jsi::String messageID, jsi::String deviceID) = 0;
- virtual jsi::Value removeOutboundP2PMessagesOlderThan(jsi::Runtime &rt, jsi::String messageID, jsi::String deviceID) = 0;
+ virtual jsi::Value removeOutboundP2PMessage(jsi::Runtime &rt, jsi::String messageID, jsi::String deviceID) = 0;
virtual jsi::Value resetOutboundP2PMessagesForDevice(jsi::Runtime &rt, jsi::String deviceID) = 0;
virtual jsi::Value getSyncedDatabaseVersion(jsi::Runtime &rt) = 0;
virtual jsi::Value markPrekeysAsPublished(jsi::Runtime &rt) = 0;
@@ -641,13 +641,13 @@
return bridging::callFromJs<jsi::Value>(
rt, &T::markOutboundP2PMessageAsSent, jsInvoker_, instance_, std::move(messageID), std::move(deviceID));
}
- jsi::Value removeOutboundP2PMessagesOlderThan(jsi::Runtime &rt, jsi::String messageID, jsi::String deviceID) override {
+ jsi::Value removeOutboundP2PMessage(jsi::Runtime &rt, jsi::String messageID, jsi::String deviceID) override {
static_assert(
- bridging::getParameterCount(&T::removeOutboundP2PMessagesOlderThan) == 3,
- "Expected removeOutboundP2PMessagesOlderThan(...) to have 3 parameters");
+ bridging::getParameterCount(&T::removeOutboundP2PMessage) == 3,
+ "Expected removeOutboundP2PMessage(...) to have 3 parameters");
return bridging::callFromJs<jsi::Value>(
- rt, &T::removeOutboundP2PMessagesOlderThan, jsInvoker_, instance_, std::move(messageID), std::move(deviceID));
+ rt, &T::removeOutboundP2PMessage, jsInvoker_, instance_, std::move(messageID), std::move(deviceID));
}
jsi::Value resetOutboundP2PMessagesForDevice(jsi::Runtime &rt, jsi::String deviceID) override {
static_assert(
diff --git a/native/database/sqlite-api.js b/native/database/sqlite-api.js
--- a/native/database/sqlite-api.js
+++ b/native/database/sqlite-api.js
@@ -22,8 +22,7 @@
markOutboundP2PMessageAsSent: commCoreModule.markOutboundP2PMessageAsSent,
resetOutboundP2PMessagesForDevice:
commCoreModule.resetOutboundP2PMessagesForDevice,
- removeOutboundP2PMessagesOlderThan:
- commCoreModule.removeOutboundP2PMessagesOlderThan,
+ removeOutboundP2PMessage: commCoreModule.removeOutboundP2PMessage,
async processDBStoreOperations(
storeOperations: StoreOperations,
diff --git a/native/schema/CommCoreModuleSchema.js b/native/schema/CommCoreModuleSchema.js
--- a/native/schema/CommCoreModuleSchema.js
+++ b/native/schema/CommCoreModuleSchema.js
@@ -181,7 +181,7 @@
messageID: string,
deviceID: string,
) => Promise<void>;
- +removeOutboundP2PMessagesOlderThan: (
+ +removeOutboundP2PMessage: (
messageID: string,
deviceID: string,
) => Promise<void>;
diff --git a/web/cpp/SQLiteQueryExecutorBindings.cpp b/web/cpp/SQLiteQueryExecutorBindings.cpp
--- a/web/cpp/SQLiteQueryExecutorBindings.cpp
+++ b/web/cpp/SQLiteQueryExecutorBindings.cpp
@@ -291,8 +291,8 @@
"addOutboundP2PMessages",
&SQLiteQueryExecutor::addOutboundP2PMessages)
.function(
- "removeOutboundP2PMessagesOlderThan",
- &SQLiteQueryExecutor::removeOutboundP2PMessagesOlderThan)
+ "removeOutboundP2PMessage",
+ &SQLiteQueryExecutor::removeOutboundP2PMessage)
.function(
"removeAllOutboundP2PMessages",
&SQLiteQueryExecutor::removeAllOutboundP2PMessages)
diff --git a/web/database/sqlite-api.js b/web/database/sqlite-api.js
--- a/web/database/sqlite-api.js
+++ b/web/database/sqlite-api.js
@@ -117,14 +117,14 @@
return messageIDs ? [...messageIDs] : [];
},
- async removeOutboundP2PMessagesOlderThan(
+ async removeOutboundP2PMessage(
messageID: string,
deviceID: string,
): Promise<void> {
const sharedWorker = await getCommSharedWorker();
await sharedWorker.schedule({
- type: workerRequestMessageTypes.REMOVE_OUTBOUND_P2P_MESSAGES,
+ type: workerRequestMessageTypes.REMOVE_OUTBOUND_P2P_MESSAGE,
messageID,
deviceID,
});
diff --git a/web/shared-worker/_generated/comm_query_executor.wasm b/web/shared-worker/_generated/comm_query_executor.wasm
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
literal 0
Hc$@<O00001
diff --git a/web/shared-worker/queries/outbound-p2p-message-queries.test.js b/web/shared-worker/queries/outbound-p2p-message-queries.test.js
--- a/web/shared-worker/queries/outbound-p2p-message-queries.test.js
+++ b/web/shared-worker/queries/outbound-p2p-message-queries.test.js
@@ -105,26 +105,17 @@
expect(messages).toStrictEqual(messagesOrdered);
});
- it('should not remove messages for a different deviceID', () => {
- queryExecutor?.removeOutboundP2PMessagesOlderThan(
+ it('should remove message', () => {
+ queryExecutor?.removeOutboundP2PMessage(
TEST_MSG_4.messageID,
TEST_MSG_4.deviceID,
);
- expect(queryExecutor?.getAllOutboundP2PMessages().length).toBe(1);
- expect(queryExecutor?.getAllOutboundP2PMessages()).toStrictEqual([
- TEST_MSG_2,
- ]);
- });
-
- it('should remove older messages', () => {
- queryExecutor?.removeOutboundP2PMessagesOlderThan(
- TEST_MSG_1.messageID,
- TEST_MSG_1.deviceID,
- );
+ expect(queryExecutor?.getAllOutboundP2PMessages().length).toBe(3);
expect(queryExecutor?.getAllOutboundP2PMessages()).toStrictEqual([
+ TEST_MSG_3,
+ TEST_MSG_1,
TEST_MSG_2,
- TEST_MSG_4,
]);
});
diff --git a/web/shared-worker/types/sqlite-query-executor.js b/web/shared-worker/types/sqlite-query-executor.js
--- a/web/shared-worker/types/sqlite-query-executor.js
+++ b/web/shared-worker/types/sqlite-query-executor.js
@@ -175,10 +175,7 @@
restoreFromBackupLog(backupLog: Uint8Array): void;
addOutboundP2PMessages(messages: $ReadOnlyArray<OutboundP2PMessage>): void;
- removeOutboundP2PMessagesOlderThan(
- lastConfirmedMessageID: string,
- deviceID: string,
- ): void;
+ removeOutboundP2PMessage(confirmedMessageID: string, deviceID: string): void;
removeAllOutboundP2PMessages(deviceID: string): void;
getOutboundP2PMessagesByID(
ids: $ReadOnlyArray<string>,
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
@@ -358,9 +358,9 @@
message.deviceID,
);
} else if (
- message.type === workerRequestMessageTypes.REMOVE_OUTBOUND_P2P_MESSAGES
+ message.type === workerRequestMessageTypes.REMOVE_OUTBOUND_P2P_MESSAGE
) {
- sqliteQueryExecutor.removeOutboundP2PMessagesOlderThan(
+ sqliteQueryExecutor.removeOutboundP2PMessage(
message.messageID,
message.deviceID,
);
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
@@ -43,7 +43,7 @@
REMOVE_INBOUND_P2P_MESSAGES: 17,
GET_OUTBOUND_P2P_MESSAGES: 18,
MARK_OUTBOUND_P2P_MESSAGE_AS_SENT: 19,
- REMOVE_OUTBOUND_P2P_MESSAGES: 20,
+ REMOVE_OUTBOUND_P2P_MESSAGE: 20,
GET_RELATED_MESSAGES: 21,
GET_OUTBOUND_P2P_MESSAGES_BY_ID: 22,
SEARCH_MESSAGES: 23,
@@ -59,7 +59,7 @@
workerRequestMessageTypes.INITIALIZE_CRYPTO_ACCOUNT,
workerRequestMessageTypes.REMOVE_INBOUND_P2P_MESSAGES,
workerRequestMessageTypes.MARK_OUTBOUND_P2P_MESSAGE_AS_SENT,
- workerRequestMessageTypes.REMOVE_OUTBOUND_P2P_MESSAGES,
+ workerRequestMessageTypes.REMOVE_OUTBOUND_P2P_MESSAGE,
workerRequestMessageTypes.RESET_OUTBOUND_P2P_MESSAGES,
];
@@ -188,7 +188,7 @@
+deviceID: string,
};
-export type RemoveOutboundP2PMessagesRequestMessage = {
+export type RemoveOutboundP2PMessageRequestMessage = {
+type: 20,
+messageID: string,
+deviceID: string,
@@ -238,7 +238,7 @@
| RemoveInboundP2PMessagesRequestMessage
| GetOutboundP2PMessagesRequestMessage
| MarkOutboundP2PMessageAsSentRequestMessage
- | RemoveOutboundP2PMessagesRequestMessage
+ | RemoveOutboundP2PMessageRequestMessage
| GetRelatedMessagesRequestMessage
| GetOutboundP2PMessagesByIDRequestMessage
| SearchMessagesRequestMessage

File Metadata

Mime Type
text/plain
Expires
Fri, Sep 20, 3:32 PM (21 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2150995
Default Alt Text
D13083.diff (16 KB)

Event Timeline