automatically set default displayname on register
to avoid leaking ugly MXIDs and cluttering up the timeline with displayname changes as well as membership joins for autojoin rooms (e.g. the status autojoin rooms), automatically set the displayname to match the localpart of the mxid upon registration.
This commit is contained in:
parent
99354b430e
commit
f8420d6279
|
@ -20,7 +20,7 @@ import synapse
|
|||
import synapse.types
|
||||
from synapse.api.auth import get_access_token_from_request, has_access_token
|
||||
from synapse.api.constants import LoginType
|
||||
from synapse.types import RoomID, RoomAlias
|
||||
from synapse.types import RoomID, RoomAlias, get_localpart_from_id
|
||||
from synapse.api.errors import SynapseError, Codes, UnrecognizedRequestError
|
||||
from synapse.http.servlet import (
|
||||
RestServlet, parse_json_object_from_request, assert_params_in_request, parse_string
|
||||
|
@ -343,6 +343,13 @@ class RegisterRestServlet(RestServlet):
|
|||
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
|
||||
fake_requester = synapse.types.create_requester(registered_user_id)
|
||||
for r in self.hs.config.auto_join_rooms:
|
||||
|
|
Loading…
Reference in New Issue