mirror of
https://mau.dev/maunium/synapse.git
synced 2024-09-06 01:22:16 +00:00
switch to setting default displayname in the storage layer
to avoid clobbering guest user displaynames on registration
This commit is contained in:
parent
f8420d6279
commit
9f7a555b4e
@ -20,7 +20,7 @@ import synapse
|
|||||||
import synapse.types
|
import synapse.types
|
||||||
from synapse.api.auth import get_access_token_from_request, has_access_token
|
from synapse.api.auth import get_access_token_from_request, has_access_token
|
||||||
from synapse.api.constants import LoginType
|
from synapse.api.constants import LoginType
|
||||||
from synapse.types import RoomID, RoomAlias, get_localpart_from_id
|
from synapse.types import RoomID, RoomAlias
|
||||||
from synapse.api.errors import SynapseError, Codes, UnrecognizedRequestError
|
from synapse.api.errors import SynapseError, Codes, UnrecognizedRequestError
|
||||||
from synapse.http.servlet import (
|
from synapse.http.servlet import (
|
||||||
RestServlet, parse_json_object_from_request, assert_params_in_request, parse_string
|
RestServlet, parse_json_object_from_request, assert_params_in_request, parse_string
|
||||||
@ -343,13 +343,6 @@ class RegisterRestServlet(RestServlet):
|
|||||||
generate_token=False,
|
generate_token=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
# before we auto-join, set a default displayname to avoid ugly race
|
|
||||||
# between the client joining rooms and trying to set a displayname
|
|
||||||
localpart = get_localpart_from_id(registered_user_id)
|
|
||||||
yield self.store.set_profile_displayname(
|
|
||||||
localpart, localpart
|
|
||||||
)
|
|
||||||
|
|
||||||
# auto-join the user to any rooms we're supposed to dump them into
|
# auto-join the user to any rooms we're supposed to dump them into
|
||||||
fake_requester = synapse.types.create_requester(registered_user_id)
|
fake_requester = synapse.types.create_requester(registered_user_id)
|
||||||
for r in self.hs.config.auto_join_rooms:
|
for r in self.hs.config.auto_join_rooms:
|
||||||
|
@ -177,9 +177,11 @@ class RegistrationStore(background_updates.BackgroundUpdateStore):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if create_profile_with_localpart:
|
if create_profile_with_localpart:
|
||||||
|
# set a default displayname serverside to avoid ugly race
|
||||||
|
# between auto-joins and clients trying to set displaynames
|
||||||
txn.execute(
|
txn.execute(
|
||||||
"INSERT INTO profiles(user_id) VALUES (?)",
|
"INSERT INTO profiles(user_id, displayname) VALUES (?,?)",
|
||||||
(create_profile_with_localpart,)
|
(create_profile_with_localpart, create_profile_with_localpart)
|
||||||
)
|
)
|
||||||
|
|
||||||
self._invalidate_cache_and_stream(
|
self._invalidate_cache_and_stream(
|
||||||
|
Loading…
Reference in New Issue
Block a user