cinny icon indicating copy to clipboard operation
cinny copied to clipboard

Space rooms shows as unknown over federation

Open williamkray opened this issue 1 year ago • 19 comments

Describe the bug

i run several rooms that can only be joined by members of the parent space. in cinny, in the space lobby, rooms that are not joined that have this restrictive membership configuration are only shown as "private room", with no option to view the room information or join it.

Reproduction

  1. create a space
  2. create room in space, set join restriction to only members of the space able to join
  3. leave the room
  4. go to the space lobby
  5. surprise! you cannot join the room again even though you are a member of the space. you cannot see information about the room. instead you see something like this:

image

Expected behavior

room lobby should show the room icon, name, address, description, etc. for members of the space, and should allow people to join the room.

Platform and versions

web, v4.0.3

Additional context

No response

williamkray avatar Jul 27 '24 00:07 williamkray

When you left the room, were you the only member of it?

kfiven avatar Jul 27 '24 00:07 kfiven

no, i invited a bot i control as well... so if it were critical, i could use the bot to re-invite myself. but this wasn't necessary for this testing. the room continues to exist and have users in it, though, if that's what you're asking.

williamkray avatar Jul 27 '24 01:07 williamkray

~~from the icon it looks like it's join rules are private~~

ajbura avatar Jul 27 '24 01:07 ajbura

what is the homeserver of your account? just wanna to make sure it's not https://github.com/element-hq/synapse/issues/17143

ajbura avatar Jul 27 '24 01:07 ajbura

homeservers affected are mssj.me and jobmachine.org.

another room that is affected in element, vs cinny:

element space room list shows the room: Screenshot_20240726185934 (strangly the "Join" button disappears when i take a screenshot, but there's a big green "Join" button there)

element screenshot showing the room join rules (as seen from another account with access to the room): Screenshot_20240726190120

cinny space lobby shows: Screenshot_20240726190103

williamkray avatar Jul 27 '24 02:07 williamkray

another real life example: i'm apparently not in one of the rooms in the Cinny space, but i cannot join it.

image

williamkray avatar Jul 27 '24 02:07 williamkray

Could you please try joining your room which is shown as private by copying it's room_id via "Home" > "Join with Address", it looks like to me as a server side issue (https://github.com/element-hq/synapse/issues/17143).

the one private room in cinny space is actually a private room.

ajbura avatar Jul 27 '24 02:07 ajbura

the one private room in cinny space is actually a private room.

ok, well i just replicated the behavior with the Announcements room, which is not a private room:

Screenshot from 2024-07-26 19-22-36 Screenshot from 2024-07-26 19-23-12 and then after i left it: Screenshot from 2024-07-26 19-23-51

i was indeed able to rejoin the announcements room with the room ID, however, now it shows up under the Home category.

if i navigate back to the Cinny space lobby, i can see the room description, and click the arrow to go to the room, but it shows me a landing page:

image

and then clicking that button takes me back to the view of the room in the Home pane.

i should clarify that for me, the Cinny space is a sub-space of a broader personal space i've created for matrix rooms.

williamkray avatar Jul 27 '24 02:07 williamkray

Thanks for feedback. i got you. Room shown as private in space lobby will be fixed with synapse MR https://github.com/element-hq/synapse/pull/17194

the other issue of room appearing in home is Cinny's issue.

ajbura avatar Jul 27 '24 02:07 ajbura

Should be fixed for synapse user with synapse v1.114.0

kfiven avatar Sep 03 '24 04:09 kfiven

i upgraded to synapse 1.114.0 (for both the server my account is on, and the server that is "home" to this space and most of its rooms) this morning and still see this issue after clearing cache and reloading:

image

image image

williamkray avatar Sep 03 '24 15:09 williamkray

Could you please check the same account on element? I have tested this yesterday with two different accounts and was getting all the rooms.

kfiven avatar Sep 04 '24 04:09 kfiven

confirmed rooms appear correctly in element-web, v1.11.76

the following room correlates to one of the above "Unknown" private rooms above, and shows all metadata about the room as well as offering the option to join (join restriction is enabled, only members of the space are meant to join). Untitled

williamkray avatar Sep 04 '24 15:09 williamkray

just to add more examples of the lobby not functioning properly, here's what i see when i joined the #community:matrix.org space:

image

this is in cinny v4.2.0, my homeserver is running synapse v1.115.0, matrix.org is using synapse v1.115.0.

williamkray avatar Sep 23 '24 15:09 williamkray

@kfiven you made the following comment in #1897 :

Synapse return valid response if room id is local room but if the room is over federation the bug hits.

i just want to clarify that the original reproducibility steps in this ticket are still valid, and those steps do not require that the rooms be configured on another homeserver or have anything to do with federation. all steps are performed with the same account, on the same homeserver. i have just re-tested those steps using the current latest stable releases of all software as of today and i see the same behavior (cinny v4.2.0 in docker + synapse v1.115.0).

reproducing with a matrix.org account on app.cinny.in:

Screencast from 2024-09-27 09-21-13.webm

realized my testing might have been flawed without having another room member, but i've just done it again after adding someone else to the room and it behaves identically.

williamkray avatar Sep 27 '24 14:09 williamkray

well now those rooms aren't showing up in the space directory in element-web either, so i'm confused. i'll need to set up a clean-room to test more.

williamkray avatar Sep 27 '24 16:09 williamkray

This is because you were the only member of these rooms and when you left they got deleted.

kfiven avatar Sep 27 '24 20:09 kfiven

Element web just doesn't show the deleted rooms, cinny shows everything that's in m. space. child event, this was kept like this because people can know what's part of their space and can cleanup.

This is one the reason as well of those unknown rooms and this is valid as no client can show the actual room that was there.

kfiven avatar Sep 27 '24 20:09 kfiven

as i said, i tried it with another user in the room as well and there is no change in behavior, so i don't believe that to be the case here. but again, i'd need to set up a cleaner experiment.

williamkray avatar Sep 27 '24 21:09 williamkray

Hello guys, i dont want to open another issue, but what i dont get it why private rooms have internal room_id visible while public rooms dont? The internal room_id should be visible in the settings, along with the current logged in users access token, please, just like in element.

Im using cinny-web no the app. Thank you

kuligs2 avatar Jan 02 '25 22:01 kuligs2