Added possibility to force asking guest displayname.
If "Ask guest for a displayname" settings in Talk global settings is on, guest can not enter to conversation until input some display name. Signed-off-by: Uspenskiy Anatoliy [email protected]

cc @jancborchardt
Excuse me please. Is there something else I need to do? I'm newbie here and I don't know what's next.
Currently waiting on feedback from our Design and Usability experts @jancborchardt and @nimisha-vijay They always where agains such a screen and settings are not the best idea for things like this. Either we have it for everyone or not, otherwise it's a bit confusing for users when they use 2 different installations and on one they are prompted for the name and on the other one not.
Thanks for your answer. Well... I think, that it's a necessary feature. My colleague asked me to realize it because he tired to communicate with some "Guests" and it's useless to ask them to introduce themselves. May be there's no need in possibility to on and off this feature, but I'm not an author of this app, so I decided to do so. If that's right - I can do this feature required without possibility to disable it.
re-pinging @jancborchardt @nimisha-vijay in case it dropped of the list
otherwise it's a bit confusing for users when they use 2 different installations and on one they are prompted for the name and on the other one not
Agreed, I think this is a good idea, but the flow is quite different for a small setting change. What if we changed the flow of joining any conversation as a guest such that it included an explicit "Join conversation" button and an input field for the name directly in the sidebar. If guests are allowed to join without a name, the input would be pre-filled with "Guest" and the button is enabled. Otherwise, the input field is empty and the button is disabled until the person fills it out. Until someone clicks "Join" the message input in the conversation can be disabled.
Made a quick mockup, something along these lines. What do you think?
cc @jancborchardt also
My opinion is that user must enter some name and in all similar services that I know it is so. My first version was without settings but for backward compatibility reasons I decided to add ability to on and off this feature. Blocking modal window is more intelligibly. We have many users that would think that if they see a chat they already joined it and "Join" button will not confuse them even if it will be very big and very redπ So we have to block any actions until they do what we need.
So @nimisha-vijay and I talked about this and we now agree that a modal is a nicer way for this to go forward. Reasoning and details:
- The modal will ideally only show once for a person on that instance since the name is remembered via browser storage β subsequent rooms you join should not show the modal.
- In the modal, we can show some more info on Talk, since this might well be the first time a person sees Talk. Sort of like a first-run-wizard but with only one page
- The input field will be empty with a placeholder of "Your name". If nothing is put in, we fall back to "Guest" (we could also not accept no input, but then we probably end up with a lot of people called "asdf"). The modal can also be directly dismissed, in which case the fallback "Guest" is used as well.
- If a guest wants to change their name after joining, we could show an avatar placeholder in the top right header bar, which on click would open a menu much like when you are logged in, with their current name stated and one entry called "Edit name". This would also move the naming controls out of the right sidebar, which is sort of reserved for conversation / Talk-specific settings.
What do you think @marcoambrosini @nickvergessen @UspAN
cc @UspenskiyAN as the mention above failed
Sounds good. π
An additional thing from my side (maybe seperated issue?) could be to fall back to a uniquie name that's build with "Guest" and a number, like Guest 45 or without space Guest45 instead to just Guest. "Uniquie" means that the user doesn't exists in the users list of the room.
What do you think aboout?
Sorry, this was implemented via https://github.com/nextcloud/spreed/pull/10467 now.
So I'm closing this long open PR. Thanks for all the work!