matrix-org / matrix-spec

The Matrix protocol specification
Apache License 2.0
194 stars 95 forks source link

room directory does not make it clear how to find a resident server #1375

Open richvdh opened 1 year ago

richvdh commented 1 year ago

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?

MTRNord commented 1 year ago

Related: should servers not able to help with joining still return that room in their roomlist?

richvdh commented 1 year ago

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?

MTRNord commented 1 year ago

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 :)

KitsuneRal commented 1 year ago

Would that (telling the clients how to join) amount to adding via to the fields returned in the public rooms chunk?

richvdh commented 1 year ago

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.

richvdh commented 1 year ago

To make a concrete proposal: I assert that:

If anyone would like to write that into a proper MSC, I'd be much obliged.