Commit Graph

27106 Commits

Author SHA1 Message Date
Anton Georgiev
17e79b3fba
Merge pull request #10610 from pedrobmarin/fix-cursor-coordinates-transform
Check if DOMMatrix exists before cursor coordinate transform
2020-10-07 14:27:18 -04:00
Pedro Beschorner Marin
6b87491796 Check if DOMMatrix exists before cursor coordinate transform
Cursor coordinates are calculated using the presentation SVG object
DOMMatrix. When getting this matrix, some browsers (Firefox at least)
responds it as null if the svg object does not have a visible area.

This adds a check before trying to transform the cursor coordinates
using the matrix inverse so we avoid calling a method from a null object.
If there isn't a DOMMatrix to be used as reference, returns a simple out of
bounds SVGPoint (-1, -1)
2020-10-07 15:07:23 -03:00
Anton Georgiev
e65498e978
Merge pull request #10602 from KDSBrowne/2.2-sharecam-sr-label
Fix share webcam button label for screen readers
2020-10-07 09:04:32 -04:00
Anton Georgiev
1363f8e1e5
Merge pull request #10607 from pedrobmarin/breakout-join-audio-ui
Fix the UI state on breakout room audio join
2020-10-07 09:02:10 -04:00
Anton Georgiev
21cba8794b
Merge pull request #10603 from mariogasparoni/v2.2.x-release
Correctly set audio input/output devices - latest SIP.js version
2020-10-07 08:59:30 -04:00
Pedro Beschorner Marin
d0645983f5 Fix the UI state on breakout room audio join
Users must return their audio to the main room before joining a different one.
Since the audio transfer and the UI state manager doesn't provide a shortcut for
jumping from a breakout room to another, avoid making this opiton available.
2020-10-07 09:23:13 -03:00
Mario Jr
e9e436378a Correctly set audio input/output devices
When refusing ("thumbs down" button) echo test, user is able to select a different input device. This should work fine for chrome, firefox and safari (once user grants permission when asked by html5client).
For output devices, we depend on setSinkId function, which is enabled by default on current chrome release (2020) but not in Firefox (user needs to enable "setSinkId in about:config page). This implementation is listed as (?) in MDN.
In other words, output device selection should work out of the box for chrome, only.
When selecting an outputDevice, all alert sounds (hangup, screenshare , polling, etc) also goes to the same output device.
This solves #10592
2020-10-06 20:37:55 -03:00
Anton Georgiev
55bdd22170
Merge pull request #10601 from KDSBrowne/2.2-notes-sr-label
Fix aria labels on shared notes button
2020-10-06 12:49:34 -04:00
Anton Georgiev
95a9eeeb27
Merge pull request #10596 from pedrobmarin/data-savings-overlay
Hide draggable overlay when data saving is enabled
2020-10-06 10:41:57 -04:00
KDSBrowne
feea250c0b fix share webcam btn label for screen reader 2020-10-06 13:46:21 +00:00
KDSBrowne
889a212be7 fix aria labels on shared notes btn 2020-10-06 13:42:04 +00:00
Pedro Beschorner Marin
eaa610c1f7 Hide draggable overlay when data saving is enabled
If someone is sharing her/his webcam and the presenter enables webcam's data savings the
draggable overlay covers a portion of the presentation slide.
2020-10-06 08:35:29 -03:00
Anton Georgiev
83b22c0533
Merge pull request #10581 from mariogasparoni/v2.2.x-release
Map stun/turn servers into WebRTC's iceServers, when using fallback stun
2020-10-02 15:36:11 -04:00
Mario Jr
e1b9ad3536 Map stun/turn servers into WebRTC's iceServers, when using fallback stun 2020-10-02 16:19:55 -03:00
Anton Georgiev
95277836f8
Merge pull request #10580 from mariogasparoni/v2.2.x-release
Set stun/turn server for audio's peer in html5 client
2020-10-02 13:50:35 -04:00
Anton Georgiev
9f349d8ee4
Merge pull request #10574 from jfsiebel/fix-reconnect-flow
Fix reconnection flow
2020-10-01 15:10:19 -04:00
Joao Siebel
895e82f260 Remove unused method 2020-10-01 15:32:24 -03:00
Joao Siebel
78ead44d17 Fix reconnection flow 2020-10-01 14:31:38 -03:00
Mario Jr
49bfe9f48d Set stun/turn server for audio's peer in html5 client
Latest SIP.js version sets this using peerConnectionConfiguration property instead of UserAgent option.
This solves #10569
2020-10-01 10:16:48 -03:00
Anton Georgiev
3d6951d6d6
Merge pull request #10565 from antobinary/09-30-libs
Removing webdriverio* QA libs on 2.2
2020-09-30 11:19:47 -04:00
Anton Georgiev
d0cf1b8f7e remove currently unused webdriverio lib due to vulnerabilities 2020-09-30 11:09:57 -04:00
Anton Georgiev
6a2e70d5eb remove currently unused webdriverio lib due to vulnerabilities 2020-09-30 11:00:23 -04:00
Anton Georgiev
0c68823784 allow Yandex browser to the list of supported browsers 2020-09-30 09:33:24 -04:00
Alexander Bias
4f55a49f5a Tooltip which indicates if a presentation can be downloaded or not can be confusing - Fixes #9436 2020-09-30 09:22:12 -04:00
fireba11
91c49417ad fixes #9952
adds identifier for samsungs mobile browser (based on chromium) as
supported browser for check
2020-09-30 09:12:39 -04:00
Anton Georgiev
9ae77fdbbc
Merge pull request #10553 from jfsiebel/prevent-repeated-set-user-id
Prevent repeated setUserId
2020-09-29 19:29:27 -04:00
Joao Siebel
db7164253d Prevent repeated setUserId 2020-09-29 18:02:03 -03:00
Anton Georgiev
3ddf834de0
Merge pull request #10549 from jfsiebel/prevent-multiple-on-close-handler-attach
Prevent multiple on close handler attach
2020-09-29 12:57:55 -04:00
Anton Georgiev
64efa67412
Merge pull request #10548 from jfsiebel/rework-session-token-check
Add extra check for sessionToken
2020-09-29 12:39:02 -04:00
Anton Georgiev
78d91c8c8a
Merge pull request #10534 from mariogasparoni/v2.2.x-release
Problematic audio in some iOS devices
2020-09-29 12:18:32 -04:00
Richard Alam
410529d86e
Merge pull request #10542 from pedrobmarin/patch-bbb-web-improvements
Patch of improvements for bbb-web
2020-09-29 09:21:55 -04:00
Joao Siebel
6919498234 Prevent multiple attaches on socket close for the same user 2020-09-29 09:57:31 -03:00
Joao Siebel
b0f2abad8b Prevent user who logout from meeting to join again using the same sessionToken
also move this and banned user check to a different method.
2020-09-29 09:33:15 -03:00
KDSBrowne
e99292836f fix Match error: Expected object, got undefined in publishVote 2020-09-28 19:28:35 +00:00
Pedro Beschorner Marin
2fb26ff0cf Patch of improvements for bbb-web
This patch includes two improvements made for bbb-web. It tries to better isolate
the sessionToken's handling and session's validation, including logs for each one of
these steps; and removes maxParticipats control from registered users (that are no
longer removed from bbb-web collections) binding it to joined users or users that
reached the enter API call. The following adds more details about this last one:

User's regular flow to join a meeting goes around an API join call -> redis register event ->
redirect to client page -> API enter call -> redis join event. When the guest policy is ASK_MODERATOR,
non-moderators are registered and redirected to a guest lobby that polls for her/his guest status and
only enters the meeting after a moderator approval.
Using registered users as control to check how many participants are in a meeting is problematic because
non-approved guests are counted as participants and bbb-web has to find out when to ditch registered users
records to make a seat in a meeting available again. In other words, a meeting with maxParicipants
of 5 can get it's joins locked with a moderator and 4 waiting guests or bbb-web can wrongly drop a registered
user record on a reconnection inducing weird 401 responses from the API.

This change proposes to control maxParticipants both at join and enter API calls monitoring the number
of redis joined users. This also includes an extra buffer to capture users that called the enter API but
still don't have an user joined event.
User left events are now handled different holding the user data before removing from the joined users collection
and only releasing after verifying that the user didn't reconnected.

Both user left timeout `usersTimeout` and entered user timeout `enteredUsersTimeout` can be configured at properties.
2020-09-28 09:59:52 -03:00
Mario Jr
2d2a034729 Add sessionDescriptionHandlerModifiersPostICEGathering option to SIP.js INVITER
Current sessionDescriptionHandlerModifiers of SIP.js acts before ICE gathering is done. This means we are not able to modify/strip candidates in local SDP.
This modifier acts on local SDP, by allowing user to modify SDP before it is sent on INVITE message.
2020-09-25 20:26:28 -03:00
Mario Jr
619ffa0ec1 Port SIP.js to 0.17.1 release
This considerably changes the way we process audio signaling and start audio elements in user's browser.
We now avoid using AudioContext element for both microphone and listenonly calls, once it is unstable for some iOS devices (cracky audio, user stops hearing audio after a while).
Increased default value for listenOnlyCallTimeout: this avoids activating FreeSWITCH's fallback when ICE negotiation takes longer than 15sec (tested on DO).
Increased listenonly logs.
This fixes #8133 #10388
2020-09-25 20:26:22 -03:00
Fred Dixon
78ced5d41d
Merge pull request #10533 from kepstin/rec-fixes
Recording: Skip shapes with missing "thickness" attribute
2020-09-25 16:59:17 -04:00
Anton Georgiev
bc478104aa
Bump up to 2.2.27 2020-09-25 16:38:30 -04:00
Calvin Walton
86c821f4c5 Recording: Skip shapes with missing "thickness" attribute
Not sure what causes this issue, but there's nothing reasonable that can
be done to draw a shape with no thickness. Just skip it.
2020-09-25 16:13:29 -04:00
Anton Georgiev
74ae4ad0c5
Merge pull request #10532 from kepstin/caption-utf-16
Perform captions generation in UTF-16 encoding
2020-09-25 12:53:31 -04:00
Calvin Walton
1866eb7194 Perform captions generation in UTF-16 encoding
The indexes returned in recording events from BBB refer to positions
within a UTF-16 encoded string. Rather than attempt to untangle this in
the server (which might have a performance cost), it's easier to switch
the caption processing code to operate in UTF-16 encoding as well to
make it work consistently.

The PyICU library provides a UnicodeString type which is a UTF-16 string
similar to Java and JavaScript, but which supports all the python
indexing methods. It's fairly straightforwards to swap it in in place of
the types used previously, and works natively as an input to the ICU
line break iterator too.

Fixes #10531
2020-09-25 12:39:18 -04:00
Anton Georgiev
489b059603
Merge pull request #10530 from antobinary/09-25-locales
Pulled HTML5 locales and tested Sept 25, 2020
2020-09-25 10:08:05 -04:00
Anton Georgiev
2fe0530d6e Pulled HTML5 locales and tested Sept 25, 2020 2020-09-25 09:57:53 -04:00
Anton Georgiev
ca64c7c1b2
Merge pull request #10521 from KDSBrowne/2.2-profile-messages
Remove string concatenation from webcam profile label
2020-09-24 16:19:59 -04:00
Anton Georgiev
b70848d97b
Merge pull request #10522 from antobinary/log-on-force-end-meeting
add log for moderator forcing end meeting
2020-09-24 14:47:54 -04:00
Anton Georgiev
7536419930 add log for moderator forcing end meeting 2020-09-24 14:45:52 -04:00
KDSBrowne
1dfa2ff2a8 remove string concatenation from webcam profile formatted label 2020-09-24 14:53:21 +00:00
Anton Georgiev
0794d017cd
Merge pull request #10501 from antobinary/remove-bowser
Removed unused bowser.js
2020-09-24 09:20:40 -04:00
Fred Dixon
9f4720d111
Merge pull request #10516 from kepstin/recording-proc-deadlock
Fix io deadlock in recording scripts process execution utilities
2020-09-23 17:53:41 -04:00