Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove the unspec'd Account Validity feature from Synapse #15273

Open
2 tasks
matrixbot opened this issue Dec 21, 2023 · 0 comments
Open
2 tasks

Remove the unspec'd Account Validity feature from Synapse #15273

matrixbot opened this issue Dec 21, 2023 · 0 comments

Comments

@matrixbot
Copy link
Collaborator

matrixbot commented Dec 21, 2023

This issue has been migrated from #15273.


We have an undocumented and unspec'd Account Validity feature currently implemented in Synapse. This was originally written for DINUM. Since then, all of the functionality has been moved into the module API (matrix-org/synapse#9884). https://github.com/matrix-org/synapse-email-account-validity is the only known implementation of this API.

Synapse still has an internal implementation of account validity however, gated behind an undocumented account_validity config option. This implementation was originally written for DINUM, and at this point I don't think they make use of Synapse's internal implementation anymore; instead relying on the module instead. I think we should remove it.

However, even after removing Synapse's internal implementation of this feature and leaving behind the account validity module API, we're still left with unspec'd functionality.

  • Part of the feature works by returning an unspec'd ORG_MATRIX_EXPIRED_ACCOUNT error code to clients when their account expires. Modules shouldn't be returning undocumented error codes to clients on spec'd C-S endpoints.
  • In addition, MSC3720 (Synapse implementation) defines a new endpoint to allow clients to query certain metadata about other local and remote users. Part of that implementation included returning a org.matrix.expired field in the response, which lets clients know whether another user's account is no longer valid. MSC3720 does not mention this field.

This is clearly a feature that people want; but I think more spec work is needed to allow this functionality in mainline Synapse, even in module form.


This issue is really two in one, and latter probably belongs in matrix-spec:

  • Remove the internal account validity implementation gated behind the undocumented account_validity config option.
  • Spec account validity (or something like it) so that we can comfortably have modules that implement it without breaking spec compliance.
@matrixbot matrixbot changed the title Dummy issue Remove the unspec'd Account Validity feature from Synapse Dec 21, 2023
@matrixbot matrixbot reopened this Dec 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant