summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndrew Morgan <1342360+anoadragon453@users.noreply.github.com>2022-02-12 14:33:49 +0000
committerGitHub <noreply@github.com>2022-02-12 09:33:49 -0500
commit55113dd5e880815b3d7881f72147f25f37b00045 (patch)
tree74c034389bbc43a07d9468b1c50c84e5563a7b9c
parentImplement MSC3706: partial state in `/send_join` response (#11967) (diff)
downloadsynapse-55113dd5e880815b3d7881f72147f25f37b00045.tar.xz
Notify users, rather than rooms, of device list updates (#11905)
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Diffstat (limited to '')
-rw-r--r--changelog.d/11905.misc1
-rw-r--r--synapse/handlers/device.py8
2 files changed, 4 insertions, 5 deletions
diff --git a/changelog.d/11905.misc b/changelog.d/11905.misc
new file mode 100644
index 0000000000..4f170cf01a
--- /dev/null
+++ b/changelog.d/11905.misc
@@ -0,0 +1 @@
+Preparation to support sending device list updates to application services.
\ No newline at end of file
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py
index b184a48cb1..36c05f8363 100644
--- a/synapse/handlers/device.py
+++ b/synapse/handlers/device.py
@@ -495,13 +495,11 @@ class DeviceHandler(DeviceWorkerHandler):
                 "Notifying about update %r/%r, ID: %r", user_id, device_id, position
             )
 
-        room_ids = await self.store.get_rooms_for_user(user_id)
-
         # specify the user ID too since the user should always get their own device list
         # updates, even if they aren't in any rooms.
-        self.notifier.on_new_event(
-            "device_list_key", position, users=[user_id], rooms=room_ids
-        )
+        users_to_notify = users_who_share_room.union({user_id})
+
+        self.notifier.on_new_event("device_list_key", position, users=users_to_notify)
 
         if hosts:
             logger.info(