-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Deactivating account with {erase: true}
fails with internal server error
#12257
Comments
IMO it was introduced in #11846 But it is not clear why this test not fails: synapse/tests/rest/admin/test_user.py Line 1008 in bf9d549
|
Because it only tests a valid MXC URI, and a case where it's |
Thanks @RenWal for a very thorough report. To my mind, the root cause here is having two ways of representing "this user doesn't have an avatar set". The database allows A point fix would be to only call synapse/synapse/handlers/profile.py Lines 306 to 307 in 300ed0b
|
@RenWal: as a potential workaround, it might be possible to use the admin API to set a user's avatar url to (I agree we should fix the bug in the meantime.) |
Also note: to reproduce this one must either set |
Thanks for the suggestion! Unfortunately, that does not appear to work. In fact, we're showing this data for a freshly created user:
This looks like |
Hopefully this fixes #12257. Co-authored-by: Patrick Cloke <[email protected]>
We've verified that fffb3c4 no longer exhibits this issue in our staging environment. We'll report back in case we still experience problems once we deploy 1.56 to production, but I'm pretty confident that this fix is all we need. Thank you for the quick handling of this issue! |
Description
When attempting GDPR-compliant user deactivation using
POST /_synapse/admin/v1/deactivate/@user:domain.tld
with{erase: true}
, the request fails withM_UNKNOWN
andValueError: mxc URI '' did not match expected format
appears in the homeserver log file. Without theerase
parameter, deletion works.Interestingly, when deleting multiple accounts in a row with
{erase: true}
, they are not kicked from their rooms, but as soon as we then delete a single additional user with{erase: false}
, the user parter kicks in and immediately also kicks all the users for which deletion previously failed.I'm unsure whether this is relevant, but some details about our setup:
Steps to reproduce
displayname
and the email address in the POST body){erase: true}
to deactivate the accountServer logs showing two deletion failures with the erase option and one success without it
Version information
If not matrix.org:
Version: 1.54.0 on Python 3.8.10
Install method: debian package
matrix-synapse-py3 1.54.0+focal1
The text was updated successfully, but these errors were encountered: