Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Room and space upgrades leave members behind #13559

Closed
nrktkt opened this issue Aug 18, 2022 · 4 comments
Closed

Room and space upgrades leave members behind #13559

nrktkt opened this issue Aug 18, 2022 · 4 comments
Labels
A-Room-Upgrades O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.

Comments

@nrktkt
Copy link

nrktkt commented Aug 18, 2022

Description

Hi, I believe there is a bug in upgrading spaces.
I recently upgraded #scala-space:matrix.org and when I did the space address was reassigned to the new space and all the rooms were added as well. However none of the room members were moved over.

So now all the members of the space are stuck in the old one unless they manually move.
And several rooms require you to be a member of the space to access them, so should someone be in the wrong room they're cut off from access to those rooms.

Steps to reproduce

  • have a space on version 6
  • accept the prompt in element to upgrade

Homeserver

matrix.org

Synapse Version

1.65.0

Installation Method

No response

Platform

hosted

Relevant log output

hosted

Anything else that would be useful to know?

No response

@clokep
Copy link
Member

clokep commented Aug 18, 2022

However none of the room members were moved over.

This is expected -- room members are not automatically migrated when rooms are upgraded. This seems to be mostly covered by matrix-org/matrix-spec#455. (I think there's been a couple of proposals to fix this.)

And several rooms require you to be a member of the space to access them, so should someone be in the wrong room they're cut off from access to those rooms.

I think this might be matrix-org/matrix-spec#1072. The homeserver doesn't touch other rooms during the upgrade process (I think some clients might do some magic here when you upgrade a space, but I'm not 100% sure).

The behavior for this isn't even 100% clear if you upgrade Space !a:foo to !b:foo, and you have a room !c:foo restricted to room !a:foo -- is the proper thing to allow joins from members of !a:foo or !b:foo? Or maybe only members of !b:foo (and users would need to manually follow the upgrade first)?

So yes, this isn't great behavior, but I suspect it needs some spec changes before Synapse can improve here.

@richvdh richvdh changed the title Space upgrades leave members behind Room and space upgrades leave members behind Aug 19, 2022
@richvdh richvdh added A-Room-Upgrades S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues. labels Aug 19, 2022
@nrktkt
Copy link
Author

nrktkt commented Aug 22, 2022

At the least I think (lmk if I'm wrong) the spec allows clients to know that a space/room has a new version. Element should give some prompt to users to join the new space. Permissions sound more complicated, but at a minimum the UI should allow an admin to discern which version of the space they're currently depending on.

In summary the impression I have is that to fix the issue spec changes are needed, but in the meantime client changes are needed to prevent this use case from becoming catastrophic (as it has been for me).

@DMRobertson
Copy link
Contributor

I at the least I think (lmk if I'm wrong) the spec allows clients to know that a space/room has a new version. E

In general yes: this is the replacement_room field on the m.room.tombstone event. But I'm not sure if there are any specific caveats regarding spaces here.

In fact, I'm not sure there's much to do here in Synapse for the time being. Suggest we close this in lieu of matrix-org/matrix-spec#455 and matrix-org/matrix-spec#1072 or similar spec issues(?)

@DMRobertson DMRobertson added the O-Occasional Affects or can be seen by some users regularly or most users rarely label Oct 19, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Room-Upgrades O-Occasional Affects or can be seen by some users regularly or most users rarely S-Major Major functionality / product severely impaired, no satisfactory workaround. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Projects
None yet
Development

No branches or pull requests

6 participants