Don't enable e2ee for bridged platform (#476)
authorRubin Elezi <RUBINELEZI0@GMAIL.COM>
Wed, 4 May 2022 05:28:30 +0000 (07:28 +0200)
committerGitHub <noreply@github.com>
Wed, 4 May 2022 05:28:30 +0000 (10:58 +0530)
* Don't enable e2ee for bridged platform

* remove comments

* Change function name

Co-authored-by: Ajay Bura <32841439+ajbura@users.noreply.github.com>
src/app/organisms/invite-user/InviteUser.jsx

index c03d3ad99bd0258ad2c405547563c4be2a837566..d0a8d9e13dfe28f31c542eb92d0320708cdc97fb 100644 (file)
@@ -103,6 +103,18 @@ function InviteUser({
     updateIsSearching(false);
   }
 
+  async function hasDevices(userId) {
+    try {
+      const usersDeviceMap = await mx.downloadKeys([userId, mx.getUserId()]);
+      return Object.values(usersDeviceMap).every((userDevices) =>
+        Object.keys(userDevices).length > 0,
+      );
+    } catch (e) {
+      console.error("Error determining if it's possible to encrypt to all users: ", e);
+      return false;
+    }
+  }
+
   async function createDM(userId) {
     if (mx.getUserId() === userId) return;
     const dmRoomId = hasDMWith(userId);
@@ -117,7 +129,7 @@ function InviteUser({
       procUserError.delete(userId);
       updateUserProcError(getMapCopy(procUserError));
 
-      const result = await roomActions.createDM(userId);
+      const result = await roomActions.createDM(userId, await hasDevices(userId));
       roomIdToUserId.set(result.room_id, userId);
       updateRoomIdToUserId(getMapCopy(roomIdToUserId));
     } catch (e) {