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

Auto-join rooms when knock accepted #16307

Open
daniellekirkwood opened this issue Sep 12, 2023 · 6 comments
Open

Auto-join rooms when knock accepted #16307

daniellekirkwood opened this issue Sep 12, 2023 · 6 comments
Labels
A-Join Joining a room (there is another label for federated joins) A-User-Experience O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Blocks non-critical functionality, workarounds exist. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.

Comments

@daniellekirkwood
Copy link

Knocking/Ask to join is being implemented in Element Web. We've hit a flow that we think needs server support to fix.

Knocking is: A type of room allows users to ask-to-join (instead of waiting for an invite), once a user has knocked the admins in the room receive a notification, the new user is accepted to the room and they should automatically be joined.

Issue: Today, once accepted to the room the user is asked to join the room...

266297421-c60a12b3-2f34-48df-abfb-72d82ff1fde6.mp4

You can see this at 24s in the video.

Ideally - if the user has knocked and been accepted they are then joined to the room - they should not have to click 'join' again...

@daniellekirkwood daniellekirkwood added A-User-Experience A-Join Joining a room (there is another label for federated joins) labels Sep 12, 2023
@daniellekirkwood
Copy link
Author

The issue was spotted because once your knock has been accepted the room goes into the Invites room list section and that feels wrong

@DMRobertson
Copy link
Contributor

DMRobertson commented Sep 12, 2023

AFAICS direct transition knock -> join is forbidden by the spec: https://spec.matrix.org/v1.8/client-server-api/#room-membership:

image

The spec change was: matrix-org/matrix-spec-proposals#2403 and see https://github.com/matrix-org/matrix-spec-proposals/blob/main/proposals/2403-knock.md#membership-changes in particular.

I suppose that Synapse could automatically accept the invite (invite -> join) on behalf of the knocking user if it sees a transition from knock -> invite.

@clokep
Copy link
Contributor

clokep commented Sep 12, 2023

I suppose that Synapse could automatically accept the invite (invite -> join) on behalf of the knocking user if it sees a transition from knock -> invite.

I think in the past we've avoided doing automatic events for users like this, but I'm not 100% sure. It seems like the user should just transition to join honestly?

@t3chguy
Copy link
Member

t3chguy commented Sep 12, 2023

I suppose that Synapse could automatically accept the invite (invite -> join) on behalf of the knocking user if it sees a transition from knock -> invite.

As per the spec:

Homeservers are permitted to automatically accept invites as a result of knocks as they should be aware of the user’s intent to join the room.

https://spec.matrix.org/v1.8/client-server-api/#knocking-on-rooms

@daniellekirkwood
Copy link
Author

So where does that leave us? Is this still a relevant issue, should the description be updated, or do we need to discuss other options?

@clokep
Copy link
Contributor

clokep commented Sep 12, 2023

So where does that leave us? Is this still a relevant issue, should the description be updated, or do we need to discuss other options?

It sounds like the work needs to get scheduled.

@MatMaul MatMaul added O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Blocks non-critical functionality, workarounds exist. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues. labels Sep 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Join Joining a room (there is another label for federated joins) A-User-Experience O-Occasional Affects or can be seen by some users regularly or most users rarely S-Minor Blocks non-critical functionality, workarounds exist. T-Defect Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Projects
None yet
Development

No branches or pull requests

5 participants