cinnyapp / cinny

Yet another matrix client
https://cinny.in
GNU Affero General Public License v3.0
1.98k stars 257 forks source link

Space rooms shows as unknown over federation #1846

Open williamkray opened 3 months ago

williamkray commented 3 months ago

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

kfiven commented 3 months ago

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

williamkray commented 3 months ago

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.

ajbura commented 3 months ago

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

ajbura commented 3 months ago

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

williamkray commented 3 months ago

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 commented 3 months ago

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

image

ajbura commented 3 months ago

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.

williamkray commented 3 months ago

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.

ajbura commented 3 months ago

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.

kfiven commented 2 months ago

Should be fixed for synapse user with synapse v1.114.0

williamkray commented 2 months ago

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

kfiven commented 2 months ago

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

williamkray commented 2 months ago

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 commented 2 months ago

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 commented 1 month ago

@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 commented 1 month ago

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.

kfiven commented 1 month ago

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

kfiven commented 1 month ago

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.

williamkray commented 1 month ago

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.