bug: join_authorised_via_users_server is not stripped when setting subsequent memberships #1542

Closed
opened 2026-03-14 23:05:08 +00:00 by rye · 2 comments

I get the following error when trying to change my room nick:

MatrixError: [400] M_INVALID_PARAM: @rye:itsrye.dev is already joined, an authorising user is not required.

tested from element web 1.12.10, and c10y 0.5.6 (2c72338)

it also sends different events to the homeserver if its a synapse homeserver (in this example fairchat.eu) or a c10y homeserver

for c10y:

{
  "avatar_url": "mxc://itsrye.dev/h27Ybw5ZhnrDtB7u9PZWOrou2pTstXMU",
  "displayname": "meow",
  "join_authorised_via_users_server": "@seven:sable.moe",
  "membership": "join"
}

for synapse:

{
  "avatar_url": "mxc://fairchat.eu/zHWxaBFfeNgqvyaYZspbjeiB",
  "displayname": "meow",
  "membership": "join"
}
I get the following error when trying to change my room nick: ``` MatrixError: [400] M_INVALID_PARAM: @rye:itsrye.dev is already joined, an authorising user is not required. ``` tested from element web 1.12.10, and c10y 0.5.6 (2c72338) it also sends different events to the homeserver if its a synapse homeserver (in this example fairchat.eu) or a c10y homeserver for c10y: ```json { "avatar_url": "mxc://itsrye.dev/h27Ybw5ZhnrDtB7u9PZWOrou2pTstXMU", "displayname": "meow", "join_authorised_via_users_server": "@seven:sable.moe", "membership": "join" } ``` for synapse: ```json { "avatar_url": "mxc://fairchat.eu/zHWxaBFfeNgqvyaYZspbjeiB", "displayname": "meow", "membership": "join" } ```
rye changed title from "weird" issue when trying to change room nick name to client sending "join_authorised_via_users_server" on nick name change, only to c10y, not when synapse is hs 2026-03-14 23:07:03 +00:00
nex changed title from client sending "join_authorised_via_users_server" on nick name change, only to c10y, not when synapse is hs to bug: join_authorised_via_users_server is not stripped when setting subsequent memberships 2026-03-14 23:10:13 +00:00
Owner

Behaviour on other servers appears to be to simply strip this field, rather than throwing an error wrt it. Probably a pretty easy PR.

Behaviour on other servers appears to be to simply strip this field, rather than throwing an error wrt it. Probably a pretty easy PR.
Contributor

Looking into this, but not very experienced with collaborating or rust, in general. Feel free to step on my toes :3

Looking into this, but not very experienced with collaborating or rust, in general. Feel free to step on my toes :3
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
continuwuation/continuwuity#1542
No description provided.