|
@@ -1575,6 +1575,19 @@ class SyncHandler(object):
|
|
|
newly_joined_room=newly_joined,
|
|
|
)
|
|
|
|
|
|
+ # When we join the room (or the client requests full_state), we should
|
|
|
+ # send down any existing tags. Usually the user won't have tags in a
|
|
|
+ # newly joined room, unless either a) they've joined before or b) the
|
|
|
+ # tag was added by synapse e.g. for server notice rooms.
|
|
|
+ if full_state:
|
|
|
+ user_id = sync_result_builder.sync_config.user.to_string()
|
|
|
+ tags = yield self.store.get_tags_for_room(user_id, room_id)
|
|
|
+
|
|
|
+ # If there aren't any tags, don't send the empty tags list down
|
|
|
+ # sync
|
|
|
+ if not tags:
|
|
|
+ tags = None
|
|
|
+
|
|
|
account_data_events = []
|
|
|
if tags is not None:
|
|
|
account_data_events.append({
|