forked from MirrorHub/synapse
Merge pull request #3755 from matrix-org/erikj/fix_server_notice_tags
Fix up tagging server notice rooms.
This commit is contained in:
commit
897d976c1e
3 changed files with 16 additions and 4 deletions
1
changelog.d/3755.bugfix
Normal file
1
changelog.d/3755.bugfix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Fix tagging of server notice rooms
|
|
@ -46,6 +46,8 @@ class ResourceLimitsServerNotices(object):
|
||||||
self._message_handler = hs.get_message_handler()
|
self._message_handler = hs.get_message_handler()
|
||||||
self._state = hs.get_state_handler()
|
self._state = hs.get_state_handler()
|
||||||
|
|
||||||
|
self._notifier = hs.get_notifier()
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
def maybe_send_server_notice_to_user(self, user_id):
|
def maybe_send_server_notice_to_user(self, user_id):
|
||||||
"""Check if we need to send a notice to this user, this will be true in
|
"""Check if we need to send a notice to this user, this will be true in
|
||||||
|
@ -152,8 +154,11 @@ class ResourceLimitsServerNotices(object):
|
||||||
# tag already present, nothing to do here
|
# tag already present, nothing to do here
|
||||||
need_to_set_tag = False
|
need_to_set_tag = False
|
||||||
if need_to_set_tag:
|
if need_to_set_tag:
|
||||||
yield self._store.add_tag_to_room(
|
max_id = yield self._store.add_tag_to_room(
|
||||||
user_id, room_id, SERVER_NOTICE_ROOM_TAG, None
|
user_id, room_id, SERVER_NOTICE_ROOM_TAG, {}
|
||||||
|
)
|
||||||
|
self._notifier.on_new_event(
|
||||||
|
"account_data_key", max_id, users=[user_id]
|
||||||
)
|
)
|
||||||
|
|
||||||
@defer.inlineCallbacks
|
@defer.inlineCallbacks
|
||||||
|
|
|
@ -39,6 +39,8 @@ class ServerNoticesManager(object):
|
||||||
self._event_creation_handler = hs.get_event_creation_handler()
|
self._event_creation_handler = hs.get_event_creation_handler()
|
||||||
self._is_mine_id = hs.is_mine_id
|
self._is_mine_id = hs.is_mine_id
|
||||||
|
|
||||||
|
self._notifier = hs.get_notifier()
|
||||||
|
|
||||||
def is_enabled(self):
|
def is_enabled(self):
|
||||||
"""Checks if server notices are enabled on this server.
|
"""Checks if server notices are enabled on this server.
|
||||||
|
|
||||||
|
@ -153,8 +155,12 @@ class ServerNoticesManager(object):
|
||||||
creator_join_profile=join_profile,
|
creator_join_profile=join_profile,
|
||||||
)
|
)
|
||||||
room_id = info['room_id']
|
room_id = info['room_id']
|
||||||
yield self._store.add_tag_to_room(
|
|
||||||
user_id, room_id, SERVER_NOTICE_ROOM_TAG, None
|
max_id = yield self._store.add_tag_to_room(
|
||||||
|
user_id, room_id, SERVER_NOTICE_ROOM_TAG, {},
|
||||||
|
)
|
||||||
|
self._notifier.on_new_event(
|
||||||
|
"account_data_key", max_id, users=[user_id]
|
||||||
)
|
)
|
||||||
|
|
||||||
logger.info("Created server notices room %s for %s", room_id, user_id)
|
logger.info("Created server notices room %s for %s", room_id, user_id)
|
||||||
|
|
Loading…
Reference in a new issue