Commit Graph

7857 Commits

Author SHA1 Message Date
Mario Jr
2585d957e8 Correctly map WebSocket error
Maps WebSocket's 1006 error to BBB's 1002, the same way it was done with old sip.js version
Set user agent's number of reconnection attempts to the same value as older sip.js version
2020-11-06 09:25:40 -03:00
KDSBrowne
2468ac225c return null in publishVote if user already voted 2020-11-05 17:02:31 +00:00
KDSBrowne
5076a2accd fix typo / use operator / add log 2020-11-05 14:19:36 +00:00
KDSBrowne
7c690ab22c fix presentation downloadable tooltip msg 2020-10-30 13:00:07 +00:00
KDSBrowne
d2cb02b3bd prevent users from being able to send more than 1 poll vote 2020-10-28 18:33:09 +00:00
Mario Jr
3e3b648040 Properly stops userAgent / peer when audio connection/reconnection fails
Changed the maximum attempts of the UserAgent reconnection (this should be changed when binding audio's websocket to meteor's connection state).
Added a log to monitor WS reconnect attempts.
2020-10-28 15:04:30 -03:00
Mario Jr
d1e5f189ba Prevent 1005 error log when user close/reload bbb's window/tab
When closing/reloading tab with active microphone, audio exits successfully but a wrong log-error (1005) is shown.
We now process closing/reloading tab the same way we do when user hangup the call.
2020-10-25 16:12:58 -03:00
Mario Jr
18c20261e1 Change default value of iceGatheringTimeout to current's SIP.js default
For some reason (still investigating), using turn/coturn on 443/tcp makes firefox's iceGathering process (during echo test) takes 12+ seconds (tested on webrtc's trickle page with multiple instances).
This was found when testing the current default (15s) on production with a private turn/coturn server on port 443/tcp. For default bbb setup (stun only), echo test still runs fast.
To avoid adding extra delay to iceGathering on this scenario (Firefox + turn on 443/tcp), i am just setting the default value back to the 5s (old default).
So , for those who wants to reduce the 1004 occurrences, increasing the iceGatheringTimeout could help (just be aware this adds delay on the mentioned scenario).
2020-10-24 08:58:25 -03:00
Zh4rsiest
3f13f4eca4 Changing isIphone value
The component expects a boolean but isIphone property return an array ["Iphone"] if the user is from an iPhone
2020-10-23 12:37:43 -03:00
Zh4rsiest
1b7a672a1b Updating variables in container
They both return an array with ["Iphone"] if you're from an iphone but the component expects bool variables.
2020-10-23 12:37:18 -03:00
Mario Jr
a86ff72aa3 Increase default iceGatheringTimeout
Added a default 'MEDIA' option: iceGatheringTimeout. This option allows admin to set a higher ICE gathering timeout, which can help when getting ICE errors during audio negotiation (eg 1004)
Default value set to 15s (current default is 5s).
2020-10-23 11:21:20 -03:00
Mario Jr
993c3a5a8a Do not show reconnect/disconnect message when new ICE candidates are found
Sometimes, when user already joined audio session, RTCPeerConnection may
find new ICE candidates, which triggers 'connected' state for peer's
'onconnectionstatechange' event. When this happens we process this
new state the same way when user is not running an audio session, which
makes html5client popup an annoying 'Audio Connected' message.
The audio keeps working fine, but this can make user think that there's a
connection issue, or the audio is reconnecting, while audio is ok.
2020-10-23 11:20:08 -03:00
KDSBrowne
e116396481 add error boundry to presentation upload modal 2020-10-22 13:00:09 +00:00
Lucas Zawacki
7efcd3b87e Dont include extra dot in instructure media url 2020-10-21 14:00:51 -03:00
Anton Georgiev
70eb028da9
Merge pull request #10667 from jfsiebel/improve-streamer-and-error-logs
Improve annotations and cursor streamer logs
2020-10-16 14:42:05 -04:00
Joao Siebel
109c18beb0 Improve annotations and cursor streamer logs, also add a type info for some logs in authentication process
and rollback some attempts to fix multiple leaving end call.
2020-10-16 10:30:50 -03:00
Mario Jr
df67d2e680 Better handling audio reconnection
When getting disconnected with 1001 ("websocket closed unexpectedly" error) we were creating a new SIP session, therefore a new FreeSWITCH channel.
While reconnecting the socket, instead of closing the SIP session, we keep it alive during reconnection (audio should keep working in the meantime). When reconnected we keep using this same session (avoiding the creation of an extra one).
We also better handle WebSocket error codes from SIP.js.
FF immediately closes websocket when unloading page, so we now to stop user agent when 'beforeunload' event is triggered, to avoid leaving open sessions in FreeSWITCH when user leaves page.
2020-10-15 11:24:23 -03:00
Mario Jr
a7ab00e3e9 Fix wrong skipCheck handling
We now let sip.js handle getUserMedia calls, same should happen when skipCheck is active.
Solves #10652.
2020-10-14 23:30:08 -03:00
Anton Georgiev
b1e57e3d2f
Bump up log level of forced meeting end 2020-10-14 09:44:17 -04:00
Fred Dixon
0ae5d29b25
Merge pull request #10625 from lfzawacki/v2.2.x-release
Make instructuremedia regexp more general
2020-10-09 17:15:01 -04:00
Anton Georgiev
1ee7946d38
Merge pull request #10615 from antobinary/09-30-libs
Added allowDefaultLogoutUrl config to optionally ignore non-custom logoutUrl
2020-10-09 17:14:36 -04:00
Anton Georgiev
e200cba6c8 utilize a simpler way to drop the protocol for comparison 2020-10-09 17:10:12 -04:00
Lucas Zawacki
19d24cbb60 Make instructuremedia regexp more general 2020-10-09 18:09:35 -03:00
Anton Georgiev
1ffad034f7 Revert "compare the true URLs, ignore protocols"
This reverts commit 3bb6b70d90.
2020-10-09 16:54:34 -04:00
Anton Georgiev
ed32333494 Pulled HTML5 locales on Oct 09, 2020 2020-10-09 16:41:18 -04:00
Anton Georgiev
3bb6b70d90 compare the true URLs, ignore protocols 2020-10-09 14:30:41 -04:00
Anton Georgiev
adcb05b1ec
Merge pull request #10612 from jfsiebel/improve-logs
Improve  log in/authentication logs
2020-10-09 13:43:09 -04:00
Anton Georgiev
bf555dc047
Merge pull request #10564 from KDSBrowne/2.2-publishVote-error
Fix exception while invoking method 'publishVote'
2020-10-09 13:36:21 -04:00
KDSBrowne
9827664efc fix textArea width / height sent from client 2020-10-09 14:20:22 +00:00
Anton Georgiev
41cab38e87 Added allowDefaultLogoutUrl config to optionally ignore non-custom logoutUrl 2020-10-08 05:15:05 -04:00
Anton Georgiev
38b51ea359
Merge pull request #10561 from antobinary/09-30
[Backport] Allow Samsung and Yandex browsers
2020-10-07 15:50:26 -04:00
Joao Siebel
14388ec922 Improve logs for a better debug/understanding of problems related to authentication and log in process 2020-10-07 16:50:17 -03: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
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
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
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
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
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
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
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
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
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
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
Joao Siebel
a3cf7cd98e Prevent validateAuthToken spamming.
If an ejected user tries to enter in the meeting using the current url
html5 client keep trying to validate that user, but without success
causing a validateAuthToken message spam until the connection times out.
2020-09-21 15:50:54 -03:00
Anton Georgiev
00656ddf63 Removed unused bowser.js 2020-09-21 14:31:32 +00:00
Joao Siebel
6a139aa224 Fix last name sort function for save user name 2020-09-18 18:05:31 -03:00
KDSBrowne
239a29a341 switch sortName to name prop (shows list as names were entered) 2020-09-17 13:26:38 +00:00
Anton Georgiev
b26e26095e In Breakouts, Leave -> OK now closes tab 2020-09-14 11:21:11 -04:00
prlanzarin
b0ccaf330f audio-manager: shortcut on setSenderTrackEnabled when in listen only mode 2020-09-11 23:06:56 +00:00
Anton Georgiev
ed9c8af1e7
Merge pull request #10431 from prlanzarin/upstream-2.2-spl
screenshare: make presenter's screenshare preview local instead of remote
2020-09-10 14:40:29 -04:00
Anton Georgiev
9ccee7b7b3
Merge pull request #10434 from pedrobmarin/breakout-limit
Configurable max number of breakout rooms
2020-09-10 14:32:03 -04:00
Anton Georgiev
4ffb845402
Add ... to Webcam sharing starting notification 2020-09-10 14:11:48 -04:00
Anton Georgiev
bc668a366b
Merge pull request #10433 from prlanzarin/upstream-2.2-csm2
audio-manager: refactor client-side mute/unmute
2020-09-10 11:04:18 -04:00
prlanzarin
b9e1bd3e31 screenshare: cleanup on old playElement code 2020-09-10 15:01:10 +00:00
mvasylenko
7ba421cc4a Configurable max number of breakout rooms
Use this wisely: breakoutRoomLimit parameter was introduced to controll max number of breakout rooms.
2020-09-10 11:59:21 -03:00
prlanzarin
e994680e14 audio-manager: refactor client-side mute/unmute 2020-09-10 14:50:50 +00:00
Anton Georgiev
2d0e37b4a9
Merge pull request #10429 from prlanzarin/upstream-2.2-fmsmc
video-provider: fix mesh stream sorting with multiple cameras
2020-09-10 10:41:48 -04:00
prlanzarin
aae7a19d50 screenshare: Remove unused amIPresenter from kurentoViewScreen call 2020-09-10 14:12:44 +00:00
prlanzarin
37d21ddd97 screenshare: adjust stun fetch failure log 2020-09-10 14:11:42 +00:00
prlanzarin
18c2d33ff1 video-provider/screenshare: streamline isUserPresenter usage 2020-09-10 14:11:18 +00:00
prlanzarin
7b7c10db64 screenshare: make presenter preview local
Also some much needed code movearound in Kurento`s bridge
2020-09-10 13:48:05 +00:00
prlanzarin
259a780303 video-provider: fix mesh stream sorting with multiple cameras 2020-09-10 13:33:22 +00:00
Anton Georgiev
0c72076a37
Merge pull request #10424 from Tainan404/issue-10319-2.2
Add individual messages to video disable
2020-09-09 15:35:56 -04:00
Tainan Felipe
95ad14aa3c Rename locale 2020-09-09 16:31:20 -03:00
Anton Georgiev
b63db3010c
Merge pull request #10423 from prlanzarin/upstream-2.2-csm
Add a client-side microphone mute/unmute
2020-09-09 15:12:24 -04:00
prlanzarin
2315208887 Remove explicit mute/unmute calls from toggle and leave them only for the voice state tracker
Should increase client-server mute state consistency
2020-09-09 18:08:11 +00:00
Tainan Felipe
1d0e5e5cdc Add individual messages to video disable 2020-09-09 15:07:32 -03:00
prlanzarin
59221530df Add a client-side mute via the sender track corresponding to the mute state
The mic mute is done client side via the track`s enabled flag, which generates silent when false. This still tracks the server/freeswitch mute state, so server-side mutes will be reproduced in the client
2020-09-09 17:03:27 +00:00
Anton Georgiev
deebbe5b70 Pulled HTML5 locales Sept 9, 2020 2020-09-09 10:45:27 -04:00
Anton Georgiev
07a776ea0e
Merge pull request #10411 from jfsiebel/banned-users-log
Fix banned users log
2020-09-08 13:40:16 -04:00
Joao Siebel
96bd372f15 Fix banned users log 2020-09-08 13:56:17 -03:00
Joao Siebel
1581c71efe Normalize custom parameters by removing extra space. 2020-09-08 11:29:05 -03:00
Joao Siebel
700c91729e Prevent non presenters to start/stop an external video 2020-09-04 13:49:01 -03:00
João Francisco Siebel
52654bc927
Update bigbluebutton-html5/imports/api/external-videos/server/methods/stopWatchingExternalVideo.js
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2020-09-03 17:02:27 -03:00
Joao Siebel
5f03f23e02 Add check when start/stop an external video to prevent edge case 2020-09-03 16:07:54 -03:00
KDSBrowne
03fb47842b localize text in saved names txt file 2020-08-29 16:39:29 +00:00
KDSBrowne
e4000110bb add lists sorted by first and last name to saved user names 2020-08-29 02:17:04 +00:00
Anton Georgiev
1b2d0f9f15
Merge pull request #10350 from antobinary/08-28
Update minBrowserVersions
2020-08-28 09:40:03 -04:00
Anton Georgiev
7ed6a2c083 Update minBrowserVersions 2020-08-28 09:36:59 -04:00