Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Fix a long-standing bug where Synapse would not unbind third-party identifiers for Application Service users when deactivated and would not emit a compliant response. #16617

Merged
merged 2 commits into from Nov 9, 2023

Conversation

reivilibre
Copy link
Contributor

Fixes: #16608

Base: develop

Original commit schedule, with full messages:

  1. Don't skip unbinding 3PIDs and returning success status when deactivating AS user
    Fixes Deactivating an account as an application service using user_id yields a response not containing id_server_unbind_result #16608

Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
Copy link
Contributor

@clokep clokep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems reasonable to me!

if requester.app_service:
await self._deactivate_account_handler.deactivate_account(
requester.user.to_string(), body.erase, requester
# allow ASes to deactivate their own users:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This somehow made me think we should be checking if the appservice owns the user, but requester.app_service wouldn't exist unless the AS owned the user.

@reivilibre reivilibre merged commit dc7f068 into develop Nov 9, 2023
41 checks passed
@reivilibre reivilibre deleted the rei/as_deactiv_is branch November 9, 2023 20:18
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants