element-hq / element-call

Group calls powered by Matrix
https://call.element.io
Apache License 2.0
554 stars 88 forks source link

Visiting a private room has UI provide a knock button or "Call not found" #2348

Open AndrewFerr opened 4 months ago

AndrewFerr commented 4 months ago

Steps to reproduce

  1. Create a guest link for a knock/public room
  2. Change the room access to private
  3. Visit the guest link in a new tab

Outcome

What did you expect?

The guest link's ECall should report the room as being private.

What happened instead?

One of the two outcomes:

1) The guest link's ECall offers to send a knock to the room, which unsurprisingly fails & shows the server error of:

MatrixError: [403] You don't have permission to knock (https://matrix.guest.ess-ecall-poc.ems-support.element.dev/_matrix/client/v3/knock/!xDTBDZXIBfULuWWyMZ%3Aess-ecall-poc.ems-support.element.dev?server_name=ess-ecall-poc.ems-support.element.dev)

2) The guest link's ECall reports the call as not found, and displays a message of:

Call not found

Calls are now end-to-end encrypted and need to be created from the home page. This helps make sure everyone's using the same encryption key.

Operating system

No response

Browser information

No response

URL for webapp

https://call.guest.ess-ecall-poc.ems-support.element.dev/

Will you send logs?

No

AndrewFerr commented 4 months ago

Outcome 1) must be due to ECall caching the room summary, because 2) is the fallback for when the room can't be found, which should be the case for a private room.

AndrewFerr commented 4 months ago

As it turns out, even Element Web gives a "knock" button for private or non-existent rooms, though it gives a better error message for the former, of:

Failed to join

You need an invite to access this room.