Commit Graph

27268 Commits

Author SHA1 Message Date
Anton Georgiev
dc768a032e
Merge pull request #11688 from prlanzarin/u22-microstoria
kurento-utils: update UAParser and js.merge
2021-03-18 14:06:25 -04:00
prlanzarin
d4d391b2c2 html5, kurento-utils: update js.merge to v2.1.1 (was v1.2.0) 2021-03-18 14:47:36 -03:00
prlanzarin
efd0ff2ff1 html5, kurento-utils: update UAParser to v0.7.24 (was v0.7.17) 2021-03-18 14:05:27 -03:00
Anton Georgiev
f4ba2e871b
Bump up version to 2.2.36 2021-03-10 16:15:52 -05:00
Anton Georgiev
741130b0ca
Merge pull request #11608 from mariogasparoni/issue-11307-2.2
Observe both added and changed events when user joins
2021-03-10 14:49:57 -05:00
Mario Jr
1a75800dd8 Observe both added and changed events when user joins
Depending on the sequence of events on the server, user sometimes is
added to the users collection with the name information, and sometimes this
information is updated in a second moment. Once we need the username
to show the push notification, we observe changes on this field for both
added and changed event.

Closes #11307
2021-03-10 16:34:43 -03:00
Anton Georgiev
acbdf831f2
Merge pull request #11601 from mariogasparoni/backport-11533-to-2.2
Fix audio and push alerts for user join
2021-03-10 07:56:47 -05:00
Anton Georgiev
38f11dbdee
Merge pull request #11587 from mariogasparoni/fix-11333
Improve the way store information about breakout audio transfer
2021-03-10 06:01:56 -05:00
Mario Jr
9c92c14a6e Fix audio and push alerts for user join
When validating tokens, the dummyUser created at the beginning is set
with validated=true. This means there won't be the state change that used
to occur from validated:false to validated:true (which detects the moment
joined the meeting) , therefore the alert code that expects for this change
won't run.
To fix this for audio alerts, we now detect when user join by observing
additions in Users's collection. This is actually good because we start
observing this only once (in componentDidMount), differently we used to do,
by calling this every time the tracker was activated.

To distinguish between the user addition that initially populates user's
collection from those that happens after user join (which are the ones we
want), we store the initial state (at componentDidMount) and compare it
with new additions. If the user added is present at the initial state,
then it is an addition to populates the collection, otherwise this is a real
user addition (happened after user joined the meeting)

Partially fixes #11399
2021-03-09 21:40:27 -03:00
Mario Jr
3b6b9523fc Update breakout audio transfer states when user leave mic
When leaving audio/reconnecting , we must update breakout audio transfer
state.

Related to the issue #11333
2021-03-08 15:01:10 -03:00
Mario Jr
1c7c1d5076 Change breakout-audio-transfer-status function signature
We now update breakout'a audio transfer status by using an object
2021-03-08 14:55:15 -03:00
Mario Jr
ff6cba8d53 Store information about user status during breakout room audio transfer
Currently this information is lost everytime breakout-room component is
unmounted, causing the panel to shows wrong information during next renders
Fixes #11333
2021-03-08 14:55:05 -03:00
Anton Georgiev
859520fe2c
Merge pull request #11560 from mariogasparoni/backport-audio-improvements-from-2.3
Backport audio improvements from 2.3
2021-03-05 08:39:23 -05:00
Mario Jr
209b06db2e Avoid setting an unknown input deviceId
Without 'exact' match, the browser fallbacks to the default inputDeviceId

