Merge pull request #3755 from matrix-org/erikj/fix_server_notice_tags

Fix up tagging server notice rooms.
This commit is contained in:
Erik Johnston 2018-08-24 15:04:41 +01:00 committed by GitHub
commit 897d976c1e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 4 deletions

1
changelog.d/3755.bugfix Normal file
View file

@ -0,0 +1 @@
Fix tagging of server notice rooms

View file

@ -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

View file

@ -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)