Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit 018b504

Browse files
committed
Merge pull request #368 from matrix-org/erikj/fix_federation_profile
Fix missing profile data in federation joins
2 parents 49f1758 + c0b3554 commit 018b504

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

synapse/federation/federation_client.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,8 @@ def get_event_auth(self, destination, room_id, event_id):
357357
defer.returnValue(signed_auth)
358358

359359
@defer.inlineCallbacks
360-
def make_membership_event(self, destinations, room_id, user_id, membership):
360+
def make_membership_event(self, destinations, room_id, user_id, membership,
361+
content={},):
361362
"""
362363
Creates an m.room.member event, with context, without participating in the room.
363364
@@ -398,6 +399,8 @@ def make_membership_event(self, destinations, room_id, user_id, membership):
398399

399400
logger.debug("Got response to make_%s: %s", membership, pdu_dict)
400401

402+
pdu_dict["content"].update(content)
403+
401404
defer.returnValue(
402405
(destination, self.event_from_pdu_json(pdu_dict))
403406
)

synapse/handlers/federation.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -564,7 +564,7 @@ def on_event_auth(self, event_id):
564564

565565
@log_function
566566
@defer.inlineCallbacks
567-
def do_invite_join(self, target_hosts, room_id, joinee):
567+
def do_invite_join(self, target_hosts, room_id, joinee, content):
568568
""" Attempts to join the `joinee` to the room `room_id` via the
569569
server `target_host`.
570570
@@ -584,7 +584,8 @@ def do_invite_join(self, target_hosts, room_id, joinee):
584584
target_hosts,
585585
room_id,
586586
joinee,
587-
"join"
587+
"join",
588+
content,
588589
)
589590

590591
self.room_queues[room_id] = []
@@ -840,12 +841,14 @@ def do_remotely_reject_invite(self, target_hosts, room_id, user_id):
840841
defer.returnValue(None)
841842

842843
@defer.inlineCallbacks
843-
def _make_and_verify_event(self, target_hosts, room_id, user_id, membership):
844+
def _make_and_verify_event(self, target_hosts, room_id, user_id, membership,
845+
content={},):
844846
origin, pdu = yield self.replication_layer.make_membership_event(
845847
target_hosts,
846848
room_id,
847849
user_id,
848-
membership
850+
membership,
851+
content,
849852
)
850853

851854
logger.debug("Got response to make_%s: %s", membership, pdu)

synapse/handlers/room.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,8 @@ def _do_join(self, event, context, room_hosts=None, do_auth=True):
504504
yield handler.do_invite_join(
505505
room_hosts,
506506
room_id,
507-
event.user_id
507+
event.user_id,
508+
event.content,
508509
)
509510
else:
510511
logger.debug("Doing normal join")

0 commit comments

Comments
 (0)