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

783 Коммитов

Автор SHA1 Сообщение Дата
Joas Schilling 107f77890c
Remove participant tooltip from room list
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-13 10:34:00 +02:00
Arthur Schiwon 452eec9063
paste only plaintext into the comment input form
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2018-07-04 00:33:00 +02:00
Ivan Sein 5222b89df8 Fix participants sorting.
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
2018-06-26 15:34:11 +02:00
Jan-Christoph Borchardt 9b65ad6d0b
Add render function to hasCall
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-06-25 12:47:54 +02:00
Jan-Christoph Borchardt 7c9d2d9400
Label button 'Start call' if none is in progress yet, fix #976
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-06-25 12:47:54 +02:00
Ivan Sein 1060fb8c76
Merge pull request #398 from nextcloud/mcu-integration
MCU integration
2018-06-22 16:21:47 +02:00
Joachim Bauch 18957e6013
Need to handle names of participants differently to show a correct avatar.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-22 15:58:27 +02:00
Joachim Bauch d726204f9c
Periodically send the nick to update the avatar of later joining participants.
The nick name below the avatar is distributed through the DataChannel of the
PeerConnection and only sent once during establishment. For the MCU case,
the sending PeerConnection is created once and then never changed when more
participants join.

For this, we periodically send the nick to all other participants through the
sending PeerConnection.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-22 14:01:45 +02:00
Ivan Sein 5281ba3a10
Merge pull request #988 from nextcloud/remove-dead-code-now-that-the-guest-name-is-no-longer-shown
Remove dead code now that the guest name is no longer shown
2018-06-22 13:49:05 +02:00
Jan-Christoph Borchardt b8a68510d5
Name change is in Chat, not right sidebar
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-06-21 16:39:12 +02:00
Daniel Calviño Sánchez ba329de382 Remove dead code now that the guest name is no longer shown
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-21 14:41:47 +02:00
Jan-Christoph Borchardt 450c69385c
Fix copy link icon for guests
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-06-21 13:58:20 +02:00
Jan-Christoph Borchardt a10baaf77b
Improve call controls layout to single row
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-06-21 13:57:49 +02:00
Joas Schilling 0a5f065976
Merge pull request #982 from nextcloud/fix-name-not-shown-for-registered-users-without-microphone-nor-camera
Fix name not shown for registered users without microphone nor camera
2018-06-21 12:26:46 +02:00
Joas Schilling 53d274d4c5
Merge pull request #975 from nextcloud/sidebar-guest
Remove guest name input from sidebar as it already is in chat
2018-06-21 12:07:27 +02:00
Daniel Calviño Sánchez af9cb9cb5d Fix name not shown for registered users without microphone nor camera
When the peer is a registered user her name is shown when a stream is
added for that peer. However, if the peer has no microphone nor camera
then no stream is added, and thus the name was not shown. Now the name
is shown too when the connection is established to guarantee that it
will be shown even if no stream is added.

In the case of guest users the name is shown when a stream is added for
that peer, but also when a "nickChanged" message is received. That
message is sent when the peers are connected, so the name of the guest
user was already properly set even if the user has no microphone nor
camera.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-21 11:14:37 +02:00
Jan-Christoph Borchardt 98fb911c03 Fix wording for 'Leave conversation'
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-06-20 21:40:36 +02:00
Jan-Christoph Borchardt af535fcdc6
Remove guest name input from sidebar as it already is in chat
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2018-06-20 16:25:41 +02:00
Joachim Bauch db5861e390
Fixes after rebase.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:36 +02:00
Joachim Bauch e738a7a98c
Make sure to always pass a list in the "usersChanged" event.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:36 +02:00
Joachim Bauch 314b450774
Re-join call if connection to MCU is interrupted.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:36 +02:00
Joachim Bauch 0531924a44
Update after rebase.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:04 +02:00
Joachim Bauch 1a50021f4e
Support both variants of "sessionid" parameter.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:04 +02:00
Joachim Bauch a51c180edb
Handle ICE failures when using the MCU.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:04 +02:00
Joachim Bauch a4cfe49745
Add API to force signaling reconnects, optionally with a new session id.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:03 +02:00
Joachim Bauch 6c0a9fd2ff
Wait for audio/video to be received and simulate "unmute" events.
With the MCU, a newly subscribed stream might not get the "audioOn"/"videoOn"
messages as they are only sent when a user starts publishing.
Instead wait for initial data and trigger events locally.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:03 +02:00
Joachim Bauch 1ba0f66dcf
Handle case where room has no participants.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:03 +02:00
Joachim Bauch 94ff7ffb32
Start adding MCU support.
With an MCU, each client publishes only once (to the MCU) and viewers subscribe
the streams from the MCU. This means that for subscribing, the MCU always has
to send the "Offer" message which requires some changes in the workflow.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:03 +02:00
Joachim Bauch 0224b0bc37
Added new standalone signaling API methods.
- sendRoomMessage
- requestOffer
- sendOffer

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-19 14:18:03 +02:00
Ivan Sein 7473ccc5b2
Merge pull request #910 from nextcloud/more-signaling-fixes
More standalone signaling fixes
2018-06-15 10:08:36 +02:00
Joachim Bauch 890e42e0a0
Load potentially missed chat messages after reconnect.
Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-12 12:05:27 +02:00
Joachim Bauch a5b899c8ba
Use standalone signaling server to notify about new chat messages.
This removes the long-polling against the PHP backend and instead sends an
event to all users in a room through the standalone signaling server to
notify that new chat messages exist.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-06-12 12:05:27 +02:00
Ivan Sein a544fa86db
Merge pull request #887 from nextcloud/chat-signaling
Move loading of chat messages to signaling class.
2018-06-11 16:33:06 +02:00
Ivan Sein 86f131021f
Merge pull request #938 from nextcloud/fix-local-audio-and-video-not-disabled-when-not-available
Fix local audio and video not disabled when not available
2018-06-06 16:02:50 +02:00
Ivan Sein 8aa29fd2fc
Merge pull request #940 from nextcloud/fix-adding-the-same-participant-several-times-in-a-row
Fix adding the same participant several times in a row
2018-06-06 15:33:25 +02:00
Ivan Sein d1886d2ff9
Merge pull request #939 from nextcloud/fix-add-participant-shown-to-normal-participants
Fix "Add participant" shown to normal participants
2018-06-06 15:25:02 +02:00
Daniel Calviño Sánchez 7a32f754b8 Fix "Add participant" shown to normal participants
Adding a participant to a room can be done only by the owner and
moderators of that room, so the "Add participant" dropdown should be
shown only to those types of participants.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-06 14:17:05 +02:00
Daniel Calviño Sánchez 2dcaae4666 Add toggle to show and hide video from other participants
Before a user could disable her own video, but she had no way to disable
the videos from other participants. This could be needed, for example,
to alleviate the load on low-end systems, as in that case playing the
video from remote participants could be too much for the system. Now a
toggle is provided to manually show or hide the video of each remote
participant if needed.