This prevents the error (input device error)  when breakout is ended and we try
to skipCheck the microphone when user returns to main room (assuming the
user had the microphone active before joining breakout room).
2021-03-05 00:33:54 -03:00
Mario Jr
39780c6a50 Do not try to recover mute state when joining listenonly
Prevent toggleMute api call to be called for listenonly
This has no effect to the end user, but avoids unnecessary server calls
2021-03-05 00:23:20 -03:00
Mario Jr
c0625e2ee1 Cleanup joinedAudioOnly state when user disconnects or reconnect microphone
Fixes #11490
2021-03-05 00:06:19 -03:00
Mario Jr
e16566de9d Recover mute state for moderator when returning from breakout's audio transfer
Fixes #11489
2021-03-05 00:02:31 -03:00
Fred Dixon
b5d1d2f159
Merge pull request #11549 from bigbluebutton/ffdixon-patch-5
Bump to 2.2.35
2021-03-03 20:53:27 -04:00
Fred Dixon
e60f6ca82e
Bump to 2.2.35 2021-03-03 20:52:22 -04:00
Fred Dixon
08ae7a0c97
Merge pull request #11547 from pedrobmarin/fix-401-pad-export
Fix padId getter
2021-03-03 19:49:26 -04:00
Pedro Beschorner Marin
f02384bb1f Fix padId getter
Pad exporter uses this same location to serve pad's downloaded content
but the the match was failing because padId is not the last element
of the URL on that scenario.

