Skip to content
Snippets Groups Projects
Commit 6c6b9689 authored by Erik Johnston's avatar Erik Johnston Committed by GitHub
Browse files

Merge pull request #2279 from matrix-org/erikj/fix_user_dir

Fix user directory insertion due to missing room_id
parents fe9dc522 d9fd937e
No related branches found
No related tags found
No related merge requests found
...@@ -203,7 +203,9 @@ class UserDirectoyHandler(object): ...@@ -203,7 +203,9 @@ class UserDirectoyHandler(object):
if change is None: if change is None:
# Handle any profile changes # Handle any profile changes
yield self._handle_profile_change(state_key, prev_event_id, event_id) yield self._handle_profile_change(
state_key, room_id, prev_event_id, event_id,
)
continue continue
if not change: if not change:
...@@ -372,7 +374,7 @@ class UserDirectoyHandler(object): ...@@ -372,7 +374,7 @@ class UserDirectoyHandler(object):
yield self.store.remove_from_user_in_public_room(user_id) yield self.store.remove_from_user_in_public_room(user_id)
@defer.inlineCallbacks @defer.inlineCallbacks
def _handle_profile_change(self, user_id, prev_event_id, event_id): def _handle_profile_change(self, user_id, room_id, prev_event_id, event_id):
"""Check member event changes for any profile changes and update the """Check member event changes for any profile changes and update the
database if there are. database if there are.
""" """
...@@ -395,7 +397,9 @@ class UserDirectoyHandler(object): ...@@ -395,7 +397,9 @@ class UserDirectoyHandler(object):
new_avatar = event.content.get("avatar_url") new_avatar = event.content.get("avatar_url")
if prev_name != new_name or prev_avatar != new_avatar: if prev_name != new_name or prev_avatar != new_avatar:
yield self.store.update_profile_in_user_dir(user_id, new_name, new_avatar) yield self.store.update_profile_in_user_dir(
user_id, new_name, new_avatar, room_id,
)
@defer.inlineCallbacks @defer.inlineCallbacks
def _get_key_change(self, prev_event_id, event_id, key_name, public_value): def _get_key_change(self, prev_event_id, event_id, key_name, public_value):
......
...@@ -149,12 +149,13 @@ class UserDirectoryStore(SQLBaseStore): ...@@ -149,12 +149,13 @@ class UserDirectoryStore(SQLBaseStore):
) )
self.get_user_in_directory.invalidate((user_id,)) self.get_user_in_directory.invalidate((user_id,))
def update_profile_in_user_dir(self, user_id, display_name, avatar_url): def update_profile_in_user_dir(self, user_id, display_name, avatar_url, room_id):
def _update_profile_in_user_dir_txn(txn): def _update_profile_in_user_dir_txn(txn):
new_entry = self._simple_upsert_txn( new_entry = self._simple_upsert_txn(
txn, txn,
table="user_directory", table="user_directory",
keyvalues={"user_id": user_id}, keyvalues={"user_id": user_id},
insertion_values={"room_id": room_id},
values={"display_name": display_name, "avatar_url": avatar_url}, values={"display_name": display_name, "avatar_url": avatar_url},
lock=False, # We're only inserter lock=False, # We're only inserter
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment