-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Don't fail requests to unbind 3pids for non supporting ID servers #3667
Conversation
synapse/handlers/identity.py
Outdated
# The remote server probably doesn't support unbinding (yet) | ||
defer.returnValue(False) | ||
else: | ||
raise SynapseError(502, "Failed to contact identity server") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't we include some info about the error we got from the IS?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, possibly. Not sure what we'd want to copy? @richvdh did you have opinions about how this is meant to work?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
err, not really. It feels like it's probably not something a user is going to do much about, so I'm not sure there is much value in including it in the response.
What we probably should do is log the error.
Older identity servers may not support the unbind 3pid request, so we shouldn't fail the requests if we received one of 400/404/501. The request still fails if we receive e.g. 500 responses, allowing clients to retry requests on transient identity server errors that otherwise do support the API. Fixes #3661
b294d7f
to
360ba89
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Fixes matrix-org#985 Includes documentation for matrix-org/synapse#3667 Raises https://github.com/matrix-org/matrix-doc/issues/1566
Older identity servers may not support the unbind 3pid request, so we
shouldn't fail the requests if we received one of 400/404/501. The
request still fails if we receive e.g. 500 responses, allowing clients
to retry requests on transient identity server errors that otherwise do
support the API.