Pattern follows /pad/p/<padID>[/export/(format)]?<query>.
2021-03-03 20:36:19 -03:00
Anton Georgiev
abf9ed4063
Merge pull request #11538 from prlanzarin/u22-track1006022021
Improve permission checks for video, screen sharing and listen only
2021-03-02 15:46:33 -05:00
Anton Georgiev
6c238dd240
Merge pull request #11537 from antobinary/backport-11477
Update handleClick condition (fix text-area for FireFox)
2021-03-02 15:02:02 -05:00
KDSBrowne
ccf12c268e update handleClick condition (fix text-area for FireFox) 2021-03-02 14:55:51 -05:00
Anton Georgiev
eba2d0ab58
Merge pull request #11535 from pedrobmarin/etherpad-patch
Rework padIds and turn bbb-web pad aware
2021-03-02 14:48:34 -05:00
Anton Georgiev
9848672775
Bumped up copyright year to 2021. Closes #11519 2021-03-02 14:20:27 -05:00
Anton Georgiev
24e41946b8
Bump to 2.2.34 2021-03-02 11:25:51 -05:00
Fred Dixon
754473317e
Merge pull request #11512 from bigbluebutton/ffdixon-patch-5
Bump to 2.2.33
2021-02-26 10:32:16 -04:00
Fred Dixon
0c663437ea
Bump to 2.2.33 2021-02-26 10:30:48 -04:00
Anton Georgiev
b68553ea9b
Merge pull request #11487 from antobinary/disable-custom-heartbeat
Set falllback value of voiceConf.ejectRogueVoiceUsers to true
2021-02-24 13:20:35 -05:00
Anton Georgiev
af7e158244 Set falllback value of voiceConf.ejectRogueVoiceUsers to true 2021-02-24 13:12:02 -05:00
Anton Georgiev
cf36abf1a1
Merge pull request #11486 from antobinary/disable-custom-heartbeat
Disable customHeartbeat 10826
2021-02-24 13:09:08 -05:00
Anton Georgiev
382e661b92 disable customHeartbeat #10826 2021-02-24 13:00:59 -05:00
Anton Georgiev
3bdbb7156d
Merge pull request #11467 from mariogasparoni/v2.2.x-release
Clean up HTMLAudioElement used for notification sounds
2021-02-23 13:46:44 -05:00
Mario Jr
2e92de8010 Clean up HTMLAudioElement used for notification sounds
After ending the notification playback, we set the ".src" property to null, which immediately stop the internal player of mobile browser (tested on Chrome for Android -  device list is on #11458).
For the specific list of devices, this prevents the internal buffer error "-61" described in #11458.
Fixes #11458.
2021-02-23 11:12:37 -03:00
Anton Georgiev
d5e7f5cf67
Merge pull request #11339 from basisbit/v2.2.x-release
Enable video-pagination and cameraQualityThresholds by default
2021-02-17 18:37:40 -05:00
Anton Georgiev
f19216e4b9
Merge pull request #11414 from prlanzarin/u22-erovus12022021
Option to eject voice users with no matching user (re-submit #10959)
2021-02-17 10:03:10 -05:00
prlanzarin
866c771792 akka-apps: make ejectRogueVoiceUsers true by default 2021-02-17 08:54:47 -03:00
prlanzarin
3c0493a295 akka-fsesl: handle dial in/out users uIDs in GetUsersStatusToVoiceConfSysMsg responses
The lack of handling to check whether the user was a dial-in user when answering akka-apps periodic member probes was making it use an arbitrary default (callerName) as the userId, explicitly violating the convention that dial-in/outs should have v_memberId userIds

That would botch whichever added janitorial tasks that operated upon akka-apps GetUsersStatusToVoiceConfSysMsg probes
2021-02-12 17:16:36 -03:00
prlanzarin
8f233b74ee akka-apps: handle dial-in users in voice user ejection 2021-02-12 17:16:32 -03:00
prlanzarin
703505c486 akka-apps: extend SysConf in VoiceApp
To be used with the ejectRogueVoiceUsers config option
2021-02-12 16:01:44 -03:00
Pedro Beschorner Marin
ba9528ebb1 Option to eject voice users with no matching user
Reconnects may introduce ghost voice users in a meeting when the client fails to
rejoin but the audio connection remains active.

While fetching for the voice conference user's status, apps can now check if a
voice user has a matching user record. If it doesn't, eject the voice user.
2021-02-12 15:29:56 -03:00
Anton Georgiev
9c25558545
Merge pull request #11386 from mariogasparoni/v2.2.x-release
Preserve mutestatus when disconnecting/reconnecting microphone
2021-02-12 09:15:07 -05:00
Mario Jr
b7216dd100 Preserve mutestatus when disconnecting/reconnecting microphone
After audio reconnection, a muted user would have it's microphone unmuted by default, unless muteOnStart is set to true. This fix this problem.
Fixes #9016
2021-02-11 23:55:34 -03:00
prlanzarin
1290838b16 akka-apps: cleanup on the camera/listen/screen permission calls 2021-02-11 19:45:59 -03:00
prlanzarin
765686714b akka-apps, video: add camera broadcast and subscribe permission check messages
Used by bbb-webrtc-sfu to enrich its validation on whether a user is allowed to broadcast or subscribe to a camera stream
2021-02-10 21:55:46 -03:00
prlanzarin
93aa556aba akka-apps, screenshare: add broadcast and subscribe permission check messages
Used by bbb-webrtc-sfu to enrich its validation on whether a user is allowed to broadcast a screen or subscribe to one
2021-02-10 19:02:19 -03:00
prlanzarin
c226d9544e akka-apps: add global audio permission check messages
Used by bbb-webrtc-sfu to enrich its validation on whether a user is allowed to subscribe to the global audio bridge via listen only or not
2021-02-10 15:00:04 -03:00
Pedro Beschorner Marin
09b39a8d63 Add extra pad validation
Associate pads with meetings so session validation is restricted to the
meeting's valid session tokens.

Meteor will dispatch new redis events on shared notes and closed captions
pads creation. This event will go through apps and reach web to populate
a new meeting's pad collection that contains all valid pad id's for that
session. Nginx will use this collection to check if the user's session token
belongs to the pad's authorized users.

Besides these modifications, an extra change will be needed at notes.nginx.
Location /pad/p/ needs to change it's auth_request:

from /bigbluebutton/connection/checkAuthorization;
to /bigbluebutton/connection/validatePad;
2021-02-10 13:37:04 -03:00
Richard Alam
a443e50558
Merge pull request #11362 from riadvice/fix-api-redirect
Make sure checksum validation is done first in join API and display an error without redirection in failure case
2021-02-09 14:06:21 -05:00