Fix Internal Server Error for Non-Local Users in Room Actions #17607
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
see: #16924
The
[POST /_matrix/client/v3/rooms/{roomId}/-action-]
endpoint currently returns an Internal Server Error when processing a payload containing auser_id
from a different home server or an invalid (non-local) user ID with non existing room. This occurs due to an unhandled standard Exception in theget_local_current_membership_for_user_in_room
function withinroommember.py
.This PR addresses the issue by improving the error handling for non-local user IDs.
Modified Exception Handling: Replace the standard Exception in
get_local_current_membership_for_user_in_room
with aSynapseError
, providing a clear and specific error message to the API consumer.Testing
Notes
Closes: #16924
Pull Request Checklist
EventStore
toEventWorkerStore
.".code blocks
.(run the linters)