The toggle is shown only when the remote participant is sending video;
if the remote participant has disabled her own video (or does not have a
camera) the toggle is hidden.

Note that the toggle just shows or hides the HTML video element; it does
not notify the remote participant to mute her video or to fully stop
sending it. It is purely a local change that does not affect the remote
clients. In the future this could be extended to involve the remote
clients too, but for now just hiding the HTML video element notably
reduces the CPU load in most systems (although unfortunately in some
cases it does not).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-06 12:17:51 +02:00
Daniel Calviño Sánchez 1a3664a6d7 Remove unneeded code
The "hidden" CSS class is not used in the avatar container of remote
participants (only for the local one), so there is no need to remove it.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-06 11:10:37 +02:00
Daniel Calviño Sánchez 69c38c05ac Move code to mute and unmute remote videos to OCA.SpreedMe.videos
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-06 10:58:24 +02:00
Daniel Calviño Sánchez 1b2a838ec3 Fix local audio and video not disabled when not available
When the streams are initialized and there is no audio or no video the
"audio/videoNotFound" flag is set. This flag prevents the audio or video
from being enabled later, and it is also used to discard calls to
"disableAudio/Video", as there would be no need to disable them if they
were not found. However, in that last case, it is necessary to
explicitly disable them before the flag is set.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-04 06:21:11 +02:00
Daniel Calviño Sánchez d0c6f1a3ba Fix adding the same participant several times in a row
When a participant is selected in the select2 dropdown the "change"
event is triggered for the "Add participants" input; this sets the value
of the input and also adds the participant to the room. However, the
event is triggered only if the selected item is different than the
current value of the "Add participant" input. Due to this, the value has
to be cleared when it is set to make possible to add the same
participant several times in a row (for example, in different rooms).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-01 11:30:52 +02:00
Joachim Bauch 91f2c90176
Join call after user has joined the room on the standalone signaling server.
Otherwise there is a race condition of the Nextcloud server notifying the
signaling server about the user in the call before the user has joined the
room.

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-05-18 15:19:22 +02:00
Ivan Sein c177232bc6
Merge pull request #894 from nextcloud/fix-disconnect-media-leaving-call
Fix disconnect media after leaving a call.
2018-05-11 10:24:38 +02:00
Ivan Sein 39b94b1a7f
Make sure to always set the token on joining a room
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
2018-05-11 09:06:31 +02:00
Joas Schilling 380971899e
Merge pull request #891 from nextcloud/change-delete-room-message
Change deleted room message.
2018-05-09 16:32:48 +02:00
Ivan Sein 62bc6f75ff Change deleted room message.
Signed-off-by: Ivan Sein <ivan@nextcloud.com>
2018-05-09 14:41:42 +02:00
Joas Schilling 2f367a8c30
Merge pull request #863 from nextcloud/bugfix/862/reset-audio-video-panel
Reset audio and video control panel.
2018-05-09 14:33:10 +02:00
Joachim Bauch f6c32a309f
Move loading of chat messages to signaling class.
No functional changes yet, but this will allow later to use the standalone
signaling backend to notify clients about new chat messages without having
to poll (see #624).

Signed-off-by: Joachim Bauch <bauch@struktur.de>
2018-05-09 12:17:08 +02:00
Joas Schilling 391f32f3f0
Stop ping and signaling when the room was deleted
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-05-09 10:35:59 +02:00