prlanzarin
0a36da1e46
screensharing: remake error locales, split them into error classes
...
There are new locale strings for screensharing errors with a new format (Code X. #What to do) to make it easier for the end user
2021-01-13 09:43:28 -03:00
prlanzarin
25f5139973
screenshare: clean up getDisplayMedia method bindings
2021-01-13 09:05:24 -03:00
prlanzarin
077369c442
screenshare: add a centralized error code/message helper
2021-01-13 09:05:18 -03:00
Mario Jr
92708da447
Allow audio constraints to be changed in bbb-html5's settings.yml
...
In some scenarios, there's no need for the browser to apply such audio filters. For example, when user's microphone already does audio filtering (echo cancellation, noise supression ...).
This commit doens't change the current behavior (filters still follow browser's default config): admins need to uncomment/set these values if disabling/enabling specific filters if desired.
This is related to #4873
2021-01-12 14:42:27 -03:00
Anton Georgiev
fc93b5a91c
correctly add chat message without flattening
2020-12-17 22:02:38 +00:00
Anton Georgiev
c1ffced27d
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into develop
2020-12-17 21:14:29 +00:00
Anton Georgiev
99ff801d34
remove obsolete callback from user remove
2020-12-15 22:04:26 +00:00
Joao Siebel
3ad269c24c
Check if metrics are enabled
2020-12-15 16:20:32 -03:00
prlanzarin
569ace358b
screenshare: improve reconnection procedures and error logging in kurento/sfu bridge
2020-12-15 17:45:20 +00:00
Joao Siebel
c5b8f30f5d
Add option to generate heapdump file and improve metrics
2020-12-15 13:10:39 -03:00
Anton Georgiev
0be8773e4c
Loadbalance bbb-html5 in bbb-web based on CPU
2020-12-11 21:36:06 +00:00
Anton Georgiev
9a04087c12
Merge pull request #11006 from mariogasparoni/v2.2.x-release
...
Add keep alive message to audio's websocket
2020-12-11 10:41:33 -05:00
Joao Siebel
b07b200a2f
Prevent calling function when parameters are undefined
2020-12-11 11:24:03 -03:00
Mario Jr
6113113af9
Add option to disable traceSip logs
...
Audio client logs already cover audio session progress the way we need.
This avoids keepAlive and other unnecessary messages to be logged in browser's console.
If setting is not present, default value is set to false.
2020-12-11 00:31:10 -03:00
Mario Jr
c65fa2b350
Add keep alive message to audio's websocket
...
This was added as an option (websocketKeepAliveInterval), which is the interval to send keep alive messages.
Setting websocketKeepAliveInterval to 0 disables the keep alive, producing the same old behavior.
This helps avoid websocket disconnection due to socket inactivity, preventing it to unnecessarily reconnect.
Also, sometimes reconnect fails and error 1005 is triggered.
Fixes problems reported in #10985 .
Also reduces occurrences of error 1005.
2020-12-10 23:48:01 -03:00
Joao Siebel
ec2cb2dbde
Chek for queueMetrics
2020-12-10 14:07:46 -03:00
Joao Siebel
bf5a45d303
Create Metrics class
2020-12-10 12:07:06 -03:00
prlanzarin
1383ab4def
screenshare/html5: rewrite most of the client side code
...
Added new SFU broker for screen sharing
Removed kurento-extension entirely
Added inbound and outbound reconnection procedures
Improve UI responsiveness when sharing
Add reconnection UI states
Redo error handling
Refactor actions-bar screen share components. Make it smarter with less prop drilling and less re-rendering. Also more readable. Still work to do in that I think
Add a connection retry procedure for screen presenters when they are sharing; try a configurable amount of times when failure is triggered, with configurable min and max reconn timeouts and timeout increase factor
Make local preview attachment smarter
ADD PARTIAL SUPPORT FOR AUDIO SHARING VIA SCREEN SHARING WITH GET DISPLAY MEDIA, RECORDING STILL NOT SUPPORTED!!!
2020-12-09 22:00:54 +00:00
Anton Georgiev
675d440fa6
Merge pull request #10996 from jfsiebel/fix-sync-chat-msgs
...
Prevent exception when there is no message to sync
2020-12-09 11:30:09 -05:00
Anton Georgiev
a97bb541af
Merge pull request #10945 from prlanzarin/u22-lov18102020
...
[listenonly] Rewrite SFU/Kurento listen only bridge
2020-12-09 11:29:07 -05:00
Joao Siebel
dd8c3fafc1
Prevent exception when there is no message to sync
2020-12-09 10:33:01 -03:00
prlanzarin
f24460192c
screeshare+audio: reorganize some audio checks, pass the flag to SFU
2020-12-08 20:30:30 +00:00
germanocaumo
83fe68db08
Play screenshare audio when present
2020-12-08 20:30:22 +00:00
Anton Georgiev
a5ea33b2b8
Merge pull request #10934 from jfsiebel/throttle-bulk-add-msg
...
Add bulk chat message insert and optimize chat message insert
2020-12-01 15:28:13 -05:00
Anton Georgiev
244a239810
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 2020-12-01-merge
2020-12-01 20:02:50 +00:00
prlanzarin
1bef5f37a6
[sip.js] Annotate every audio-manager callback call with a bridge name identifier
...
Useful when parsing logs to split errors by bridge type
2020-12-01 18:23:14 +00:00
prlanzarin
338e8f8291
[listenonly] Rewrite listen only SFU/Kurento bridge
...
Fixed listen only reconnection handling
Added proper error handling; now all errors have proper mapped codes which are funneled through to audio-manager logger and should be easier to gauge types of errors
Fixed botched reconnection error rejection, audio modal shouldnt be stuck anymore when it fails
Remove every tie that listen only bridge had to kurento-extension
2020-12-01 18:19:31 +00:00
Anton Georgiev
e62710298d
Fix typo
2020-11-30 15:59:12 -05:00
Joao Siebel
c0f42a3c07
Add missing semicolon
2020-11-30 17:11:57 -03:00
Joao Siebel
77d493792f
Prevent a case where voiceUser collection was being clean for entire server
2020-11-30 17:01:41 -03:00
Joao Siebel
c6adb2988d
Merge remote-tracking branch 'upstream/v2.2.x-release' into throttle-bulk-add-msg
2020-11-30 14:10:30 -03:00
Anton Georgiev
f34826718d
include instanceId in resources url
2020-11-30 16:09:35 +00:00
Joao Siebel
b07786b9b8
WIP add bulk insert and throttle for chat messages
2020-11-30 11:27:26 -03:00
Tiago D J
1e4c634dd9
Merge branch 'v2.2.x-release' into remove-callbacks
2020-11-27 13:43:36 -03:00
Anton Georgiev
08a0a38f30
do not log client issues to Winston, only via nginx
2020-11-26 15:39:04 -05:00
Anton Georgiev
698199454c
Reduce cursor logging, fix ExternalVideo object logging
2020-11-26 15:31:00 -05:00
Joao Siebel
ccda3b3a34
WIP remove callback from update methods
2020-11-26 13:23:57 -03:00
Joao Siebel
e4a5e88986
Fix selectors
2020-11-26 10:36:44 -03:00
Mario Jr
214cd12c59
Fix typo on dtmf log
2020-11-26 00:01:58 -03:00
Mario Jr
370e3cb39d
Use INFO message as default for sending dtmf on call transfer
...
Instead of sending using rfc4733 standard, we use INFO message for all transfers
INFO message was used in older SIP.js version. Although this is not a standard for sending DTMF tones, this has more reliability (once it sent over TCP)
This might reduce occurrences of 1008
2020-11-25 18:33:45 -03:00
Joao Siebel
11f1a1ac47
Merge remote-tracking branch 'upstream/v2.2.x-release' into remove-callbacks
2020-11-25 10:54:18 -03:00
Joao Siebel
a244fc1acf
WIP remove callback from remove operations
2020-11-24 17:44:13 -03:00
Anton Georgiev
3faabd1821
Merge 2.2.29 and 2.2.30 into 2.3.x
2020-11-24 15:13:09 +00:00
Anton Georgiev
21644a1a43
Remove string interpolation for server debug and verbose logs
2020-11-23 14:35:59 -05:00
Mario Jr
af48c8977d
Reduce delay for the first reconnection attempt of audio's websocket
...
This is the same behavior we used to have on older sip.js version code
By doing this we reduce errors when user try to perform join/hangup during an websocket reconnection
2020-11-23 12:40:38 -03:00
Joao Siebel
bcc1d6c880
WIP remove callback from mongo operations
2020-11-23 10:13:46 -03:00
Tainan Felipe
af7479df28
add missing file
2020-11-20 17:32:21 -03:00
Tainan Felipe
091c5f3932
Port Handle chat messages in sync way for 2.3
2020-11-20 16:26:34 -03:00
Mario Jr
2b89dd7db2
Do not trigger reconnect when ICE connection terminates before hanging up process is finished
...
This could leave users to have your audio reconnected in the main room, while joining a breakout room
Some information can be found in #10528
2020-11-20 00:25:46 -03:00
Mario Jr
9a2fcd27e0
Revert "Prevent Error 1006 when user has two or more occurrences of ':' (colon) in your name"
...
This reverts commit 0a601359bb
.
2020-11-20 00:23:43 -03:00
Joao Siebel
4a88d0a6db
Handle chat messages in sync way
2020-11-18 18:09:38 -03:00
Mario Jr
0a601359bb
Prevent Error 1006 when user has two or more occurrences of ':' (colon) in your name
...
This happens because FreeSWITCH is not able to parse the "From" header when it has multiple occurrences of ':'. So user is not able to join audio.
To fix, we now changed the "callerId" to use the base64 value of the user name, instead of directly using user's input (the callerId format keeps being a triple like this: <user_id>-bbbID-<base64_encoded_name>).
Once this callerIdName is encoded at the same point it is generated, there shouldn't be server side effects for changing this value; except for those places where the callerName is retrieved by splitting this triple (such as the voice talking-indicator, as described below).
Updated the talking-indicator to retrieve the username from User's object, instead of retrieving from the one username generated by splitting the callerId triple.
This problem also happens in versions <= 2.2.26.
2020-11-17 15:31:43 -03:00
prlanzarin
a1f0276b64
[html5/audio] Add hackViaWs to SIP.js and make it configurable in settings.yml, 1002 workaround
...
This adds the possibility to configure the SIP Via header to plain WS to allow reverse proxying from WSS to WS, internally, to work around a bug in freeswitch where the WSS stack would get deadlocked due to a still unidentified bug in there that has to do with SSL termination
2020-11-10 15:04:45 +00:00
Mario Jr
b948bea11b
Force using plan-b as default sdpSemantics for chrome
...
Although Chrome's default is now unified plan, Chrome <-> FreeSWITCH ICE connection fails for some Chrome installations (specially those running on Windows).
FS ICE fails when Chromes's SDP has "a=mid:<index>" (instead of "a=mid:audio").
This fixes Error 1010 and situations where echo test takes too long.
This fixes #6414 regression, once we do the same older version of SIP.js used to do.
2020-11-09 21:58:16 -03:00
Mario Jr
46e0c263fe
Use iceConnectionState to monitor ICE connection status
...
We now use both peer's connectionstatechange and iceconnectionstatechange to monitor ICE state for audio sessions.
The same way we did with old sip.js version, we leave iceconnectionstate trigger audio actions , such as connect, disconnect, reconnect.
We still listen for 'failed' state for connectionstatechange event, because chrome triggers this (tested on 86+).
This should reduce the audio error 1010 ocurrences, once some browsers (specially Chrome/Android) don't trigger connectionstatechangeevent.
This might reduce problems reported in #10708 , which still needs more investigation though.
2020-11-08 22:43:52 -03:00
Richard Alam
e28bba42fc
Merge pull request #10742 from KDSBrowne/2.2-issue-10705
...
Prevent users from sending multiple votes per poll
2020-11-06 16:33:56 -05:00
Mario Jr
3a689578c6
Monitor peer's iceconnectionstatechange event
...
This gives more information about ICE connection, combined with onconnectionstatechange event
2020-11-06 09:37:58 -03:00
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
76dc9034ee
Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-per-user-wb
2020-11-02 16:36:59 +00:00
KDSBrowne
2f46c1fd28
Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-user-rand-select
2020-11-02 16:16:29 +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
Anton Georgiev
df8b6350c9
Merge pull request #10617 from KDSBrowne/2.3-undo-pencil
...
Fix broken undo of consecutive pencil annotations
2020-10-27 14:59:57 -04:00
Joao Siebel
91c8e78d44
Fix join listen only problem
2020-10-26 13:10:40 -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
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
Joao Siebel
be8421db3c
Merge remote-tracking branch 'upstream/develop' into connection-manager
2020-10-21 13:57:17 -03:00
KDSBrowne
73f890c9d8
Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-updated-polling
2020-10-21 16:05:03 +00:00
Anton Georgiev
0c7ead1916
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into oct16-merge
2020-10-21 14:48:02 +00:00
KDSBrowne
2ee9d0c723
allow late joiner whiteboard access when multiUser enabled
2020-10-19 16:36:02 +00:00
KDSBrowne
d74b5af2a9
clear selected user when moderator closes modal | clean up
2020-10-19 14:46:41 +00: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
Anton Georgiev
b1e57e3d2f
Bump up log level of forced meeting end
2020-10-14 09:44:17 -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
KDSBrowne
c518263fc9
fix broken undo of consecutive pencil annotations
2020-10-08 14:35:36 +00: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
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
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
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
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
KDSBrowne
3e8eebdd1b
move random viewer selection to akka-apps
2020-09-25 19:41:30 +00:00
KDSBrowne
f16dd6f702
Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-per-user-wb
2020-09-21 23:41:40 +00: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
KDSBrowne
d32155cc5f
add new poll type | allow typed responses | update UI
2020-09-21 12:07:36 +00:00
Joao Siebel
b2adffa4c2
Merge remote-tracking branch 'upstream/develop' into connection-manager
2020-09-18 16:30:20 -03:00
Anton Georgiev
377dc27a8d
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 09-16-merge
2020-09-17 14:37:28 +00:00
Joao Siebel
087939855e
fix some problems with using same user in multiple tabs
2020-09-16 09:52:44 -03: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
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
37d21ddd97
screenshare: adjust stun fetch failure log
2020-09-10 14:11:42 +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
Joao Siebel
ac0a014571
WIP onClose
2020-09-10 08:49:22 -03:00
Joao Siebel
6e4e0a510a
Merge branch 'remove-user-on-exit' into connection-manager
2020-09-08 16:36:01 -03:00
Tainan Felipe
8651a02676
Add override default locale to user settings
2020-09-08 15:54:08 -03: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
Joao Siebel
4be9bc4c94
Adjust publishers to use auth-token-validation collection
2020-09-01 13:31:11 -03:00
Joao Siebel
2873eb2c1b
Merge remote-tracking branch 'upstream/develop' into connection-manager
2020-09-01 09:08:33 -03:00
Joao Siebel
b8f42ac712
Create ClientConnections structure and auth-token-validation collection
2020-09-01 09:07:56 -03:00
Anton Georgiev
14f464087f
Merge pull request #8417 from pedrobmarin/backend-cleanup
...
Backend cleanup
2020-08-28 15:37:00 -04:00
KDSBrowne
e9d4f8e42c
adds a select random user feature for presenter
2020-08-28 17:23:27 +00:00
root
851c2645ea
Committer: Antonio Guirado <amguirado73@gmail.com>
...
Changes to be committed:
new file: akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/externalvideo/ExternalVideoApp2x.scala
new file: akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/externalvideo/StartExternalVideoPubMsgHdlr.scala
new file: akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/externalvideo/StopExternalVideoPubMsgHdlr.scala
new file: akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/externalvideo/UpdateExternalVideoPubMsgHdlr.scala
modified: akka-bbb-apps/src/main/scala/org/bigbluebutton/core/pubsub/senders/ReceivedJsonMsgHandlerActor.scala
modified: akka-bbb-apps/src/main/scala/org/bigbluebutton/core/running/MeetingActor.scala
modified: akka-bbb-apps/src/main/scala/org/bigbluebutton/core2/FromAkkaAppsMsgSenderActor.scala
new file: bbb-common-message/src/main/scala/org/bigbluebutton/common2/msgs/ExternalVideoMsgs.scala
new file: bigbluebutton-html5/imports/api/external-videos/server/eventHandlers.js
new file: bigbluebutton-html5/imports/api/external-videos/server/handlers/startExternalVideo.js
new file: bigbluebutton-html5/imports/api/external-videos/server/handlers/stopExternalVideo.js
new file: bigbluebutton-html5/imports/api/external-videos/server/handlers/updateExternalVideo.js
modified: bigbluebutton-html5/imports/api/external-videos/server/index.js
modified: bigbluebutton-html5/imports/api/external-videos/server/methods.js
modified: bigbluebutton-html5/imports/api/external-videos/server/methods/emitExternalVideoEvent.js
modified: bigbluebutton-html5/imports/api/external-videos/server/methods/startWatchingExternalVideo.js
modified: bigbluebutton-html5/imports/api/external-videos/server/methods/stopWatchingExternalVideo.js
new file: bigbluebutton-html5/imports/api/external-videos/server/streamer.js
modified: bigbluebutton-html5/imports/api/meetings/server/handlers/meetingDestruction.js
modified: bigbluebutton-html5/imports/api/meetings/server/modifiers/addMeeting.js
modified: bigbluebutton-html5/imports/api/meetings/server/modifiers/meetingHasEnded.js
modified: bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js
modified: bigbluebutton-html5/imports/api/users/server/store/bannedUsers.js
modified: bigbluebutton-html5/imports/startup/server/index.js
modified: bigbluebutton-html5/imports/startup/server/redis.js
modified: bigbluebutton-html5/imports/ui/components/external-video-player/service.js
modified: bigbluebutton-html5/private/config/settings.yml
2020-08-28 12:58:55 +02:00
Anton Georgiev
8cc8474655
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 08-26-merge
2020-08-27 19:09:07 +00:00
Pedro Beschorner Marin
95bc7cd59e
Add individual video record control
...
This adds bbb_record_video userdata that, when is set to false, signals
bbb-webrtc-sfu to avoid generating the stream recording assets for a
particular user.
By default, bbb_record_video is true.
2020-08-21 19:10:25 -03:00
Joao Siebel
f33bd10640
Remove user from collection when leaves
2020-08-19 13:22:43 -03:00
KDSBrowne
423a5fd1c2
Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-per-user-wb
2020-08-17 17:13:36 +00:00
KDSBrowne
e596bfaefd
add per user functionality to multi user whiteboard
2020-08-17 17:03:23 +00:00
Anton Georgiev
5be5aed1d9
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2020-08-12
2020-08-12 17:12:58 +00:00
KDSBrowne
c6bb65b24b
prevent user creating textarea too small for text
2020-08-11 14:54:29 +00:00
KDSBrowne
76a98459c8
backport #8484 from 2.3 to 2.2
2020-08-11 14:51:59 +00:00
Anton Georgiev
9aefa76ded
allow more tags in welcome message/ mod only message
2020-08-10 16:59:09 -04:00
Anton Georgiev
396233fe0d
Improve log for parsed passed parameter error
2020-08-10 15:54:58 -04:00
Tainan Felipe
cb53b42c0e
Merge remote-tracking branch 'upstream/develop' into issue-9723
2020-08-10 16:52:58 -03:00
Tainan Felipe
cc9662b6b8
Implement speaker change and add device update feature
2020-08-10 16:43:49 -03:00
prlanzarin
dac3259c48
Merge remote-tracking branch 'pedrobmarin/bbb-multiple-webcams' into upstream-2.2-vpeg-base
2020-08-05 14:20:58 +00:00
Anton Georgiev
0d6faa0b57
only allow for https uri in welcome and modOnly messages
2020-07-29 16:08:47 -04:00
Anton Georgiev
2c32608cd5
allow for img tag in welcome and modOnly messages
2020-07-29 15:09:15 -04:00
Pedro Beschorner Marin
ab31861544
Add a minimum socket validation to full-audio connection
2020-07-29 15:51:19 -03:00
Anton Georgiev
b9902eceac
Merge pull request #10148 from pedrobmarin/full-audio-socket-check
...
Add a minimum socket validation to full-audio connection
2020-07-29 13:13:30 -04:00
Pedro Beschorner Marin
19e301e28e
Add a minimum socket validation to full-audio connection
2020-07-29 13:10:17 -03:00
Anton Georgiev
1ea72ccb95
sanitize modOnlyMessage in html5 client
2020-07-29 11:31:00 -04:00
Anton Georgiev
4456a4db1f
move sanitazing of welcome message to backend
2020-07-27 16:33:10 -04:00
Tainan Felipe
0ba6ff5cf6
Merge remote-tracking branch 'upstream/develop' into issue-9723
2020-07-27 17:02:44 -03:00
Tainan Felipe
2c61d5ee75
Add input/output dynamic audio change
2020-07-27 16:49:26 -03:00
Vitor Mateus De Almeida
6cb28a6574
Sanitize data in addUser
2020-07-17 12:08:02 -03:00
Joao Siebel
ee3d6a0a1d
Clear private messages on meeting end
2020-07-14 16:51:06 -03:00
Anton Georgiev
b20043a363
Merge pull request #9728 from jfsiebel/custom-parameters-breakout-rooms
...
Use main room user parameters in breakouts room
2020-07-10 11:28:04 -04:00
prlanzarin
1dbafffa26
audio: make listen only call timeout configurable
2020-07-09 18:02:18 +00:00
Pedro Beschorner Marin
526f79e8f2
Merge remote-tracking branch 'bigbluebutton/v2.2.x-release' into bigbluebutton/develop
2020-06-30 18:15:18 -03:00
Anton Georgiev
e22856d29e
prevent triggers of unmute others caused by incorrect state
2020-06-26 18:51:01 +00:00
Anton Georgiev
ff1357cbbd
Revert "Improve audio reconnection for muted users for 2.2"
2020-06-22 16:28:22 -04:00
Anton Georgiev
aed4d648a9
Merge pull request #9780 from Tainan404/fix-audio-reconnect-2.2
...
Improve audio reconnection for muted users for 2.2
2020-06-19 16:58:55 -04:00
Anton Georgiev
8a5f201c98
Update bigbluebutton-html5/imports/api/voice-users/server/methods/muteToggle.js
2020-06-19 16:58:33 -04:00
Anton Georgiev
7a04ac0355
Update bigbluebutton-html5/imports/api/voice-users/server/methods/muteToggle.js
2020-06-19 16:58:24 -04:00
Anton Georgiev
0ac1773e3a
Merge pull request #9888 from Tainan404/listener-for-voice-user-22
...
Add a listener to voice user ejecting user from audio on socket disconnection
2020-06-19 16:54:22 -04:00
Anton Georgiev
a3f01721fc
Update bigbluebutton-html5/imports/api/voice-users/server/publishers.js
2020-06-19 16:53:59 -04:00
Tainan Felipe
7ddaac38c1
Add implici true for wasMuted
2020-06-19 17:20:36 -03:00
Tainan Felipe
9fa1986611
Add implicit toggle for toggle voice call
2020-06-19 17:07:11 -03:00
Tainan Felipe
b504101827
Add a listener to voice user ejecting user from audion on socket disconnection
2020-06-19 16:40:50 -03:00
Anton Georgiev
6eb7d55163
Merge pull request #9828 from SRCF/patch1
...
Enable mirroring for video streams
2020-06-19 13:56:45 -04:00
Anton Georgiev
0cb7759cb2
Merge pull request #9824 from jfsiebel/fix-banned-users-join-try
...
Prevent banned user from trying to validateAuthToken multiple times
2020-06-17 17:09:40 -04:00
Anton Georgiev
778695b4d9
Merge pull request #9758 from jfsiebel/clear-video-streams
...
Clear video streams collection
2020-06-16 16:20:56 -04:00
Joao Siebel
3e95ed0e4b
Merge remote-tracking branch 'upstream/v2.2.x-release' into merge-2.2
2020-06-16 16:40:56 -03:00
mw781
bf68d2c76f
Refactor code and implement mirroring for video-preview
2020-06-14 20:13:47 +01:00
mw781
17350a57fe
Implement own video mirroring
2020-06-12 23:39:41 +01:00
Anton Georgiev
ddb54273c1
Added callerIdName in audio logs where possible
2020-06-12 21:13:49 +00:00
Joao Siebel
492acd6b5c
Add a warn when a banned user tries to join the meeting
2020-06-12 16:51:22 -03:00
Joao Siebel
45f99fed8b
Prevent banned user from trying to validate auth token multiple times. close #9798
2020-06-12 13:24:11 -03:00
Joao Siebel
6c6825d101
Subscribe to collections when user role change. close #9733
2020-06-05 10:32:05 -03:00
Joao Siebel
e3692e5321
Clear video streams collection on meeting end. close #9154
2020-06-03 13:29:44 -03:00
Joao Siebel
189f9c8e61
Fix user-settings publisher log
2020-06-02 09:46:03 -03:00
Joao Siebel
74c34d0c4a
Use main room custom parameters in breakouts room. close #9612
2020-06-01 09:13:03 -03:00
Anton Georgiev
f510fdc484
Merge pull request #9517 from KDSBrowne/2.2-restore-presentation-on-update
...
Restore minimized presentation for viewer on (slide or zoom change / pub…
2020-05-29 13:20:31 -04:00
Anton Georgiev
29afdafd3e
Merge pull request #9658 from konkret-devils/v2.2.x-release
...
Add bbb_show_public_chat_on_login as a join (co-) parameter
2020-05-29 12:42:59 -04:00
Anton Georgiev
ac6fd2824c
Merge branch 'develop' into 2.3-audio-stats
2020-05-26 12:36:15 -04:00
Anton Georgiev
c9e996de21
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-develop
2020-05-25 17:32:24 +00:00
Martin Beckmann
ea3926e8ef
attempt to introduce an additional UserSettings parameter 'bbb_show_public_chat_on_login' as a co-parameter of 'bbb_show_participants_on_login' (the former intended to only have an effect if the latter is 'true')
2020-05-23 22:28:56 +02:00
Anton Georgiev
fdcccbbc29
Merge pull request #9640 from antobinary/ban-eject-user
...
Distinguish between eject and ban for Remove user
2020-05-22 11:37:11 -04:00
Anton Georgiev
e7917994d5
add banUser field in EjectUserFromMeetingCmdMsgBody
2020-05-22 10:45:28 -04:00
Anton Georgiev
aeeac803c7
Merge pull request #9620 from antobinary/simplify-publish
...
Simplify the code used for promote-demote subscriptions
2020-05-21 17:14:16 -04:00
Anton Georgiev
1874cf8392
Add visuals for banning vs ejecting user
2020-05-21 16:40:08 -04:00
Anton Georgiev
ead986e3e2
Merge pull request #9542 from prlanzarin/upstream-2.2-safari-ss
...
Screenshare: add support on Safari 13+ and make constraints configurable
2020-05-21 14:38:32 -04:00
Anton Georgiev
2d16e020d8
Merge pull request #9593 from lfzawacki/2.2-external-video
...
Attempt to fix external video syncing
2020-05-21 14:34:52 -04:00
Anton Georgiev
92d7975978
Merge pull request #9619 from antobinary/modOnlyMessage
...
Only provide modOnlyMessage to moderators
2020-05-21 13:55:09 -04:00
prlanzarin
2cba85e866
html5: refactor STUN/TURN fetch, add fallback STUN, fix deadlock in audio join
...
Refactored STUN/TURN fetch to be done only once, when successful, per session and cache it in mem to avoid too many reqs. Current way is a bit dumb, this should increase reliability a bit more. The caching is configurable so folks who want to use very short lived TURN credentials can disable it
Add a fallback STUN config option to be used when the default STUN/TURN fetch fails
Clean the safari/no candidate generation pre flight check from 3rd party STUNs
Fix deadlock in audio join when STUN/TURN fetch failed
2020-05-21 04:35:17 +00:00
Anton Georgiev
5238d81193
Simplify the code used for promote-demote subscriptions
2020-05-20 17:07:36 -04:00
Anton Georgiev
201fa2902e
Only provide modOnlyMessage to moderators. Promoted mod requires refresh to see it
2020-05-20 15:56:44 -04:00
Lucas Zawacki
b9c75b4872
Remove timestamp correction logic
2020-05-18 13:16:03 -03:00
Paulo Lanzarin
a6a5aaf3d9
screenshare: typo in applyConstraints
2020-05-14 17:44:53 +00:00
prlanzarin
e875408f8d
screenshare: add support on Safari 12.1+ and make constraints configurable
...
This adds support for screensharing on Safari 12.1+ or whichever has getDisplayMedia enabled
To be conservative and backwards compatible, I`ve maintained the current gUM-based code available as a fallback for those still using older versions of FF or Chrome
Made screenshare constraints configurable. The constraints config will be piped directly to gDM, so it`s just a regular gDM constraint dictionary
2020-05-14 16:54:54 +00:00
Pedro Beschorner Marin
ce57fccc5a
Connection status feedback modal
2020-05-14 10:35:25 -03:00
Pedro Beschorner Marin
22c8eee0c7
Connection status first commit
2020-05-14 10:32:55 -03:00
KDSBrowne
f5d004c322
restore minimized presentation for viewer (slide or zoom change / published poll / added annotation)
2020-05-12 12:58:14 +00:00
Anton Georgiev
80e6b168ea
use Meteor setTimeout to run within Fiber
2020-05-09 09:52:16 -04:00
Tiago Jacobs
d6132e97b5
Postpone websocket close for a failed authToken
2020-05-08 19:08:50 -03:00
Tiago Jacobs
eee9d89668
Add key to log message
2020-05-08 18:47:54 -03:00
Tiago Jacobs
70f39ee758
Change validateAuthToken key generator
2020-05-08 18:45:35 -03:00
Anton Georgiev
cc79c4b6ae
merge 2.2.10 into 2.3
2020-05-05 19:52:44 +00:00
Anton Georgiev
4fd7166587
Merge pull request #9362 from antobinary/breakouts-no-private-chat
...
Include Meteor connection ID in logs from client
2020-04-30 16:48:31 -04:00
Anton Georgiev
63f7da5241
include Meteor connection ID in logs
2020-04-30 16:40:45 -04:00
KDSBrowne
6915a028e3
use extractCredentials to get meeting id
2020-04-30 13:46:30 +00:00
KDSBrowne
957e5e3d30
fix captions from dictation not working
2020-04-30 13:15:21 +00:00
Anton Georgiev
dc0c2f7b21
switch setPresenterInPodReqMsg to in-file function, not method
2020-04-29 08:00:32 -04:00
Joao Siebel
7eb935f244
Enforce extractCredentials
2020-04-29 01:41:16 -03:00
Tiago Jacobs
4bfd924c64
Refactor connection definition of userId to wait for validateAuthToken
2020-04-29 00:33:45 -03:00
Anton Georgiev
97682d9162
Revert "Merge pull request #8759 from capilkey/2.2-join-fix"
...
This reverts commit 5af41dabb4
, reversing
changes made to 004d872584
.
2020-03-25 16:12:36 -04:00
Chad Pilkey
e9a73217da
only join a user if the connection is still active
2020-03-11 13:40:50 -07:00
Chad Pilkey
cc07bfff20
fixed inconsitencies and usage of the idChatOpen Session variable
2020-03-05 15:14:22 -08:00
Anton Georgiev
d36c545706
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merging
2020-03-04 23:41:18 +00:00
Anton Georgiev
8129468300
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merging
2020-03-04 23:36:21 +00:00
Chad Pilkey
5a678a4faf
react to voice call state when connecting with FS LO
2020-03-04 10:25:54 -08:00
Chad Pilkey
6456ad0010
add meetingId to some server-side collection selectors
2020-03-04 07:54:32 -08:00
Chad Pilkey
eea6fa9763
fix extraCredentials usage in external video emit
2020-03-03 14:00:38 -08:00
Anton Georgiev
52969ed7a3
Update emitExternalVideoEvent.js
2020-03-03 11:21:08 -05:00
Anton Georgiev
3c538d23d9
Merge pull request #8674 from lfzawacki/v2.2.x-release
...
More enhancements to the external video code
2020-03-03 09:49:31 -05:00
Chad Pilkey
156aaa4011
harden the cursor streamer emit logic
2020-03-02 14:58:46 -08:00
Lucas Zawacki
e6423d6116
Use Logger and remove unused code
2020-03-02 18:41:31 -03:00
Lucas Zawacki
e67781d133
Centralize external video presenter message emission via a meteor call
2020-03-02 17:58:51 -03:00
Chad Pilkey
ecfbe5e506
implmenent sip.js fallback for playing audio with web audio api
2020-02-29 00:38:30 +00:00
Anton Georgiev
3754d0ab6f
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.2-into-master-feb-28-2020
2020-02-28 17:47:06 -05:00
Lucas Zawacki
b48e474e84
Make sure stopWatchingExternalVideo works when called as a method and when called from the server
2020-02-27 17:30:35 -03:00
Lucas Zawacki
92a1fba0ae
Use extractCredentials in stopWatchingExternalVideo thus fixing it
2020-02-27 16:42:53 -03:00
Lucas Zawacki
af3ba395ea
Change server logger for external-video messages to debug
2020-02-27 15:06:45 -03:00
Lucas Zawacki
f0d588511c
Check presenter status outside of streamer
2020-02-27 13:39:00 -03:00
Chad Pilkey
6a4ba7a300
watch for voice call state updates instead of DTMFs in the client
2020-02-18 14:03:06 -08:00
Anton Georgiev
4b5c6c65e9
Merge pull request #8613 from antobinary/userId-stuff
...
Utilize Meteor session id instead of trusting client side meetingI…
2020-02-18 11:56:21 -05:00
Anton Georgiev
4b0452d1fd
Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into feb14-merge-2.2-into-master
2020-02-14 21:43:35 +00:00
Anton Georgiev
11edb3cae9
clear externalvideo stream properly on meeting removed
2020-02-13 16:01:36 -05:00
Anton Georgiev
0834f4bdcc
handle edge case for credentials where meeting is removed
2020-02-13 14:40:15 -05:00
Anton Georgiev
1fa426058f
corrected issues related to publishing and methods
2020-02-13 14:19:29 -05:00
Anton Georgiev
72cb9ae8e0
bind publisher for presentation-upload-token
2020-02-07 17:11:06 -05:00
Anton Georgiev
a8f4827af8
utilize Meteor connection id instead of trusting client side meetingId, userId
2020-02-06 15:48:16 -05:00
Anton Georgiev
e420dc2546
add bbb_show_participants_on_login as a join parameter
2020-01-30 15:43:54 -05:00
Anton Georgiev
60e3e7986c
Merge pull request #8499 from pedrobmarin/waiting-guests-clean
...
Removes waiting guests that stop polling for their status
2020-01-29 17:40:19 -05:00
Chad Pilkey
e55d9116a9
add the meetingId to the external video sync update logs
2020-01-17 09:12:44 -08:00
Anton Georgiev
2f8fbb5c1f
Merge pull request #8484 from KDSBrowne/create-textbox-onclick
...
Create text area's by clicking on whiteboard (text tool selected)
2020-01-16 08:43:29 -05:00
Pedro Beschorner Marin
397041efcc
Removes waiting guests that stop polling for their status
2020-01-15 12:03:52 -03:00
Chad Pilkey
ee1b0278d1
adjust external video logs
2020-01-13 15:07:21 -08:00
Lucas Zawacki
14fd979955
Remove viewerJoined logic and prevent handleOnReady from running multiple times
2020-01-13 13:53:47 -03:00
Chad Pilkey
162dc4dbe4
the client will end the call when kicked
2020-01-09 15:50:10 -08:00
KDSBrowne
2dbc23af26
prevent text area going out of bounds on click creation
2020-01-09 19:43:52 +00:00
KDSBrowne
c17b8501e2
create text area on click with whiteboard text tool
2020-01-08 20:34:30 +00:00
Anton Georgiev
28ec57b55d
Merge pull request #8443 from capilkey/sipjs-sdp-logging
...
Log the selected sip.js candidate
2019-12-19 16:23:00 -05:00
Anton Georgiev
2b4506fe2d
send redis msg when stopping external video due to screenshare
2019-12-19 16:13:21 -05:00
Chad Pilkey
f5cb7a64fb
log the selected sip.js candidate
2019-12-18 16:11:24 -08:00
Anton Georgiev
4e1d55efd2
Prevent parallel screenshare and external-video
2019-12-18 16:40:04 -05:00
Pedro Beschorner Marin
b11113c165
Remove meeting inactivity monitor
2019-12-11 17:11:57 -03:00
Pedro Beschorner Marin
5c71e2d0bb
Included new getStats monitor for audio and video
2019-12-10 09:07:06 -03:00