Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F2766274
D13083.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
16 KB
Referenced Files
None
Subscribers
None
D13083.diff
View Options
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
Details
Attached
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)
Attached To
Mode
D13083: [SQLite] deprecate `removeOutboundP2PMessagesOlderThan` and update to remove only one specific message
Attached
Detach File
Event Timeline
Log In to Comment