Spaces' room lists appear empty when the space is set to anything other than Public and contains space-only / room-join-constrained rooms #2132

Closed
opened 2026-08-14 09:49:03 +00:00 by cyrneko · 5 comments
Contributor

So the situation is this:

  • There is a space which is invite-only, or knock-invite, which contains a few rooms
  • Those rooms are space-constrained, e.g require room-membership in the space to join

Under these circumstances, even over federation (e.g viewing from a different server), the list of rooms in the space will never appear in any client. Some clients may list a number of rooms but will never be able to load an actual list of rooms, their IDs, names, or any other information. The only information I've seen clients be able to display is the number of rooms, but that's all.

Reproduction

  • Create a space, set it invite-only
  • Create at least 1 room that's space-constrained in the space
  • Invite another user to the space
  • The other user cannot list rooms they haven't already joined, despite the room-join-constraint being met for the child rooms

if this is a duplicate issue then sorry lmfao I could not find it

So the situation is this: - There is a space which is invite-only, or knock-invite, which contains a few rooms - Those rooms are space-constrained, e.g require room-membership in the space to join Under these circumstances, even over federation (e.g viewing from a different server), the list of rooms in the space will never appear in any client. Some clients may list a number of rooms but will never be able to load an actual list of rooms, their IDs, names, or any other information. The only information I've seen clients be able to display is the _number_ of rooms, but that's all. ## Reproduction - Create a space, set it invite-only - Create at least 1 room that's space-constrained in the space - Invite another user to the space - The other user cannot list rooms they haven't already joined, despite the room-join-constraint being met for the child rooms if this is a duplicate issue then sorry lmfao I could not find it
Owner

Cannot reproduce, can you provide more info?

[root@ivy Nexus]# curl -H 'Authorization: Bearer woof' https://nexy7574.co.uk:8448/_matrix/client/v1/rooms/\!nFUQTZch0qIlass6eAF01sIc842l5UDqi0WllVVc31M/hierarchy | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   802   0   802   0     0  5702     0  --:--:-- --:--:-- --:--:--  5728
{
  "rooms": [
    {
      "room_id": "!nFUQTZch0qIlass6eAF01sIc842l5UDqi0WllVVc31M",
      "canonical_alias": "#2132:nexy7574.co.uk",
      "name": "2132",
      "room_type": "m.space",
      "num_joined_members": 2,
      "join_rule": "invite",
      "world_readable": false,
      "guest_can_join": true,
      "room_version": "12",
      "children_state": [
        {
          "content": {
            "via": [
              "nexy7574.co.uk"
            ]
          },
          "origin_server_ts": 1786701797711,
          "sender": "@nex:nexy7574.co.uk",
          "state_key": "!5aGPBtdhR7ySVO34zv0v6igTOPUm2_EZv0NRR-3tUEQ",
          "type": "m.space.child"
        }
      ]
    },
    {
      "room_id": "!5aGPBtdhR7ySVO34zv0v6igTOPUm2_EZv0NRR-3tUEQ",
      "canonical_alias": "#2132-restricted:nexy7574.co.uk",
      "name": "2132 restricted room",
      "num_joined_members": 1,
      "join_rule": "restricted",
      "allowed_room_ids": [
        "!nFUQTZch0qIlass6eAF01sIc842l5UDqi0WllVVc31M"
      ],
      "world_readable": false,
      "guest_can_join": true,
      "room_version": "12",
      "children_state": []
    }
  ]
}
Cannot reproduce, can you provide more info? ``` [root@ivy Nexus]# curl -H 'Authorization: Bearer woof' https://nexy7574.co.uk:8448/_matrix/client/v1/rooms/\!nFUQTZch0qIlass6eAF01sIc842l5UDqi0WllVVc31M/hierarchy | jq % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 802 0 802 0 0 5702 0 --:--:-- --:--:-- --:--:-- 5728 { "rooms": [ { "room_id": "!nFUQTZch0qIlass6eAF01sIc842l5UDqi0WllVVc31M", "canonical_alias": "#2132:nexy7574.co.uk", "name": "2132", "room_type": "m.space", "num_joined_members": 2, "join_rule": "invite", "world_readable": false, "guest_can_join": true, "room_version": "12", "children_state": [ { "content": { "via": [ "nexy7574.co.uk" ] }, "origin_server_ts": 1786701797711, "sender": "@nex:nexy7574.co.uk", "state_key": "!5aGPBtdhR7ySVO34zv0v6igTOPUm2_EZv0NRR-3tUEQ", "type": "m.space.child" } ] }, { "room_id": "!5aGPBtdhR7ySVO34zv0v6igTOPUm2_EZv0NRR-3tUEQ", "canonical_alias": "#2132-restricted:nexy7574.co.uk", "name": "2132 restricted room", "num_joined_members": 1, "join_rule": "restricted", "allowed_room_ids": [ "!nFUQTZch0qIlass6eAF01sIc842l5UDqi0WllVVc31M" ], "world_readable": false, "guest_can_join": true, "room_version": "12", "children_state": [] } ] } ```
Author
Contributor

okay sorry I might've borked the repro steps I SWEAR I thought I had it.

okay so, in any space I've created on my server I've always observed a bizzare issue in which anyone, local or over federation, could not reliably fetch the hierarchy of rooms + then show the list of rooms and their summaries, this includes almost every single client I've tried over both legacy sync and sliding sync

the behavior is usually that the client may be able to list 1-2 rooms, and may show you a count of rooms, but will never finish loading the summaries for most of the rooms or they will straight up not appear (e.g it will never even look like other rooms was there, as if they weren't in the hierarchy, yet the count still includes them in e.g fluffychat)

here I thought I finally got something reproducible but it was a total fluke :neocat_cry_loud:

I have a space on which I can consistently repro that only 2 channels out of a total 4 space-restricted ones show up over federation, if you want I can invite one of your accounts (server software shouldn't matter) into that space and you see whether you can see that same behavior of some channels not loading

okay sorry I might've borked the repro steps I SWEAR I thought I had it. okay so, in any space I've created on my server I've always observed a bizzare issue in which anyone, local or over federation, could not reliably fetch the hierarchy of rooms + then show the list of rooms and their summaries, this includes almost every single client I've tried over both legacy sync and sliding sync the behavior is usually that the client may be able to list 1-2 rooms, and may show you a count of rooms, but will **_never_** finish loading the summaries for most of the rooms or they will straight up not appear (e.g it will never even look like other rooms was there, as if they weren't in the hierarchy, yet the count still includes them in e.g fluffychat) here I thought I finally got something reproducible but it was a total fluke :neocat_cry_loud: I have a space on which I can consistently repro that only 2 channels out of a total 4 space-restricted ones show up over federation, if you want I can invite one of your accounts (server software shouldn't matter) into that space and you see whether you can see that same behavior of some channels not loading
Contributor

i guess it's because we don't include the summary in the federation response when user query the server

The federation response should divulge information based on if any member of the requesting server could join the room.

i guess it's because we don't include the summary in the federation response when user query the server > The federation response should divulge information based on if any member of the requesting server could join the room.
Contributor

something like this #2133

something like this https://forgejo.ellis.link/continuwuation/continuwuity/pulls/2133
Owner

Closed by #2133

Closed by #2133
Sign in to join this conversation.
No milestone
No project
No assignees
4 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#2132
No description provided.