-
-
Notifications
You must be signed in to change notification settings - Fork 97
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 invite_room_state
, knock_room_state
from the CS API. Fix examples in SS API
#1273
Conversation
This is undocumented other than in the example. Synapse accidentally returns this, which I assume is the reason it ended up in an example.
What if the client isn't syncing - how is it supposed to get this information? I'm not so sure it's a spec bug that these fields exist, at least. |
If the client isn't syncing, how do they know they've been invited in the first place? In practice I'm not sure if there's any way for clients to currently access this field, at least before joining the room (#848), which is when they need this data. I wouldn't be opposed to making it available without syncing, perhaps by allowing the client to call |
Appservices who don't sync :) |
Ahh. OK, yes, appservices do receive this information from Synapse via It still feels odd to include this field in the CS API spec when clients have no way to ever see it. Perhaps it should just be an extension in the AS API spec? Are application services the only consumers of this field? |
It might be the mandela effect, but I swear clients had/have access to this via |
It shouldn't have been the case in Synapse, at least. We try to strip the field before sending it to clients in all cases: https://github.com/matrix-org/synapse/blob/06df5d4250f54d5a95b0c90bfc9352ec6f02c520/synapse/events/utils.py#L371-L377 The only case where this conditional doesn't
It could perhaps all just be replaced by |
The obvious question here is: how would clients get hold of the invite event anyway? It doesn't really matter if they would see the room state via One thought: is the whole thing a holdover from old-style
I think it's worth noting that, up until https://github.com/matrix-org/synapse/pull/6739/files#diff-cd497404c31b1cbaa0bcc442a4c10f1151d151c01e1208e40aede55635e9ab8eL325, there was a comment:
(emphasis mine), which adds some background on the intention here. Still, I'm not sure we can just rip it out - particularly for appservices - without an MSC (as annoying as that is - it looks like a nice cleanup) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
^
Perhaps an MSC to remove |
yes, an MSC sounds good... |
@anoadragon453 is this still on your radar? |
@richvdh Not really I'm afraid, it's definitely fallen off. |
Closing for now then, I guess. |
Fixes #1212
Fixes #848
More context in the linked issues. This PR makes a couple changes:
invite_room_state
orknock_room_state
onm.room.member
in the CS API. Clients should instead be receiving this information down /sync, underrooms.invite.!room.invite_state
.unsigned.invite_room_state
from thePUT /_matrix/federation/v2/invite/{roomId}/{eventId}
response example.unsigned.invite_room_state
inPUT /_matrix/federation/v2/invite/{roomId}/{eventId}
responses synapse#14064