Open richvdh opened 1 year ago
Related: should servers not able to help with joining still return that room in their roomlist?
Related: should servers not able to help with joining still return that room in their roomlist?
I don't really follow how that is different from what I said?
Related: should servers not able to help with joining still return that room in their roomlist?
I don't really follow how that is different from what I said?
Ah I think I miss understood yours. I read yours as questioning if there should be some way to tell clients that it is published but they need another server to join via. As in not hiding it server side but telling clients that it doesn't work. So I just misread it apparently. Sorry :)
Would that (telling the clients how to join) amount to adding via
to the fields returned in the public rooms chunk?
Would that (telling the clients how to join) amount to adding
via
to the fields returned in the public rooms chunk?
Probably. Though I'm not entirely sure if a server should be returning rooms it cannot handle in its room directory anyway.
To make a concrete proposal: I assert that:
/_matrix/federation/v1/publicRooms
, and /_matrix/client/v3/publicRooms
with an empty server, should return only rooms where the server has at least one joined member./join
based on the results of a /_matrix/client/v3/publicRooms
call, clients should provide a via
parameter matching the server
parameter used with /publicRooms
, if any.If anyone would like to write that into a proper MSC, I'd be much obliged.
Link to problem area:
https://spec.matrix.org/v1.5/server-server-api/#get_matrixfederationv1publicrooms https://spec.matrix.org/v1.5/client-server-api/#get_matrixclientv3publicrooms
Issue
Neither the C-S nor federation
/publicRooms
APIs make it clear if servers may return rooms that they are no longer resident in (or cannot handle a join request for some other reason).If servers can return rooms that they are no longer resident in, how is the client supposed to join the room, given there is no server list?