Quellcode durchsuchen

Merge pull request #19 from mautrix/sumner/bri-794-disable-federation-on-all-bridged-rooms

federation: add option to disable federation on portal rooms
Sumner Evans vor 3 Jahren
Ursprung
Commit
4c35633d77
2 geänderte Dateien mit 18 neuen und 5 gelöschten Zeilen
  1. 10 3
      mautrix_instagram/portal.py
  2. 8 2
      mautrix_instagram/user.py

+ 10 - 3
mautrix_instagram/portal.py

@@ -975,9 +975,16 @@ class Portal(DBPortal, BasePortal):
         # We lock backfill lock here so any messages that come between the room being created
         # and the initial backfill finishing wouldn't be bridged before the backfill messages.
         with self.backfill_lock:
-            self.mxid = await self.main_intent.create_room(name=name, is_direct=self.is_direct,
-                                                           initial_state=initial_state,
-                                                           invitees=invites)
+            creation_content = {}
+            if not self.config["bridge.federate_rooms"]:
+                creation_content["m.federate"] = False
+            self.mxid = await self.main_intent.create_room(
+                name=name,
+                is_direct=self.is_direct,
+                initial_state=initial_state,
+                invitees=invites,
+                creation_content=creation_content,
+            )
             if not self.mxid:
                 raise Exception("Failed to create room: no mxid returned")
 

+ 8 - 2
mautrix_instagram/user.py

@@ -175,9 +175,15 @@ class User(DBUser, BaseUser):
                 # don't make a new room
                 if self.notice_room:
                     return self.notice_room
+                creation_content = {}
+                if not self.config["bridge.federate_rooms"]:
+                    creation_content["m.federate"] = False
                 self.notice_room = await self.az.intent.create_room(
-                    is_direct=True, invitees=[self.mxid],
-                    topic="Instagram bridge notices")
+                    is_direct=True,
+                    invitees=[self.mxid],
+                    topic="Instagram bridge notices",
+                    creation_content=creation_content,
+                )
                 await self.update()
         return self.notice_room