Age | Commit message (Collapse) | Author |
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Instead of always inserting the emojis at the end of the text now they
are inserted at the current caret position, also replacing any selected
text. If the input is not focused then the emoji will be inserted at the
end like before.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Signed-off-by: Simon Spannagel <simonspa@kth.se>
|
|
Co-authored-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
Signed-off-by: Simon Spannagel <simonspa@kth.se>
|
|
Signed-off-by: Simon Spannagel <simonspa@kth.se>
|
|
In latest MediaDevices spec if permanent media permissions have not been
granted and there is no active stream "enumerateDevices" returns at most
one device of each kind, and all of them with empty attributes
(including the deviceId) except for the kind.
This is already partially implemented by Chromium, so devices with an
empty "deviceId" need to be taken into account.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
In Firefox the dialog to grant media permissions allows the user to
change the device to use. In that case the device selected in the dialog
will be the one used, no matter which one was originally requested. Now
this is taken into account and the selected device is updated to reflect
the one selected by the user in the dialog.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
When a preview stream is updated there is no need to request the stream
again if the current stream comes already from the selected device.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
When an audio or video device is selected a stream from that device is
requested to show its preview. The stream is resolved asynchronously, so
while that happens the user could select a different device, which in
turn will request another stream. As only a single stream for each type
is expected to be active in the previews this could lead to streams
being opened but never closed.
Now this is enforced by preventing further stream requests while a
previous one has not been completed yet. If several stream updates are
triggered while waiting for a previous one once that previous one is
finished a new stream will be requested for the last selected device.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
The preview tab makes possible to select the audio and video devices to
be used in a call, as well as showing a preview of them (so the user now
can check what is visible in the camera before joining a call).
In order to show the preview of the devices a media stream has to be
requested, which will ask the user for permissions (unless they have
been granted permanently). To prevent permissions requests as soon as
the conversation is opened the preview tab is not shown as the first
tab, and to limit the use of the devices only to the scrictly necessary
the previews are enabled only when the preview tab is the active one.
Currently changing the devices during a call has no effect, so the
device selectors (as well as the previews themselves, as they will have
the same content already shown in the call view) are disabled during
calls. The tab itself is not removed due to ordering issues when
removing and adding it back.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Now it is possible to disable audio and video devices by setting the
selected id to null. Fallback devices will still be used when the
selected device is undefined, but not when it is explicitly set to null.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
When there is no selected device (either because the selected one was
removed or because there were no devices before) but there are other
devices now a fallback device is automatically selected.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
MediaDevicesSelector is a dropdown to select a media device of a
specific kind.
MediaDevicesPreview has selectors for audio and video inputs that modify
the devices to be used in MediaDevicesManager. Additionally it also
shows a preview of the selected devices with a volume bar in the case of
audio or a video element in the case of video.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
The device label returned by "MediaDevices.enumerateDevices()" is empty
if permanent media permissions have not been granted and there is no
MediaStream currently active. Therefore a fallback label is generated to
help the user differentiate between devices. The labels are persistent
during the session, so if a device is connected, disconnected and then
connected again some time later after other devices have been connected
too it will retain its original fallback label.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
MediaDevicesManager stores the id of the audio and video input devices
to be used when requesting media. If no id is set then it behaves like
before, that is, letting the browser decide which device to use.
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
nextcloud/bugfix/noid/handle-reference-id-for-system-messages
Handle referenceId for system messages e.g. when uploading a file
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
nextcloud/fix-speaker-promotion-with-newer-janus-versions
Fix speaker promotion with newer Janus versions
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Feature/3423/show upload progress
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
When Janus is used even if it is possible to open several data channels
with different labels and send data on them all the messages are
received in the first data channel opened.
Although currently several data channels are opened in Talk in practice
only the "status" data channel is used (and messages received in data
channels with a different label are ignored). This is also the first
data channel opened when Janus is used, so until now everything happened
to work (with Janus 0.4.3).
However, with newer Janus versions the data channel messages are
received instead on a data channel opened by Janus, which is named
"JanusDataChannel". It is not possible to change that behaviour on Janus
except by patching it, so for broader compatibility the messages
received in "JanusDataChannel" are treated like messages received in the
"status" data channel (this was partially done already; this commit
finishes the change).
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrosini@pm.me>
|
|
Instead of showing the quality warning tooltip only if it has not been
recently shown now the quality warning tooltip is always shown when
the quality warning is shown, except if the user has explicitly
dismissed it.
Signed-off-by: Marco Ambrosini <marcoambrsoini@pm.me>
|
|
Signed-off-by: Marco Ambrosini <marcoambrsoini@pm.me>
|
|
Signed-off-by: Joas Schilling <coding@schilljs.com>
|
|
This reverts commit 363ecb057e76c9a857b7dc24b2724a4f85c03178.
|
|
This reverts commit 92d7ea51147c738079451199b869b006435e7bc8.
|