Instead of using an OC.Notification the warning is now shown with a
tooltip on the audio button that needs to be used to unmute.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
If the browser notification could not be shown for any reason (for
example, if the user denied permissions to notifications) the
OC.Notification is now shown as a fallback (although in most cases the
user will not see it anyway, but it may be useful if the user switchs
back to the Talk tab while still speaking).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Until now an OC.Notification, which shows an element in the page, was
always used when speaking while muted. Now that is used only if the
browser is visible; if it is not that notification would not be seen by
the user, so in that case now a browser notification is used instead.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The LocalMedia helper handles the local streams sent to the other
participants, and analyzes those streams to emit events when the user
starts and stops speaking. However, when the local audio is muted those
streams are disabled, so the audio is silent and it can not be detected
if the user is speaking. In order to properly analyze the streams when
the local audio is muted the streams are cloned and those clones, which
are never disabled, are now the ones analyzed.
Thanks to this now the LocalMedia helper also emits the
"speakingWhileMuted" and "stoppedSpeakingWhileMuted" events while
respecting the previous behaviour for the "speaking" and
"stoppedSpeaking" events; muting and unmuting the audio while speaking
also emits again the events as needed.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The avatars were not usually 128px width and height because
"imageplaceholder" uses the height of the element and, if it is not
available (for example, because the element was never shown), it uses
the given size. In most cases the ChatView was rendered after being
shown, but in some special cases it could be rendered before being shown
and then shown, which caused the large avatars.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Unfortunately the date picker component from Nextcloud only allows
picking a date, but not a time; there is a date time picker for Vue, but
integrating only that right now would require much effort. Therefore,
for the time being, the start time needs to be introduced manually.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The lobby state can be set to no lobby or to lobby for non moderators
from the room management menu; in this initial version no date can be
set yet.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The lobby constants were named from the point of view of the webinary
(open to all participants, open to moderators only), but from the point
of view of the lobby it is the opposite (no lobby, lobby for non
moderators).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Now that the management actions were moved to a menu there is enough
room to show a label for the "Copy link" button.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The "share-link-options" element acts as a spacer to move the room
moderation menu button to the right. However, given that the call button
width is limited to the 50% of its parent flex element and that element
has the full width of the sidebar the same effect can be achieved by
setting "margin-left: auto" on the room moderation button.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The same "Copy link" button was defined separately in the templates for
moderators and non moderator participants.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
The password input is no longer the only element of the menu so pressing
"Esc" does not close the menu.
There is no longer a password button in the CallInfoView, so now the
acceptance tests need to open the room moderation menu to know if the
conversation is password protected or not.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>