Граф коммитов

4142 Коммитов

Автор SHA1 Сообщение Дата
Joas Schilling c428fdfda7
Merge pull request #2016 from nextcloud/warn-the-user-if-speaking-while-muted
Warn the user if speaking while muted
2019-08-28 15:23:09 +02:00
Joas Schilling 6f1e4bef32
Merge pull request #1926 from nextcloud/feature/382/lobby
 Lobby
2019-08-28 15:12:44 +02:00
Daniel Calviño Sánchez 49cadf4e17 Show speaking while muted warning with a tooltip on the audio button
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>
2019-08-28 14:32:53 +02:00
Daniel Calviño Sánchez 8f4b56a724 Show OC.Notification if browser notification could not be shown
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>
2019-08-28 14:32:53 +02:00
Daniel Calviño Sánchez d0ba01fca9 Show browser notification if the browser is hidden
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>
2019-08-28 14:32:53 +02:00
Daniel Calviño Sánchez a3c3699ff1 Show notification when the user speaks while muted
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 14:32:53 +02:00
Daniel Calviño Sánchez 9414f9a42a Emit events when the user speaks or stops speaking while muted
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>
2019-08-28 14:32:53 +02:00
Daniel Calviño Sánchez def4e433cd Keep track of whether the local audio was enabled or disabled
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 14:32:53 +02:00
Joas Schilling b2e30c4708
Merge pull request #2102 from nextcloud/bugfix/2088/support-file-calls-in-groupfolders
Support file calls in groupfolders
2019-08-28 14:19:57 +02:00
Joas Schilling b7938d412e
Merge pull request #2124 from nextcloud/fix-self-avatar-size-for-guests
Fix self avatar size for guests
2019-08-28 14:14:27 +02:00
Daniel Calviño Sánchez 493017b4e2 Extract avatar sizes to their own variables
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 13:45:19 +02:00
Daniel Calviño Sánchez 54b81ef15d Fix self avatar size for guests
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>
2019-08-28 13:39:00 +02:00
Joas Schilling 16c035962a
Add a unit test and fix an issue with folders
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:51:54 +02:00
Daniel Calviño Sánchez 22be1a9310 Add acceptance tests for joining a room with a lobby
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:41:07 +02:00
Daniel Calviño Sánchez c61047a075 Add input to set the lobby timer
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>
2019-08-28 10:41:07 +02:00
Daniel Calviño Sánchez bd56d8c0ea Show the start time in the lobby message of the empty content view
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:41:07 +02:00
Daniel Calviño Sánchez 0ab60ec446 Show empty content view when current participant is in the lobby
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:41:07 +02:00
Daniel Calviño Sánchez 3a5549c621 Add UI to set the lobby state
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>
2019-08-28 10:36:11 +02:00
Daniel Calviño Sánchez 787440fce3 Extract methods to set the main view
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:30:11 +02:00
Daniel Calviño Sánchez 8745fd19fe Rename lobby constants
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>
2019-08-28 10:28:30 +02:00
Daniel Calviño Sánchez 0e4fcbbf6b Bump version to trigger the migration
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:30 +02:00
Joas Schilling 369c3e44c0 Make the API work with timestamps
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:30 +02:00
Joas Schilling 1136b70ec2 Fix the system message when the timer was reached
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:30 +02:00
Joas Schilling f56ab8fe90 Prevent nested calls between setLobby and getLobbyState when the timer was reached
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:30 +02:00
Joas Schilling 18336c0b10 Transform time to UTC before storing in the database
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:29 +02:00
Joas Schilling 42f8b06800 Add system messages for the lobby state change
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:29 +02:00
Joas Schilling d4b7300828 Remove outdated comment
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:06 +02:00
Joas Schilling 3eec1b09dc Use a different status code for lobby blocked requests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:06 +02:00
Joas Schilling ac1c1520b6 Add capability
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:06 +02:00
Joas Schilling 8cd50644d4 Allow a timer as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:06 +02:00
Joas Schilling 36e3da092c No participants and chat messages for users in the lobby
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:05 +02:00
Joas Schilling 7f0dd77951 Allow users to load the room data when joining it
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:05 +02:00
Daniel Calviño Sánchez ea48d5ade2 Add integration tests for preventing access to some APIs in the lobby
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:05 +02:00
Joas Schilling 6b6f42dde3 Prevent access to some APIs for non-moderators if lobby is enabled
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:05 +02:00
Daniel Calviño Sánchez d59725e0f9 Add integration tests for setting the lobby state
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:05 +02:00
Daniel Calviño Sánchez 3b205bf0c3 Add support for promoting and demoting guests in the integration tests
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:05 +02:00
Joas Schilling d8563f8824 Add an API endpoint to set the lobby state
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:28:05 +02:00
Daniel Calviño Sánchez 8524f184f1 Send notification to signaling backend when lobby state changes
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:28:03 +02:00
Joas Schilling a48650c908 Read and allow to set the lobby state
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:26:03 +02:00
Joas Schilling 12952b93c9 Add a lobby state column to the room table
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-08-28 10:26:02 +02:00
Joas Schilling 3ee8674725
Merge pull request #1974 from nextcloud/feature/noid/guest-mentions
👤🏷️ Guest mentions
2019-08-28 10:22:13 +02:00
Joas Schilling c9f390de4f
Merge pull request #2121 from nextcloud/get-password-from-session-if-not-given-when-joining-room
Get password from session if not given when joining room
2019-08-28 10:21:16 +02:00
Joas Schilling 91017269cd
Merge pull request #2123 from nextcloud/move-room-moderation-actions-to-a-menu
Move room moderation actions to a menu
2019-08-28 10:17:22 +02:00
Joas Schilling 37b9c4b551
Merge pull request #2114 from nextcloud/bugfix/noid/fix-unread-message-marker
Only update read marker when receiving new messages.
2019-08-28 10:10:02 +02:00
Daniel Calviño Sánchez 3e3506b11b Replace "Copy link" tooltip with explicit label
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>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez b88d53d918 Remove unneeded CSS rules
The rules just set the same values used by buttons by default.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez 7dec802cfa Remove no longer needed parent element of "Copy link" button
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>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez 4425b04e7c Unify "Copy link" button for all participant types
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>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez 7dc9653a59 Reorder flex CSS rules for call button
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-08-28 10:09:39 +02:00
Daniel Calviño Sánchez 7a2e19553f Move password from its own menu to the room moderation menu
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>
2019-08-28 10:09:38 +02:00