A user of my Conduit fork reported that it cannot change its password using FluffyChat. I verified that this behaviour happens on upstream Conduit too, but the button shows up on matrix.org (Synapse).
After digging into how FluffyChat determines the availability of the password change button, it checks /_matrix/client/v3/capabilities for mChangePassword (m.change_password) being explicitly present and true. However, per spec the client should assume this capability is supported if it's not present.
I don't necessarily agree with Ruma omitting these keys to begin with, but FluffyChat should still assume password changes are possible regardless of the lack of the presence of the key.
Steps to Reproduce
Register an account on any Conduit server
Login with FluffyChat
Go to Settings
Go to Security
See that there is no way to change your password
Expected Behavior
Expected behaviour should be that I see the button to change my password.
App Version
All
Additional Platform Information
All
Additional Context
Example response body of capabilities from my fork of Conduit (they are relatively the same):
Bug Description
A user of my Conduit fork reported that it cannot change its password using FluffyChat. I verified that this behaviour happens on upstream Conduit too, but the button shows up on matrix.org (Synapse).
After digging into how FluffyChat determines the availability of the password change button, it checks
/_matrix/client/v3/capabilities
formChangePassword
(m.change_password
) being explicitly present and true. However, per spec the client should assume this capability is supported if it's not present.I don't necessarily agree with Ruma omitting these keys to begin with, but FluffyChat should still assume password changes are possible regardless of the lack of the presence of the key.
Steps to Reproduce
Expected Behavior
Expected behaviour should be that I see the button to change my password.
App Version
All
Additional Platform Information
All
Additional Context
Example response body of capabilities from my fork of Conduit (they are relatively the same):