jech / galene

The Galène videoconference server
https://galene.org
MIT License
899 stars 119 forks source link

A GUI selector to define connection (Simple or Full) #155

Closed GayLaurent closed 1 year ago

GayLaurent commented 1 year ago

I propose a GUI modification.

In fonction of a parameter (inside a json file guiconfig.json or guiconfig-template.json), the connection in GUI change.

=> This modification is use when we define group with users without password. It's confusing to have a GUI asking a password if it's not necessary.

jech commented 1 year ago

I agree with the goal, but I don't agree with the mechanism.

We already have a mechanism for passing arbitrary data to the GUI — it's the .status.json mechanism. See here:

So I suggest you rework your patch to use the existing mechanism rather than inventing your own. Additionally, please use descriptive names rather than integers.

jech commented 1 year ago

Thanks for the PR. Thinkig it over, I believe that your use-case will be covered by the next version of Galene, which has support for invites. You may test my working version of the code, which is in the branch token.

  1. In order to disable the password prompt, you simply create an invite with no username by typing /invite. This creates a link with an embedded token, which causes Galene to display a login dialog with no Password field.
  2. In order to disable the login prompt altogether, you create an invite with a username, by typing something like /invite anonymous. This creates a link with an embedded token that contains the specified username.

Please feel free to test by doing git clone -b token https://github.com/jech/galene. Please be aware that I'm still working on this code (the server-side code is almost ready, the client-side code needs some cleaning up).

jech commented 1 year ago

The need to provide a simplified login UI has been met in a different manner, by using stateful tokens. Please see https://lists.galene.org/galene/87y1n8edxz.wl-jch@irif.fr/T/.

Please reopen this PR, or file a new issue, if you have a usecase that's not met.