Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F33463128
D15561.1769032311.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
32 KB
Referenced Files
None
Subscribers
None
D15561.1769032311.diff
View Options
diff --git a/lib/components/peer-olm-session-creator-provider.react.js b/lib/components/peer-olm-session-creator-provider.react.js
--- a/lib/components/peer-olm-session-creator-provider.react.js
+++ b/lib/components/peer-olm-session-creator-provider.react.js
@@ -45,7 +45,6 @@
const deadDevices = useSelector(getPeersDeadDeviceIDs);
const refetchDeviceList = useGetAndUpdateDeviceListsForUsers();
- const auxUserInfos = useSelector(state => state.auxUserStore.auxUserInfos);
const createOlmSessionsWithUserCallback = React.useCallback(
async (
@@ -57,20 +56,11 @@
runningPromises.current[userID] = {};
}
- const filteredDevices = devices
- .filter(
- request =>
- !runningPromises.current[userID][request.deviceID] &&
- !deadDevices.has(request.deviceID),
- )
- .map(request => ({
- ...request,
- // `devicesPlatformDetails` is defined because otherwise, this device
- // is going to be included in dead devices and filtered out, see
- // `getPeersDeadDeviceIDs`.
- platformDetails:
- auxUserInfos[userID]?.devicesPlatformDetails?.[request.deviceID],
- }));
+ const filteredDevices = devices.filter(
+ request =>
+ !runningPromises.current[userID][request.deviceID] &&
+ !deadDevices.has(request.deviceID),
+ );
const promise = (async () => {
const authMetadata = await getAuthMetadata();
@@ -115,11 +105,10 @@
},
[
deadDevices,
- auxUserInfos,
getAuthMetadata,
identityClient,
- sendMessageToDevice,
olmDebugLog,
+ sendMessageToDevice,
refetchDeviceList,
],
);
diff --git a/lib/keyserver-conn/keyserver-auth.js b/lib/keyserver-conn/keyserver-auth.js
--- a/lib/keyserver-conn/keyserver-auth.js
+++ b/lib/keyserver-conn/keyserver-auth.js
@@ -103,18 +103,10 @@
keyserverKeys.identityKeysBlob.notificationIdentityPublicKeys,
keyserverKeys.notifInitializationInfo,
keyserverID,
- // Assuming the keyserver is always running on the newest
- // version, Olm compatibility is not required unlike for other
- // clients that might not be updated yet.
- false,
),
olmAPI.contentOutboundSessionCreator(
keyserverKeys.identityKeysBlob.primaryIdentityPublicKeys,
keyserverKeys.contentInitializationInfo,
- // Assuming the keyserver is always running on the newest
- // version, Olm compatibility is not required unlike for other
- // clients that might not be updated yet.
- false,
),
getAuthMetadata(),
]);
diff --git a/lib/shared/crypto-utils.js b/lib/shared/crypto-utils.js
--- a/lib/shared/crypto-utils.js
+++ b/lib/shared/crypto-utils.js
@@ -72,10 +72,6 @@
notificationIdentityPublicKeys,
notifInitializationInfo,
keyserverID,
- // Assuming the keyserver is always running on the newest
- // version, Olm compatibility is not required unlike for other
- // clients that might not be updated yet.
- false,
);
},
[
diff --git a/lib/types/crypto-types.js b/lib/types/crypto-types.js
--- a/lib/types/crypto-types.js
+++ b/lib/types/crypto-types.js
@@ -173,7 +173,6 @@
+contentOutboundSessionCreator: (
contentIdentityKeys: OLMIdentityKeys,
contentInitializationInfo: OlmSessionInitializationInfo,
- olmCompatibilityMode: boolean,
) => Promise<OutboundSessionCreationResult>,
+isContentSessionInitialized: (deviceID: string) => Promise<boolean>,
+keyserverNotificationsSessionCreator: (
@@ -181,13 +180,11 @@
notificationsIdentityKeys: OLMIdentityKeys,
notificationsInitializationInfo: OlmSessionInitializationInfo,
keyserverID: string,
- olmCompatibilityMode: boolean,
) => Promise<string>,
+notificationsOutboundSessionCreator: (
deviceID: string,
notificationsIdentityKeys: OLMIdentityKeys,
notificationsInitializationInfo: OlmSessionInitializationInfo,
- olmCompatibilityMode: boolean,
) => Promise<EncryptedData>,
+isDeviceNotificationsSessionInitialized: (
deviceID: string,
diff --git a/lib/utils/crypto-utils.js b/lib/utils/crypto-utils.js
--- a/lib/utils/crypto-utils.js
+++ b/lib/utils/crypto-utils.js
@@ -5,7 +5,6 @@
import { getConfig } from './config.js';
import { getMessageForException } from './errors.js';
-import { olmSupportRequired } from './olm-support-required.js';
import { primaryIdentityPublicKeyRegex } from './siwe-utils.js';
import { tRegex, tShape } from './validation-utils.js';
import type { OlmDebugLog } from '../components/debug-logs-context.js';
@@ -17,10 +16,7 @@
OutboundSessionCreationResult,
SignedIdentityKeysBlob,
} from '../types/crypto-types.js';
-import type {
- IdentityPlatformDetails,
- IdentityServiceClient,
-} from '../types/identity-service-types';
+import type { IdentityServiceClient } from '../types/identity-service-types';
import {
type OutboundSessionCreation,
peerToPeerMessageTypes,
@@ -81,13 +77,10 @@
const recipientDeviceID = primaryIdentityPublicKeys.ed25519;
try {
- // This function is used for testing purposes only, available to staff
- // users, so Olm support is hardcoded to false.
const { sessionVersion, encryptedData } =
await olmAPI.contentOutboundSessionCreator(
primaryIdentityPublicKeys,
keys.contentInitializationInfo,
- false,
);
const sessionCreationMessage: OutboundSessionCreation = {
@@ -124,10 +117,6 @@
+deviceID: string,
+sessionCreationOptions?: SessionCreationOptions,
};
-type DeviceSessionCreationRequestWithPlatformDetails = {
- ...DeviceSessionCreationRequest,
- platformDetails: ?IdentityPlatformDetails,
-};
export type SessionCreationResult = {
+deviceKeysMissing: boolean,
};
@@ -136,7 +125,7 @@
identityClient: IdentityServiceClient,
sendMessage: (message: TunnelbrokerClientMessageToDevice) => Promise<void>,
userID: string,
- devices: $ReadOnlyArray<DeviceSessionCreationRequestWithPlatformDetails>,
+ devices: $ReadOnlyArray<DeviceSessionCreationRequest>,
source: 'session_reset' | 'session_not_exists',
olmDebugLog: (olmLog: OlmDebugLog) => mixed,
): Promise<SessionCreationResult> {
@@ -158,7 +147,6 @@
+deviceID: string,
+hasContentSession: boolean,
+hasNotifsSession: boolean,
- +olmSupport: boolean,
}> = await Promise.all(
devices.map(request =>
(async () => {
@@ -182,7 +170,6 @@
deviceID: request.deviceID,
hasContentSession,
hasNotifsSession,
- olmSupport: olmSupportRequired(request.platformDetails),
};
})(),
),
@@ -206,8 +193,7 @@
success = false,
sessionVersionResult = -1;
try {
- const { deviceID, hasContentSession, hasNotifsSession, olmSupport } =
- sessionRequest;
+ const { deviceID, hasContentSession, hasNotifsSession } = sessionRequest;
const deviceKeysResponse = keysResponse.find(
keys => keys.deviceID === deviceID,
);
@@ -229,7 +215,6 @@
recipientDeviceID,
notificationIdentityPublicKeys,
keys.notifInitializationInfo,
- olmSupport,
);
success = true;
return;
@@ -242,7 +227,6 @@
await olmAPI.contentOutboundSessionCreator(
primaryIdentityPublicKeys,
keys.contentInitializationInfo,
- olmSupport,
);
} else {
resultDescription = 'creating content and notif session';
@@ -250,13 +234,11 @@
await olmAPI.contentOutboundSessionCreator(
primaryIdentityPublicKeys,
keys.contentInitializationInfo,
- olmSupport,
),
olmAPI.notificationsOutboundSessionCreator(
recipientDeviceID,
notificationIdentityPublicKeys,
keys.notifInitializationInfo,
- olmSupport,
),
]);
}
diff --git a/native/cpp/CommonCpp/CryptoTools/CryptoModule.h b/native/cpp/CommonCpp/CryptoTools/CryptoModule.h
--- a/native/cpp/CommonCpp/CryptoTools/CryptoModule.h
+++ b/native/cpp/CommonCpp/CryptoTools/CryptoModule.h
@@ -64,8 +64,7 @@
const std::string &idKeys,
const std::string &preKeys,
const std::string &preKeySignature,
- const std::optional<std::string> &oneTimeKey,
- bool olmCompatibilityMode);
+ const std::optional<std::string> &oneTimeKey);
bool hasSessionFor(const std::string &targetDeviceId);
std::shared_ptr<Session> getSessionByDeviceId(const std::string &deviceId);
void removeSessionByDeviceId(const std::string &deviceId);
diff --git a/native/cpp/CommonCpp/CryptoTools/CryptoModule.cpp b/native/cpp/CommonCpp/CryptoTools/CryptoModule.cpp
--- a/native/cpp/CommonCpp/CryptoTools/CryptoModule.cpp
+++ b/native/cpp/CommonCpp/CryptoTools/CryptoModule.cpp
@@ -238,8 +238,7 @@
const std::string &idKeys,
const std::string &preKeys,
const std::string &preKeySignature,
- const std::optional<std::string> &oneTimeKey,
- bool olmCompatibilityMode) {
+ const std::optional<std::string> &oneTimeKey) {
int newSessionVersion = 1;
if (this->hasSessionFor(targetDeviceId)) {
std::shared_ptr<Session> existingSession =
@@ -257,7 +256,7 @@
preKeys,
preKeySignature,
oneTimeKey,
- olmCompatibilityMode);
+ true); // olmCompatibilityMode = true
newSession->setVersion(newSessionVersion);
this->sessions.insert(make_pair(targetDeviceId, std::move(newSession)));
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
@@ -107,8 +107,7 @@
jsi::String prekey,
jsi::String prekeySignature,
std::optional<jsi::String> oneTimeKey,
- jsi::String keyserverID,
- bool olmCompatibilityMode) override;
+ jsi::String keyserverID) override;
virtual jsi::Value
isNotificationsSessionInitialized(jsi::Runtime &rt) override;
virtual jsi::Value isDeviceNotificationsSessionInitialized(
@@ -134,8 +133,7 @@
jsi::String prekey,
jsi::String prekeySignature,
std::optional<jsi::String> oneTimeKey,
- jsi::String deviceID,
- bool olmCompatibilityMode) override;
+ jsi::String deviceID) override;
virtual jsi::Value initializeContentInboundSession(
jsi::Runtime &rt,
jsi::String identityKeys,
@@ -151,8 +149,7 @@
jsi::String prekey,
jsi::String prekeySignature,
std::optional<jsi::String> oneTimeKey,
- jsi::String deviceID,
- bool olmCompatibilityMode) override;
+ jsi::String deviceID) override;
virtual jsi::Value
encrypt(jsi::Runtime &rt, jsi::String message, jsi::String deviceID) override;
virtual jsi::Value encryptNotification(
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
@@ -1152,8 +1152,7 @@
jsi::String prekey,
jsi::String prekeySignature,
std::optional<jsi::String> oneTimeKey,
- jsi::String keyserverID,
- bool olmCompatibilityMode) {
+ jsi::String keyserverID) {
auto identityKeysCpp{identityKeys.utf8(rt)};
auto prekeyCpp{prekey.utf8(rt)};
auto prekeySignatureCpp{prekeySignature.utf8(rt)};
@@ -1182,8 +1181,7 @@
identityKeysCpp,
prekeyCpp,
prekeySignatureCpp,
- oneTimeKeyCpp,
- olmCompatibilityMode);
+ oneTimeKeyCpp);
result = notifsCryptoModuleWithPicklingKey.value().first->encrypt(
keyserverIDCpp,
@@ -1528,8 +1526,7 @@
jsi::String prekey,
jsi::String prekeySignature,
std::optional<jsi::String> oneTimeKey,
- jsi::String deviceID,
- bool olmCompatibilityMode) {
+ jsi::String deviceID) {
auto identityKeysCpp{identityKeys.utf8(rt)};
auto prekeyCpp{prekey.utf8(rt)};
auto prekeySignatureCpp{prekeySignature.utf8(rt)};
@@ -1553,8 +1550,7 @@
identityKeysCpp,
prekeyCpp,
prekeySignatureCpp,
- oneTimeKeyCpp,
- olmCompatibilityMode);
+ oneTimeKeyCpp);
const std::string initMessage = "{\"type\": \"init\"}";
initialEncryptedData =
@@ -1671,8 +1667,7 @@
jsi::String prekey,
jsi::String prekeySignature,
std::optional<jsi::String> oneTimeKey,
- jsi::String deviceID,
- bool olmCompatibilityMode) {
+ jsi::String deviceID) {
auto identityKeysCpp{identityKeys.utf8(rt)};
auto prekeyCpp{prekey.utf8(rt)};
auto prekeySignatureCpp{prekeySignature.utf8(rt)};
@@ -1700,8 +1695,7 @@
identityKeysCpp,
prekeyCpp,
prekeySignatureCpp,
- oneTimeKeyCpp,
- olmCompatibilityMode);
+ oneTimeKeyCpp);
result = notifsCryptoModuleWithPicklingKey.value().first->encrypt(
deviceIDCpp,
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
@@ -55,7 +55,7 @@
return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->validateAndUploadPrekeys(rt, args[0].asString(rt), args[1].asString(rt), args[2].asString(rt));
}
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeNotificationsSession(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
- return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->initializeNotificationsSession(rt, args[0].asString(rt), args[1].asString(rt), args[2].asString(rt), args[3].isNull() || args[3].isUndefined() ? std::nullopt : std::make_optional(args[3].asString(rt)), args[4].asString(rt), args[5].asBool());
+ return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->initializeNotificationsSession(rt, args[0].asString(rt), args[1].asString(rt), args[2].asString(rt), args[3].isNull() || args[3].isUndefined() ? std::nullopt : std::make_optional(args[3].asString(rt)), args[4].asString(rt));
}
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_isNotificationsSessionInitialized(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->isNotificationsSessionInitialized(rt);
@@ -82,7 +82,7 @@
return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->getUnreadThickThreadIDsFromNotifsStorage(rt);
}
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeContentOutboundSession(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
- return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->initializeContentOutboundSession(rt, args[0].asString(rt), args[1].asString(rt), args[2].asString(rt), args[3].isNull() || args[3].isUndefined() ? std::nullopt : std::make_optional(args[3].asString(rt)), args[4].asString(rt), args[5].asBool());
+ return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->initializeContentOutboundSession(rt, args[0].asString(rt), args[1].asString(rt), args[2].asString(rt), args[3].isNull() || args[3].isUndefined() ? std::nullopt : std::make_optional(args[3].asString(rt)), args[4].asString(rt));
}
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeContentInboundSession(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->initializeContentInboundSession(rt, args[0].asString(rt), args[1].asObject(rt), args[2].asString(rt), args[3].asNumber(), args[4].asBool());
@@ -91,7 +91,7 @@
return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->isContentSessionInitialized(rt, args[0].asString(rt));
}
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeNotificationsOutboundSession(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
- return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->initializeNotificationsOutboundSession(rt, args[0].asString(rt), args[1].asString(rt), args[2].asString(rt), args[3].isNull() || args[3].isUndefined() ? std::nullopt : std::make_optional(args[3].asString(rt)), args[4].asString(rt), args[5].asBool());
+ return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->initializeNotificationsOutboundSession(rt, args[0].asString(rt), args[1].asString(rt), args[2].asString(rt), args[3].isNull() || args[3].isUndefined() ? std::nullopt : std::make_optional(args[3].asString(rt)), args[4].asString(rt));
}
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_encrypt(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->encrypt(rt, args[0].asString(rt), args[1].asString(rt));
@@ -266,7 +266,7 @@
methodMap_["getOneTimeKeys"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_getOneTimeKeys};
methodMap_["validateAndGetPrekeys"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_validateAndGetPrekeys};
methodMap_["validateAndUploadPrekeys"] = MethodMetadata {3, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_validateAndUploadPrekeys};
- methodMap_["initializeNotificationsSession"] = MethodMetadata {6, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeNotificationsSession};
+ methodMap_["initializeNotificationsSession"] = MethodMetadata {5, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeNotificationsSession};
methodMap_["isNotificationsSessionInitialized"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_isNotificationsSessionInitialized};
methodMap_["isDeviceNotificationsSessionInitialized"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_isDeviceNotificationsSessionInitialized};
methodMap_["isNotificationsSessionInitializedWithDevices"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_isNotificationsSessionInitializedWithDevices};
@@ -275,10 +275,10 @@
methodMap_["getDataFromNotifStorage"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_getDataFromNotifStorage};
methodMap_["updateUnreadThickThreadsInNotifsStorage"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_updateUnreadThickThreadsInNotifsStorage};
methodMap_["getUnreadThickThreadIDsFromNotifsStorage"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_getUnreadThickThreadIDsFromNotifsStorage};
- methodMap_["initializeContentOutboundSession"] = MethodMetadata {6, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeContentOutboundSession};
+ methodMap_["initializeContentOutboundSession"] = MethodMetadata {5, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeContentOutboundSession};
methodMap_["initializeContentInboundSession"] = MethodMetadata {5, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeContentInboundSession};
methodMap_["isContentSessionInitialized"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_isContentSessionInitialized};
- methodMap_["initializeNotificationsOutboundSession"] = MethodMetadata {6, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeNotificationsOutboundSession};
+ methodMap_["initializeNotificationsOutboundSession"] = MethodMetadata {5, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_initializeNotificationsOutboundSession};
methodMap_["encrypt"] = MethodMetadata {2, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_encrypt};
methodMap_["encryptNotification"] = MethodMetadata {2, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_encryptNotification};
methodMap_["encryptAndPersist"] = MethodMetadata {3, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_encryptAndPersist};
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
@@ -33,7 +33,7 @@
virtual jsi::Value getOneTimeKeys(jsi::Runtime &rt, double oneTimeKeysAmount) = 0;
virtual jsi::Value validateAndGetPrekeys(jsi::Runtime &rt) = 0;
virtual jsi::Value validateAndUploadPrekeys(jsi::Runtime &rt, jsi::String authUserID, jsi::String authDeviceID, jsi::String authAccessToken) = 0;
- virtual jsi::Value initializeNotificationsSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String keyserverID, bool olmCompatibilityMode) = 0;
+ virtual jsi::Value initializeNotificationsSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String keyserverID) = 0;
virtual jsi::Value isNotificationsSessionInitialized(jsi::Runtime &rt) = 0;
virtual jsi::Value isDeviceNotificationsSessionInitialized(jsi::Runtime &rt, jsi::String deviceID) = 0;
virtual jsi::Value isNotificationsSessionInitializedWithDevices(jsi::Runtime &rt, jsi::Array deviceIDs) = 0;
@@ -42,10 +42,10 @@
virtual jsi::Value getDataFromNotifStorage(jsi::Runtime &rt, jsi::Array ids) = 0;
virtual jsi::Value updateUnreadThickThreadsInNotifsStorage(jsi::Runtime &rt, jsi::Array unreadThickThreadIDs) = 0;
virtual jsi::Value getUnreadThickThreadIDsFromNotifsStorage(jsi::Runtime &rt) = 0;
- virtual jsi::Value initializeContentOutboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String deviceID, bool olmCompatibilityMode) = 0;
+ virtual jsi::Value initializeContentOutboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String deviceID) = 0;
virtual jsi::Value initializeContentInboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::Object encryptedContent, jsi::String deviceID, double sessionVersion, bool overwrite) = 0;
virtual jsi::Value isContentSessionInitialized(jsi::Runtime &rt, jsi::String deviceID) = 0;
- virtual jsi::Value initializeNotificationsOutboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String deviceID, bool olmCompatibilityMode) = 0;
+ virtual jsi::Value initializeNotificationsOutboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String deviceID) = 0;
virtual jsi::Value encrypt(jsi::Runtime &rt, jsi::String message, jsi::String deviceID) = 0;
virtual jsi::Value encryptNotification(jsi::Runtime &rt, jsi::String payload, jsi::String deviceID) = 0;
virtual jsi::Value encryptAndPersist(jsi::Runtime &rt, jsi::String message, jsi::String deviceID, jsi::String messageID) = 0;
@@ -222,13 +222,13 @@
return bridging::callFromJs<jsi::Value>(
rt, &T::validateAndUploadPrekeys, jsInvoker_, instance_, std::move(authUserID), std::move(authDeviceID), std::move(authAccessToken));
}
- jsi::Value initializeNotificationsSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String keyserverID, bool olmCompatibilityMode) override {
+ jsi::Value initializeNotificationsSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String keyserverID) override {
static_assert(
- bridging::getParameterCount(&T::initializeNotificationsSession) == 7,
- "Expected initializeNotificationsSession(...) to have 7 parameters");
+ bridging::getParameterCount(&T::initializeNotificationsSession) == 6,
+ "Expected initializeNotificationsSession(...) to have 6 parameters");
return bridging::callFromJs<jsi::Value>(
- rt, &T::initializeNotificationsSession, jsInvoker_, instance_, std::move(identityKeys), std::move(prekey), std::move(prekeySignature), std::move(oneTimeKey), std::move(keyserverID), std::move(olmCompatibilityMode));
+ rt, &T::initializeNotificationsSession, jsInvoker_, instance_, std::move(identityKeys), std::move(prekey), std::move(prekeySignature), std::move(oneTimeKey), std::move(keyserverID));
}
jsi::Value isNotificationsSessionInitialized(jsi::Runtime &rt) override {
static_assert(
@@ -294,13 +294,13 @@
return bridging::callFromJs<jsi::Value>(
rt, &T::getUnreadThickThreadIDsFromNotifsStorage, jsInvoker_, instance_);
}
- jsi::Value initializeContentOutboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String deviceID, bool olmCompatibilityMode) override {
+ jsi::Value initializeContentOutboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String deviceID) override {
static_assert(
- bridging::getParameterCount(&T::initializeContentOutboundSession) == 7,
- "Expected initializeContentOutboundSession(...) to have 7 parameters");
+ bridging::getParameterCount(&T::initializeContentOutboundSession) == 6,
+ "Expected initializeContentOutboundSession(...) to have 6 parameters");
return bridging::callFromJs<jsi::Value>(
- rt, &T::initializeContentOutboundSession, jsInvoker_, instance_, std::move(identityKeys), std::move(prekey), std::move(prekeySignature), std::move(oneTimeKey), std::move(deviceID), std::move(olmCompatibilityMode));
+ rt, &T::initializeContentOutboundSession, jsInvoker_, instance_, std::move(identityKeys), std::move(prekey), std::move(prekeySignature), std::move(oneTimeKey), std::move(deviceID));
}
jsi::Value initializeContentInboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::Object encryptedContent, jsi::String deviceID, double sessionVersion, bool overwrite) override {
static_assert(
@@ -318,13 +318,13 @@
return bridging::callFromJs<jsi::Value>(
rt, &T::isContentSessionInitialized, jsInvoker_, instance_, std::move(deviceID));
}
- jsi::Value initializeNotificationsOutboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String deviceID, bool olmCompatibilityMode) override {
+ jsi::Value initializeNotificationsOutboundSession(jsi::Runtime &rt, jsi::String identityKeys, jsi::String prekey, jsi::String prekeySignature, std::optional<jsi::String> oneTimeKey, jsi::String deviceID) override {
static_assert(
- bridging::getParameterCount(&T::initializeNotificationsOutboundSession) == 7,
- "Expected initializeNotificationsOutboundSession(...) to have 7 parameters");
+ bridging::getParameterCount(&T::initializeNotificationsOutboundSession) == 6,
+ "Expected initializeNotificationsOutboundSession(...) to have 6 parameters");
return bridging::callFromJs<jsi::Value>(
- rt, &T::initializeNotificationsOutboundSession, jsInvoker_, instance_, std::move(identityKeys), std::move(prekey), std::move(prekeySignature), std::move(oneTimeKey), std::move(deviceID), std::move(olmCompatibilityMode));
+ rt, &T::initializeNotificationsOutboundSession, jsInvoker_, instance_, std::move(identityKeys), std::move(prekey), std::move(prekeySignature), std::move(oneTimeKey), std::move(deviceID));
}
jsi::Value encrypt(jsi::Runtime &rt, jsi::String message, jsi::String deviceID) override {
static_assert(
diff --git a/native/crypto/olm-api.js b/native/crypto/olm-api.js
--- a/native/crypto/olm-api.js
+++ b/native/crypto/olm-api.js
@@ -58,7 +58,6 @@
async contentOutboundSessionCreator(
contentIdentityKeys: OLMIdentityKeys,
contentInitializationInfo: OlmSessionInitializationInfo,
- olmCompatibilityMode: boolean,
): Promise<OutboundSessionCreationResult> {
const { prekey, prekeySignature, oneTimeKey } = contentInitializationInfo;
const identityKeys = JSON.stringify({
@@ -72,7 +71,6 @@
prekeySignature,
oneTimeKey,
contentIdentityKeys.ed25519,
- olmCompatibilityMode,
);
},
keyserverNotificationsSessionCreator(
@@ -80,7 +78,6 @@
notificationsIdentityKeys: OLMIdentityKeys,
notificationsInitializationInfo: OlmSessionInitializationInfo,
keyserverID: string,
- olmCompatibilityMode: boolean,
): Promise<string> {
const { prekey, prekeySignature, oneTimeKey } =
notificationsInitializationInfo;
@@ -90,14 +87,12 @@
prekeySignature,
oneTimeKey,
keyserverID,
- olmCompatibilityMode,
);
},
async notificationsOutboundSessionCreator(
deviceID: string,
notificationsIdentityKeys: OLMIdentityKeys,
notificationsInitializationInfo: OlmSessionInitializationInfo,
- olmCompatibilityMode: boolean,
): Promise<EncryptedData> {
const { prekey, prekeySignature, oneTimeKey } =
notificationsInitializationInfo;
@@ -111,7 +106,6 @@
prekeySignature,
oneTimeKey,
deviceID,
- olmCompatibilityMode,
);
},
isDeviceNotificationsSessionInitialized:
diff --git a/native/schema/CommCoreModuleSchema.js b/native/schema/CommCoreModuleSchema.js
--- a/native/schema/CommCoreModuleSchema.js
+++ b/native/schema/CommCoreModuleSchema.js
@@ -73,7 +73,6 @@
prekeySignature: string,
oneTimeKey: ?string,
keyserverID: string,
- olmCompatibilityMode: boolean,
) => Promise<string>;
+isNotificationsSessionInitialized: () => Promise<boolean>;
+isDeviceNotificationsSessionInitialized: (
@@ -103,7 +102,6 @@
prekeySignature: string,
oneTimeKey: ?string,
deviceID: string,
- olmCompatibilityMode: boolean,
) => Promise<OutboundSessionCreationResult>;
+initializeContentInboundSession: (
identityKeys: string,
@@ -119,7 +117,6 @@
prekeySignature: string,
oneTimeKey: ?string,
deviceID: string,
- olmCompatibilityMode: boolean,
) => Promise<EncryptedData>;
+encrypt: (message: string, deviceID: string) => Promise<EncryptedData>;
+encryptNotification: (
diff --git a/web/shared-worker/worker/worker-crypto.js b/web/shared-worker/worker/worker-crypto.js
--- a/web/shared-worker/worker/worker-crypto.js
+++ b/web/shared-worker/worker/worker-crypto.js
@@ -185,7 +185,6 @@
notificationsInitializationInfo: OlmSessionInitializationInfo,
dataPersistenceKey: string,
dataEncryptionKeyDBLabel: string,
- olmCompatibilityMode: boolean,
): Promise<EncryptedData> {
if (!cryptoStore) {
throw new Error('Crypto account not initialized');
@@ -209,7 +208,7 @@
notificationsInitializationInfo.oneTimeKey || '',
notificationsPrekey,
notificationsInitializationInfo.prekeySignature,
- olmCompatibilityMode,
+ true, // olmCompatibilityMode
);
const encryptedMessage = session.encrypt(
@@ -842,7 +841,6 @@
async contentOutboundSessionCreator(
contentIdentityKeys: OLMIdentityKeys,
contentInitializationInfo: OlmSessionInitializationInfo,
- olmCompatibilityMode: boolean,
): Promise<OutboundSessionCreationResult> {
if (!cryptoStore) {
throw new Error('Crypto account not initialized');
@@ -858,7 +856,7 @@
contentInitializationInfo.oneTimeKey || '',
contentInitializationInfo.prekey,
contentInitializationInfo.prekeySignature,
- olmCompatibilityMode,
+ true, // olmCompatibilityMode
);
const olmMessage = session.encrypt(
@@ -898,7 +896,6 @@
deviceID: string,
notificationsIdentityKeys: OLMIdentityKeys,
notificationsInitializationInfo: OlmSessionInitializationInfo,
- olmCompatibilityMode: boolean,
): Promise<EncryptedData> {
const dataPersistenceKey = getOlmDataKeyForDeviceID(deviceID);
const dataEncryptionKeyDBLabel =
@@ -909,7 +906,6 @@
notificationsInitializationInfo,
dataPersistenceKey,
dataEncryptionKeyDBLabel,
- olmCompatibilityMode,
);
},
async isDeviceNotificationsSessionInitialized(deviceID: string) {
@@ -948,7 +944,6 @@
notificationsIdentityKeys: OLMIdentityKeys,
notificationsInitializationInfo: OlmSessionInitializationInfo,
keyserverID: string,
- olmCompatibilityMode: boolean,
): Promise<string> {
const platformDetails = getPlatformDetails();
if (!platformDetails) {
@@ -963,7 +958,6 @@
notificationsInitializationInfo,
notifsOlmDataContentKey,
notifsOlmDataEncryptionKeyDBLabel,
- olmCompatibilityMode,
);
return message;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Jan 21, 9:51 PM (57 m, 48 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5971796
Default Alt Text
D15561.1769032311.diff (32 KB)
Attached To
Mode
D15561: Revert "[lib][web][native] introduce `olmSupportRequired` and create session with based on code version (#328)"
Attached
Detach File
Event Timeline
Log In to Comment