Skip to content

Feature a waiting room #4220

Description

@DodoLeDev

Your use case

What would you like to do?

I would like guests that want to join a call without any registered users in it to wait until there is someone there

Why would you like to do it?

I initially deployed Element Call for guests to join calls, and I have actively enforced rules for them to not abuse from it.

What I want to achieve is currently available with my specific setup (see next section), but the UX is horrible because I guess it was not really designed for this use-case

How would you like to achieve it?

I think the only thing to change here is the handling of the error message, and an automatic refresh at regular intervals.

Have you considered any alternatives?

Currently, this behaviour is nearly accomplished by not deploying a LiveKit server for the guest matrix server: call creation coming from Element Call Standalone would fail, while joining a LiveKit call created by the registrered server would succeed.

The only problem here is this:

Image

Instead of something like this:

Image

Additional context

It would be cool to officially support a setup without a LiveKit backend for the Element Call matrix server.

Currently, the only documentation fragment that helped me to go in the direction I took was in Readme > Backend selection:

For the LiveKit MatrixRTC backend (MSC4195), the first participant who joined the call defines which backend will be used for this call via the foci_preferred key in their org.matrix.msc3401.call.member state event.

And the self-hosting guide explicitly asks for a dedicated LiveKit backend:

In order to guarantee smooth operation of Element Call, a dedicated LiveKit backend is required for each site deployment.

Yet, doing the opposite actually gives a really cool security feature!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-EnhancementNew features, changes in functionality, performance boosts, user-facing improvements

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions