Commit Graph

2301 Commits

Author SHA1 Message Date
Joao Siebel
4df47c08de Fix a problem where the first moderator to join wasn't flaged as presenter 2021-08-11 16:46:26 -03:00
Anton Georgiev
5cfb723e07 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into aug6-merge 2021-08-06 15:23:36 +00:00
Anton Georgiev
c8577dd76d
Merge pull request #12908 from antobinary/fix-12890
fix: Re-subscribe user to guestUser collection on promotion/demotion
2021-08-05 09:30:31 -04:00
Anton Georgiev
daed82d63c fix: re-subscribe user to guestUser collection on promotion/demotion 2021-08-04 15:34:52 +00:00
Anton Georgiev
e4826afa29 fix: Grant current-poll access to attendee presenter too 2021-08-04 15:13:00 +00:00
Joao Siebel
4cae6bb5dc Prevent edge case where the UI show wrong info about current presenter 2021-08-04 11:02:10 -03:00
Anton Georgiev
73da9c15da Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-23-july-30 2021-07-30 23:43:27 +00:00
Anton Georgiev
ac3d627d15 fix(guests): Propagate list of pending guests only to mods 2021-07-30 19:31:04 +00:00
Anton Georgiev
21cb175d40 fix(polls): Avoid viewer manually subscribing to current-poll 2021-07-30 16:49:16 +00:00
Mario Jr
c0d1255924 Merge branch 'v2.3.x-release' into fix-1005-logging 2021-07-30 12:28:34 -03:00
Anton Georgiev
aa0ea21990 fix(breakouts): Do not allow users to obtain 'redirectToHtml5JoinURL' for others 2021-07-30 13:35:44 +00:00
Anton Georgiev
b0b386c690 add meetingId to chatIds selector 2021-07-29 12:42:43 +00:00
Joao Siebel
9b31ded342 Fix auto assigned presenter when previous one left the meeting. close #12679 2021-07-23 15:50:51 -03:00
Anton Georgiev
4806e71fe8
ConnectionStatus - log info on 'warning'
Until now we only logged for `normal`, `danger` and `critical` leading to some ambiguity in log analysis
2021-07-23 14:18:23 -04:00
Anton Georgiev
a37843d2a7 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge238-into-24 2021-07-23 17:09:18 +00:00
prlanzarin
168f66310e fix(listen-only): avoid leaving a dangling HTMLMediaElement in paused state 2021-07-23 02:35:47 +00:00
prlanzarin
e20fe6d4ad fix(screenshare): avoid leaving a dangling HTMLMediaElement in paused state 2021-07-23 02:27:02 +00:00
Gustavo Trott
e4ef1582f2
Merge branch 'develop' into activity-report 2021-07-22 11:33:47 -03:00
Gustavo Trott
3c6155a73e Creates config activityReportTracking to enable Activity Report 2021-07-22 11:09:44 -03:00
Mario Jr
2f75f6107e fix(audio): prevent false positive alerts of 1005 error
After reconnecting (with 1007 or 1005), user may gets 1005 when meeting
is ended by moderator.
2021-07-22 09:28:14 -03:00
Anton Georgiev
1abedcc698
Merge pull request #12789 from jfsiebel/implement-default-layout-config
Allow default layout config in bbb-web
2021-07-21 16:11:08 -04:00
Gustavo Trott
b0f9835ffd Merge branch 'develop' into activity-report 2021-07-21 14:20:27 -03:00
Anton Georgiev
472c9a6107 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into 237-into-develop 2021-07-20 15:21:21 +00:00
Mario Jr
6db69c39d8 fix(audio): prevent duplicated error logging
We now let audio-manager log errors, using the specified error code.
These errors are still logged in bridge layer, but as a warning.
This commit doens't change error codes behavior, they are still being
logged as errors and with the same code numbers.
2021-07-20 11:10:04 -03:00
Ramon Souza
1be7fd28ce Merge remote-tracking branch 'upstream/v2.3.x-release' into issue-12665 2021-07-19 14:30:45 -03:00
Joao Siebel
8462465a5f Allow default layout config in bbb-web. close #12668 2021-07-19 11:02:58 -03:00
Mario Jr
431a6c7c3b chore(audio): add secondsToGatherIce as extraInfo in server log 2021-07-16 11:16:24 -03:00
Gustavo Trott
c70967e7f1 Adds UI buttons to moderators open Activity Report 2021-07-15 21:23:16 -03:00
Mario Jr
f5713869bf fix(audio): correct log the time needed for ice gathering 2021-07-15 11:15:53 -03:00
Gustavo Trott
45d4c310c2 Merge branch 'develop' into activity-report 2021-07-13 11:12:45 -03:00
Ramon Souza
604ae9cf6f change default layout to smart 2021-07-13 09:25:53 -03:00
Anton Georgiev
37c6175f09
Merge pull request #12704 from jfsiebel/hide-poll-response-viewers
Filter anonymous poll data for presenter, moderators and viewers
2021-07-12 08:51:29 -04:00
Ramon Souza
8fe8a0ac6b display endWhenNoModerator message 2021-07-08 11:51:00 -03:00
prlanzarin
67fca54d76 fix(screenshare): fix client crash on presenter change
Scenario: presenter`s client could crash when the presenter changed while they were sharing their screen

That is due to a race condition on the stop procedure in the bridge: two stops can be triggered (one from the server-side websocket tear off and another from the client itself detecting the presenter change)

That could create a scenario where the broker was cleaned in one stop procedure after the second had checked its availability, causing an attribute access of a null member
2021-07-07 19:29:17 +00:00
prlanzarin
e5aec7beab refactor(screenshare): append error message to failure log 2021-07-07 19:29:11 +00:00
Anton Georgiev
6cf863ff3d
Merge pull request #12604 from KDSBrowne/bbb-api-unit-tests
test: Add Unit Tests For Meteor Polls API
2021-07-06 16:56:46 -04:00
Anton Georgiev
b9cc633286 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-2.3.5-into-develop 2021-07-06 19:36:19 +00:00
Joao Siebel
2cda889d51 Previne loggedOut property to be undefined. close #12656 2021-07-05 16:04:26 -03:00
Anton Georgiev
0150862eb1
Merge pull request #12705 from mariogasparoni/feat-trickle-ice-mic
feat(audio): use kurento's trickle-ice to improve mic negotiation
2021-07-02 17:44:05 -04:00
Anton Georgiev
0457868e4b
Merge pull request #12703 from jfsiebel/hide-poll-response-for-viewers
fix: Filter poll data for moderator and viewers
2021-07-02 16:06:06 -04:00
Joao Siebel
7e46f31bf8 Remove responses fields from minimongo when the poll is anonymous 2021-07-02 16:58:33 -03:00
Joao Siebel
65ff7bca6c Hide poll responses and number of votes for viewers in minimongo 2021-07-02 16:47:00 -03:00
Anton Georgiev
2d0e31cce4
Merge pull request #12702 from jfsiebel/prevent-add-connection-status-spam
Prevent addConnectionStatus log spam when not authenticated
2021-07-02 15:01:56 -04:00
Anton Georgiev
213e0e4b3b
Merge pull request #12691 from ramonlsouza/reconnect-fix
fix: reconnection crash
2021-07-02 14:17:40 -04:00
Joao Siebel
14abe5c278 Prevent addConnectionStatus log spam 2021-07-02 11:51:01 -03:00
Mario Jr
287c4eb682 feat(audio): use kurento's trickle-ice to improve mic negotiation
Here's what we do when user activates mic:
1 - When we do something similar to listenonly's joining process
until we find a valid candidate-pair. The information about this
local candidate is store.
2 - We then start a new userAgent, and as soon as browser finds
a candidate with the same local ip address, we leave only this
candidate in the SDP and send this to FreeSWITCH. SDP should
contain only a single candidate.
3 - The rest of signaling process is basically the same.
2021-07-01 16:26:44 -03:00
Anton Georgiev
b5851aa152 removeUser: handle connections in frontends, db changes in backend 2021-06-30 20:08:00 +00:00
Ramon Souza
094ecfbbfd fix reconnection crash 2021-06-30 14:50:15 -03:00
Gustavo Trott
0417cbb03f Adds Activity Dashboard initial version and generate activityReportAccessToken 2021-06-30 00:01:46 -03:00
Ramon Souza
efc15d89ae remove unused code 2021-06-23 16:52:52 -03:00
Ramon Souza
ae49d7a9c6 remove layoutManager from meeting collection 2021-06-22 09:48:48 -03:00
Ramon Souza
174f17bcb4 fix log message 2021-06-21 15:16:01 -03:00
Anton Georgiev
0c0eb8a4d5
Merge pull request #12548 from ramonlsouza/layout-meeting-collection
feat: layout manager in meeting collection
2021-06-18 18:03:19 -04:00
Ramon Souza
381207cb5a set legacy as default layout manager 2021-06-18 17:05:29 -03:00
germanocaumo
4f06b1fbf8 feat(poll): add option to disable poll chat message 2021-06-18 14:13:20 +00:00
germanocaumo
1fb9870cf7
Apply suggestions from code review
Code style fixes and remove translations other than en to avoid conflicts with transifex.

Co-authored-by: Pedro Beschorner Marin <pedrobmarin@gmail.com>
2021-06-17 10:25:03 -03:00
KDSBrowne
cf6672b1c9 Add unit tests for poll api modifiers | 2x handlers 2021-06-17 02:20:49 +00:00
germanocaumo
92af5c789b refactor: remove unused imports 2021-06-16 22:53:35 +00:00
germanocaumo
85f77442b7 fix(poll): chat result publish error
The poll is already removed with stopPoll that is called together with pollPublished
2021-06-16 22:31:09 +00:00
germanocaumo
349af23f0a Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into anonymous-polls 2021-06-16 21:54:28 +00:00
Anton Georgiev
5ee5ed1970 Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-june16 2021-06-16 19:54:28 +00:00
Anton Georgiev
3e5214234b
Merge pull request #12469 from jfsiebel/allow-tags-meeting-user-name
Allow tags in meeting and user name
2021-06-15 10:28:58 -04:00
Pedro Beschorner Marin
068b82b1fa refactor(connection status): remove legacy monitor
Remove parts of a previous connection monitor.

To add some context (as far as my memory goes) to the multiple connection
monitor features the product has, `stats` (currently named `connection status`)
was introduced at the Flash client back in ~2016. @fcecagno and I did it
as a BigBlueButton's Summit activity. Our work was squashed into a single
commit in 92554f8b3e :).

I'm not sure about the whole story behind `network information` (the late
connection monitor added to the HTML5 client) but I assume it should work
as a collector for a bunch of different connectivity monitors. I remember
when it was introduced but I don't know why it wasn't adopted. My best guess
would be because of some performance issues the `user list` had back then.

To follow on why `connection status` replaced `network information` at the
HTML5 client, when I did the `multiple webcams` feature I had to refactor
a big chunk of the `video provider` (#8374). Something that wasn't really
helping there was the adaptation of `stats` that was made to show local
feedback for each webcam connection. Although this feature wasn't being
used anymore, `network information` did rely on that to build up data. With
this monitor gone I assumed it was my responsibility to provide an alternative
so I promoted Mconf's port of the Flash `stats` monitor to BigBlueButton's
HTML5 client (#8579).

Well, that's my perspective on how things went for those features. If
anyone would like to correct me on something or add something else on
that history I would appreciate to know.
2021-06-13 14:02:46 -03:00
Anton Georgiev
1369cb2269
Merge pull request #12505 from gustavotrott/breakoutroom-inscrease-time
Add 'Extend duration' option for breakout rooms
2021-06-11 16:33:15 -04:00
germanocaumo
7bedcb08e5 fix(poll): don't translate user/presenter typed answers
When the answer is not default (Custom or UserResponse), don't translate the answers.
2021-06-11 16:55:53 +00:00
Ramon Souza
da924234d3 store layout manager in meeting collection 2021-06-09 15:30:08 -03:00
Ramon Souza
1ac3767ed4 store layout type in meeting collection 2021-06-09 14:08:11 -03:00
tibroc
13ae19bc3d Use currentPoll instead of state to determine if live results should be rendered
To avoid re-rendering of the poll answers when the poll panel is opened and closed,
this commit uses the currentPoll object to determine wether results should be rendered.
2021-06-07 10:56:14 +02:00
tibroc
828cf60cb2 Add option to hide individual answers in polls
This patch adds a new option to hide the individual answers to the presenter
when starting a poll. This includes hiding the answers for the presenter and
informing the other users that the current poll is anonymous.

See #9524
2021-06-07 10:56:14 +02:00
Pedro Beschorner Marin
72cfc9f86c refactor(external videos): data check
Add missing data check and move the existing ones inside the try-catch
blocks.
2021-06-06 13:13:16 -03:00
Gustavo Trott
a312557461 Adds extend breakout room time functionality 2021-06-02 15:29:40 -03:00
Pedro Beschorner Marin
4a5b92445a refactor(external videos): system stop
Move all external video's system stop control events to akka-apps:
- on presenter change
- on presenter leave
- on screenshare start
2021-06-02 15:06:17 -03:00
Pedro Beschorner Marin
6c84a3295b refactor(external videos): frontend permissions
Revoked extra frontend permission checks and removed dependency from
external video stop Meteor's system call.
2021-06-02 13:03:04 -03:00
Arthur B. Grossi
e606df6031 feat(external video): permission check
Checks permission of start, stop and update external video messages
and only broadcast it if the sender is presenter (unless it's system
messages).
2021-06-02 12:54:37 -03:00
Max Franke
7f926edfcc refactor(external videos): add own collection
Refactor the external videos collection, moving the logic and functionalities
outside of /imports/api/meetings to a new location in /external-videos/server/modifiers
in order to decrease the coupling between the functionalities, favoring
the maintenance.
2021-06-02 12:50:40 -03:00
Anton Georgiev
8868e84e9f
Merge pull request #12395 from gustavotrott/end-when-no-moderator
Implements endWhenNoModerator
2021-05-31 10:59:55 -04:00
Joao Siebel
f16700a8c4 Allow tags in meeting and user name. close #10221 close #12370 2021-05-31 09:59:15 -03:00
germanocaumo
4d347be53b refactor: use questionText instead of title for poll question 2021-05-27 21:04:15 +00:00
Pedro Beschorner Marin
b3c698a2a9
Merge pull request #12422 from germanocaumo/poll-chat-refactor
refactor: redo how poll result chat message is done
2021-05-26 14:49:19 -03:00
Ramon Souza
5d6c9cbb18 removing unused imports/exports 2021-05-21 09:50:31 -03:00
germanocaumo
3a9e9c1358 refactor: redo how poll result chat message is done +
Fix prolems with ":" char in answers.
Respect poll question formatting (lineBreaks/spaces) in other fields of UI
2021-05-20 14:53:52 +00:00
Ramon Souza
9592ca44fe remove useless conditionals in validateAutoToken handler 2021-05-19 09:22:30 -03:00
Gustavo Trott
00240c925e Implements endWhenNoModerator 2021-05-17 17:52:59 -03:00
Pedro Beschorner Marin
e4a98f3680 fix(closed captions): fetch padId on dictation update
BigBlueButton v2.3 uses an instance prefix while generating padIds. Closed
captions was missing this information when updating pad's content for dictation
mode.
2021-05-16 10:45:17 -03:00
Pedro Beschorner Marin
d65c19c60b fix(closed captions): avoid meetingId from credentials
This interaction occurs between Etherpad and Meteor.
2021-05-16 10:08:24 -03:00
hiroshisuga
e0a78ffbac
Merge branch 'develop' into fillshape 2021-05-14 20:57:16 +09:00
Anton Georgiev
1bc324b657
Merge pull request #12353 from germanocaumo/poll-record-improvs
Recorded polling events improvements
2021-05-13 13:43:36 -04:00
germanocaumo
ca2ad30e12 fix(record): add missing info to polling events
Add PollPublishedRecordEvent with all infos (also fix duplicated handlePollStoppedEvtMsg)
Add answer text to UserRespondedToPollRecordEvent (useful for custom answers)
Add type in PollStartedRecordEvent
2021-05-11 18:37:23 +00:00
Joao Siebel
79c9cd33f2 Merge remote-tracking branch 'upstream/develop' into add-try-catch-on-methods 2021-05-10 12:03:58 -03:00
Anton Georgiev
5e11fb314b
Merge pull request #12256 from Tainan404/filter-bymeetingId
Add filter by meetingId in server queries
2021-05-07 10:36:20 -04:00
Ramon Souza
93d41f3f91 remove unused variables 2021-05-07 08:54:01 -03:00
Joao Siebel
3eea7db9a1 Add try/catch on whiteboard-multi-user methods 2021-05-05 15:53:13 -03:00
Joao Siebel
2e7731ab59 Add try/catch on voice-users methods 2021-05-05 15:05:59 -03:00
Joao Siebel
a8c989645f Add try/catch on video-streams methods 2021-05-05 14:52:50 -03:00
Joao Siebel
bebe218a43 Add try/catch on users-settings methods 2021-05-05 14:22:12 -03:00
Joao Siebel
0643df68cd Add try/catch on users-infos methods 2021-05-05 13:53:28 -03:00
Joao Siebel
519872cf97 Add try/catch on users methods 2021-05-05 13:47:43 -03:00
Joao Siebel
c60ff23c67 Add try/catch on slides methods 2021-05-05 13:17:26 -03:00
Joao Siebel
9f39e119fd Add try/catch on presentations methods 2021-05-05 11:34:36 -03:00
Joao Siebel
e7647ec4ae Add try/catch on presentation-upload-token methods 2021-05-05 11:25:13 -03:00
Joao Siebel
b80a9b177b Add try/catch on polls methods 2021-05-05 11:12:36 -03:00
Joao Siebel
84e1656bce Add try/catch on note methods 2021-05-05 10:41:56 -03:00
Joao Siebel
ed4018149b Add try/catch on meetings methods 2021-05-05 09:58:17 -03:00
Joao Siebel
434408c28c Add try/catch on local-settings methods 2021-05-05 09:27:56 -03:00
Joao Siebel
1f9d6735a0 Add try/catch on guest-users methods 2021-05-05 09:26:21 -03:00
Joao Siebel
169e5abe10 Add try/catch on group-chat-msg methods 2021-05-05 09:13:48 -03:00
Joao Siebel
e352b0913e Add try/catch on group-chat methods 2021-05-04 16:52:05 -03:00
Joao Siebel
ba9c9a8682 Add try/catch on external-videos methods 2021-05-04 16:33:29 -03:00
prlanzarin
d27badcf53 fix(video): annotate ALL streams from an user on floor updates 2021-05-04 18:24:19 +00:00
Joao Siebel
aa0831f9ad Add try/catch on connection-status methods 2021-05-04 15:01:09 -03:00
Joao Siebel
a42d4a9f5d Add try/catch on captions methods 2021-05-04 14:34:31 -03:00
Joao Siebel
8bd9d056f2 Add try/catch on breakouts methods 2021-05-04 13:25:02 -03:00
Joao Siebel
2b21a75007 Add try/catch on annotations methods 2021-05-04 11:38:56 -03:00
Tainan Felipe
20d934a953 Add filter by meetingId in server queries 2021-05-03 09:49:33 -03:00
Ramon Souza
9d590a74d3 remove unused imports 2021-05-03 09:24:07 -03:00
Michael Zinsmeister
a16519d990 Fix percentages in chat polling results 2021-05-01 22:50:56 +02:00
Michael Zinsmeister
5ca831ff86 Merged upstream develop branch 2021-05-01 16:59:20 +02:00
Anton Georgiev
60778bf171
Merge pull request #12100 from jfsiebel/better-upload-feedback
Improve feedback to user after a failed file upload
2021-04-29 13:21:37 -04:00
Anton Georgiev
a717f026e7
Merge pull request #12212 from jfsiebel/enforce-max-length-typed-answer
Add configuration for max length typed answer in poll
2021-04-29 13:20:30 -04:00
Joao Siebel
60f25939c0 Add configuration for max length typed answer in poll 2021-04-29 13:54:39 -03:00
Ramon Souza
3678348fdf remove unused code 2021-04-29 13:52:22 -03:00
Joao Siebel
2f89598d2d Merge remote-tracking branch 'upstream/develop' into better-upload-feedback 2021-04-27 17:46:22 -03:00
Tainan Felipe
3ff065aa5c Fix messages load stuck 2021-04-27 11:57:53 -03:00
Mario Jr
13bb0c8493 fix: match exact deviceId when retrieving mic streams
Needed for firefox for consistently changing microphone using device selector
Refs #12054
2021-04-26 22:08:22 -03:00
Anton Georgiev
db769d081b
Merge pull request #12145 from prlanzarin/u23-seepferdchen
feat(screenshare): add screen bitrate config in bbb-html5
2021-04-26 17:36:23 -04:00
Anton Georgiev
341a268fa1 chore: connection status logs enhancement 2021-04-26 21:19:17 +00:00
Anton Georgiev
2a0bca4890
Merge pull request #12139 from pedrobmarin/connection-status-server-log
chore(connection status): log status change at the server
2021-04-26 16:41:10 -04:00
Ramon Souza
cf596fa0c6 remove sender object from message payload in poll result 2021-04-26 13:17:29 -03:00
prlanzarin
84cbda75a3 feat(screenshare): add screen bitrate config in bbb-html5 2021-04-24 19:12:59 +00:00
Pedro Beschorner Marin
83c813ac6f refactor(connection status): interval and log configuration
Simplify how connection status inteval is configured and make server
log the solo logging option.
2021-04-23 19:15:32 -03:00
Pedro Beschorner Marin
19d6e32229 chore(connection status): log status change at the server
Includes a log at Meteor's addConnectionStatus method to log danger,
critical and recoveries triggers on user's connection status change.
2021-04-23 18:47:56 -03:00
Mario Jr
2f78fc05d2 fix: breakout audio don't use previously selected output device
When joining breakout audio, the output device selected in the main room is
used in breakout.
When returning from breakout rooms, the output audio device previously set in
the main room is restored.

Some specific info:
SIPSession doesn't handle Storage anymore, we do this in SIPBridge, since
it has more info about the current selected device and it doesn't depend of
a session being oppened.
We also now pass the  output device ID when joining audio sessions. We can
then keep this information in the Storage.
Closes #11663
2021-04-23 11:28:30 -03:00
Anton Georgiev
36b67971ee
Merge pull request #12054 from mariogasparoni/fix-12023-and-other-two-fixes
fix: mic selection (firefox/all browsers) and muted alert when mic is changed
2021-04-20 13:40:54 -04:00
Joao Siebel
c5071093d9 Improve feedback to user after a failed file upload 2021-04-20 14:21:12 -03:00
Anton Georgiev
3ebb2cf46d
Merge pull request #12004 from prlanzarin/u23-isitcoldinthewater
video: voice activity video sorting
2021-04-20 09:47:43 -04:00
Ramon Souza
d5d1c86c70 remove unused imports 2021-04-20 09:12:22 -03:00
Anton Georgiev
da2ee3517d
Merge pull request #12057 from ramonlsouza/issue-11998-2
Add delay to userRemove
2021-04-19 14:19:52 -04:00
Ramon Souza
98ad9289ab add inline comment 2021-04-16 16:32:16 -03:00
Ramon Souza
ab8cfe5109 add delay to userRemove 2021-04-16 14:58:53 -03:00
Anton Georgiev
ed19c65fa1
Merge pull request #12011 from ramonlsouza/publish-cursor-userid
Publish cursor using reliable userId
2021-04-16 09:53:59 -04:00
Mario Jr
e8d59ed14a fix: mic selection (firefox/all browsers) and muted alert when mic is changed
This commit contains three fixes: one already reported and two detected
during the investigation of the solution.
This started as a fix for firefox (#12023), but i also fixed the muted
alert/banner when device changes: the banner wasn't detecting device changes,
unless audio was deactived/actived.

There's another fix for the microphone stream: we now keep sender's track
disabled if it was already disabled for the sender's track of the previous
selected device.

Also did small refactor for eslint checking.

Some technical information: in sip bridge (bridge/sip.js), setInputStream and
liveChangeInputDevice function were both fully turned into promises, which
guarantees we have everything ready when it resolves to the respective values.
This helps AudioManager (audio-manager/index.js) to sequentially sets and
tracks the state of the current microphone stream (inputStream), when calling
liveChangeInputDevice function: we first set the current stream to null,
creats a new one and then set it to the newly created value - this is needed
because MutedAlert (muted-alert/component.jsx) can then gracefully
allocate/deallocate the cloned stream when it is set to a non-null/null value
(the cloned stream is used for speech detection with hark).
In MutedAlert we also make sure to enable the cloned stream's audio
tracks, just in case the user change the device when muted (audio track is
disabled in this case), which also leaves the cloned stream muted (we then
enable the track to allow speech detection).

Closes #12023
2021-04-16 10:45:40 -03:00
Ramon Souza
91661acb78 add bars to chat poll results 2021-04-15 15:32:53 -03:00
hiroshisuga
4db28a2824
Fancy random viewer selection (#11297)
* Revert "Delete bbb-icons-ori.woff"

This reverts commit 84937a0d07.

* Revert "Add files via upload"

This reverts commit 391434445a.

* Revert "Delete bbb-icons.woff"

This reverts commit 7c245c666d.

* Revert "Add files via upload"

This reverts commit 6f8c764c4b.

* Revert "Delete tmp.woff"

This reverts commit 5141e65359.

* Revert "Add files via upload"

This reverts commit c8f7b17b04.

* Revert "Create tmp.woff"

This reverts commit 73c4506594.

* Revert "Delete bbb-icons.woff"

This reverts commit 9d01d58527.

* Revert "Revert "Delete bbb-icons.woff""

This reverts commit d221d290cd.

* Revert "Revert "Revert "Delete bbb-icons.woff"""

This reverts commit c415ff02d1.

* Revert "Revert "Delete bbb-icons.woff""

This reverts commit d221d290cd.

* Revert "Revert "Create tmp.woff""

This reverts commit 267dc412d5.

* Revert "Delete bbb-icons-ori.woff"

This reverts commit 84937a0d07.

* Revert "Delete bbb-icons.woff"

This reverts commit 7c245c666d.

* Revert "Add files via upload"

This reverts commit 6f8c764c4b.

* Revert "Add files via upload"

This reverts commit c8f7b17b04.

* Revert "Create tmp.woff"

This reverts commit 73c4506594.

* Revert "Delete bbb-icons.woff"

This reverts commit 9d01d58527.

* Revert "Revert "Delete bbb-icons.woff""

This reverts commit 64a48f2bd6.

* Revert "Revert "Revert "Delete bbb-icons.woff"""

This reverts commit 9d1b4a068a.

* Revert "Revert "Revert "Revert "Delete bbb-icons.woff""""

This reverts commit b60491d933.

* Revert "Revert "Revert "Revert "Revert "Delete bbb-icons.woff"""""

This reverts commit 16e357091d.

* Revert "Revert "Revert "Revert "Revert "Revert "Delete bbb-icons.woff""""""

This reverts commit e0b70f2055.

* Revert "Revert "Revert "Revert "Revert "Revert "Revert "Delete bbb-icons.woff"""""""

This reverts commit 7b1bde97ed.

* Update UsersMgs.scala

* Update selectRandomViewer.js

* Update clearRandomlySelectedUser.js

* Update addMeeting.js

* Update updateRandomViewer.js

* Update component.jsx

* Update container.jsx

* Update component.jsx

* Update container.jsx

* Update styles.scss

* Update en.json

* Update SelectRandomViewerReqMsgHdlr.scala

* code simplification

* in case only one person to be selected

* Update en.json

* Create en.json

* Update en.json

* Update component.jsx

* Update styles.scss

* Update en.json

* Update updateRandomViewer.js

Fix a typo

* Update component.jsx

When the presenter is moved to a viewer, in the modal of ex-presenter "somebody is selected" should be displayed. Before this modification, "somebody is the only viewer" was displayed.

* add a comment

explaining why a condition is needed.

* Update en.json

* Update en.json

* revert (due to the rename UserMgs -> UserMsgs)

* Update UsersMsgs.scala
2021-04-15 11:12:10 -04:00
Ramon Souza
d3ec10f3e2 publish cursor using reliable userId 2021-04-13 14:36:46 -03:00
prlanzarin
001ab9554c video: added voice activity stream sorting, made stream sorting extensible
Video streams can be sorted by voice floor activity in the client according to FreeSWITCH´s floor events. The feature works together with pagination, essentially giving an Last-N like experience while not disrupting too much

Made video stream sorting extensible in a way. The sorting modes for pagination and unbounded can be configured in settings.yml and new sorting modes can be added to the stream sorting util under video-provider. Inline docs explain how to do that

Changed how the stream ID attribute from video-streams collection was passed to downstream components; we had an array map that was executed every change just to map stream to cameraId, which is bizarre. So I changed the cameraId usage in downstream components to be conformat with the collection attributes and shaved off the map where it wasnt needed

Add better selectors to video-list-item container´s VoiceUser fetch
2021-04-12 19:06:07 +00:00
Ramon Souza
086d370428 remove returnless function use 2021-04-09 10:08:59 -03:00
Anton Georgiev
9b4337454c
Merge pull request #11909 from pedrobmarin/update-users-persistent-data
Update users persistent data
2021-04-07 13:26:41 -04:00
Mario Jr
5eced7fe5b fix: dial-in users don't appear in participant's list
Closes #11860
2021-04-06 18:44:54 -03:00
Pedro Beschorner Marin
5cc213d93c Update user persistent data on role change 2021-04-06 16:32:04 -03:00
Pedro Beschorner Marin
ae4a44b713 Refactor logged out status error message 2021-04-06 16:31:16 -03:00
Anton Georgiev
9ec5408c9e
Merge pull request #11847 from ramonlsouza/offline-users-connection
Re-include offline users to the connection modal's users list
2021-04-05 12:10:47 -04:00
Pedro Beschorner Marin
7737241141 Reduce pad's hash size
Etherpad has a limitation of 50 characters for it's pad ids. Although
our SHA1 hash function generates 40 characters length values, after
prefixing (Meteor's instance id) and suffixing (closed captions support)
the pad id we can reach an invalid size.
2021-04-02 13:22:11 -03:00
Mario Jr
951fc0ade8 fix: MEDIA_ERROR when joining room using Firefox
Firefox doesn't create a  device called 'default' and we were trying
to set this when user is joining the room. We don't do this anymore, letting
devices to be changed when there's some user request.

Moved outputDeviceId inputDeviceId information to be managed in bridge
(just like we do with inputDeviceId), we don't store this duplicated
information in audio container anymore.

Fixed the eslint warning in "playAlertSound(url) { ..."

We are safe to let users try to change input/output devices because the
device list is retrieved from enumerateDevices.
2021-04-01 15:53:43 -03:00
Ramon Souza
3be14632de adding meetingId to usersPersistentData 2021-04-01 15:53:03 -03:00
Anton Georgiev
258a1e12ad remove withInstanceId from note/server/helpers 2021-04-01 18:19:44 +00:00
Anton Georgiev
ff45cccd66 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into apr1-merge 2021-04-01 18:11:13 +00:00
Anton Georgiev
2dfb9d6fa7
Merge branch 'develop' into multiple-choice-poll 2021-04-01 12:38:44 -04:00
Ramon Souza
05a0d5afbf move browser info to helper + remove unused libs 2021-04-01 08:14:24 -03:00
Anton Georgiev
6695f7a119
Merge pull request #11813 from mariogasparoni/merge-update-pr-10129
Update and some improvements on PR #10129 - dynamic change audio device
2021-03-30 13:50:30 -04:00
Anton Georgiev
c9d2a17a4f
Merge branch 'develop' into multiple-choice-poll 2021-03-30 13:23:48 -04:00
Anton Georgiev
85a84f7cbf
Revert "Change browser detection library from browser-detect to bowser" 2021-03-30 13:16:10 -04:00
Anton Georgiev
cf6491adc8
Merge branch 'develop' into multiple-choice-poll 2021-03-30 12:49:35 -04:00
Anton Georgiev
027658ac5c
Merge pull request #11806 from ramonlsouza/mobile-detect
Change browser detection library from browser-detect to bowser
2021-03-30 12:28:13 -04:00
Anton Georgiev
87b770fee7
Merge pull request #11807 from jfsiebel/handle-reason-code
Rework banned users
2021-03-30 11:21:56 -04:00
Joao Siebel
c1503a2931 Remove banned users structure and handle reasonCode in validateAuthToken 2021-03-30 10:09:25 -03:00
Ramon Souza
3fa193005b change browser detection lib to bowser 2021-03-30 09:53:47 -03:00
Anton Georgiev
e51f569a8a
Merge pull request #11800 from pedrobmarin/pad-server-refactor
Refactor Etherpad API calls
2021-03-30 06:45:57 -04:00
Mario Jr
60378e8c63 Merge branch 'develop' into merge-update-pr-10129 2021-03-29 19:07:27 -03:00
Mario Jr
cddca95ad1 Fixes and improvements on pr #10129 - dynamic change audio device
Allow listenonly users to change output devices
Fixed dynamic audio device change for firefox
Fixed shortcuts for audio join/leave
Show (with a bold font) the current selected device
[performance] Prevent calling mediaDevices.enumerateDevices every time we render
the selector. This adds a delay (~200ms, on my chrome setup) to render this component
[performance] Do not call enumerateDevices to search for new devices, instead we listen on mediaDevices.deviceChange event
Small refactoring and fixed a few errors that were being throw in browser's console
Fixed device selection when this is done in audio-settings modal
Fallback to default device when current device is removed
Truncate device name length
Renamed "Input","Output" labels to "Microphone","Speakers", respectively
Update eslint rule for accessKey
2021-03-29 18:55:17 -03:00
Mario Jr
cec88c996d Merge remote-tracking branch 'tainan/issue-9723' into merge-update-pr-10129 2021-03-29 18:52:12 -03:00
Pedro Beschorner Marin
1aa7685dcc Refactor Etherpad API calls
Isolate most Pad related functions and secure shared notes and closed
captions creation to only when there is a reachable Etherpad server
configured.
2021-03-29 18:35:33 -03:00
prlanzarin
2e51482c7c audio: make sdpSemantics configurable
Plan B is going to be phased out of Chrome soon and we should be testing it with unified plan
2021-03-29 20:01:33 +00:00
Anton Georgiev
aae72c0547
Merge branch 'develop' into multiple-choice-poll 2021-03-29 11:54:44 -04:00
Anton Georgiev
b836e5f7ca
Merge pull request #11758 from pedrobmarin/connection-status-button
Move connection-status to nav-bar
2021-03-29 11:44:49 -04:00
Pedro Beschorner Marin
280b32d21d Move connection-status to nav-bar
- Removed the connection-status history from the user list's gear
icon and now is opened by the connection-status button. Moderators will
render the same modal as before and viewers will only have access to their
own data.

 - Added data-savings shortcut at the connection-status modal.

 - Added websocket round-trip time.
2021-03-26 10:12:09 -03:00
Anton Georgiev
ded205e196
Merge pull request #11722 from Tainan404/issue-11081
Add collection user persistent data
2021-03-26 08:56:41 -04:00
Anton Georgiev
f1fe98b403
Merge pull request #11734 from Tainan404/remove-props-from-message
Remove `sender.name` and `color` from message payload
2021-03-26 08:40:02 -04:00
Anton Georgiev
f197bde121
Merge pull request #11747 from ramonlsouza/annotations-delay
Retry sending annotations if user information is not available
2021-03-25 10:15:22 -04:00
Ramon Souza
84f5ef9133 check+retry sending annotations if userid is not available 2021-03-25 09:47:57 -03:00
Tainan Felipe
b5e52012ec Remove sender.name and color from message payload 2021-03-24 16:57:09 -03:00
Ramon Souza
6a2496fcb3 Merge remote-tracking branch 'upstream/develop' into improve-poll-function 2021-03-24 14:22:43 -03:00
Anton Georgiev
617e3390e7
Merge branch 'develop' into multiple-choice-poll 2021-03-23 17:06:13 -04:00
Pedro Beschorner Marin
0c4cf0135d Handle pad's events and Meteor's instances
Since Meteor was split in multiple process and events started to be
filtered by instances, all Etherpad's Redis events were being discarded.

Etherpad has a Redis' publisher plugin that is unaware of BigBlueButton's
existence. All the communication between them is kept simple with minimal
of internal data exchange. The concept of distincts subscribers at Meteor's
side broke part of this simplicity and, now, Etherpad has to know which
instance must receive it's messages. To provide such information I decided
to include Meteor's instance as part of the pad's id. Should look like:

 - [instanceId]padId for the shared notes
 - [instanceId]padId_cc_(locale) for the closed captions

With those changes the pad id generation made at the recording scripts had to
be re-done because there is no instance id available. Pad id is now recorded at
akka-apps and queried while archiving the shared notes.
2021-03-23 18:03:50 -03:00
Anton Georgiev
8f3140897d
Merge pull request #11709 from jfsiebel/invalidated-logged-out-user
Prevent logged out user to spam validateAuthToken
2021-03-23 13:52:45 -04:00
Michael Zinsmeister
5fb33d5224 merge upstream develop branch into current 2021-03-23 18:01:11 +01:00
Simon Hirtreiter
07b8946b39 Merge commit develop into multiple-choice-poll 2021-03-23 09:38:45 +01:00
Maxim Khlobystov
5adb3429eb Make typed poll responses grouping case insensitive 2021-03-23 06:30:37 +00:00
Tainan Felipe
ba91dcb17c Implements user persistent data to user context and redo users status logic on chat item 2021-03-22 17:44:53 -03:00
Joao Siebel
4d759ad63c Prevent logged out user tp spam validateAuthToken 2021-03-22 09:37:17 -03:00
Tainan Felipe
e8f4d11446 Add collection user persistent data 2021-03-19 17:12:27 -03:00
Ramon Souza
70ab1f099a show poll question in chat 2021-03-18 13:13:57 -03:00
Anton Georgiev
5284a39323
Merge pull request #11671 from ramonlsouza/poll-chat-escape
Escaping user typed poll results
2021-03-17 16:53:19 -04:00
Anton Georgiev
b1bbc3fd52
Merge branch 'develop' into multiple-choice-poll 2021-03-17 16:11:49 -04:00
Ramon Souza
8a2ddd5b9f escape all <br/> 2021-03-17 11:44:09 -03:00
Ramon Souza
e450173bd0 escaping typed poll response before displaying results in chat 2021-03-17 08:26:12 -03:00
Pedro Beschorner Marin
d90ba5e286 Merge branch '2.3-per-user-wb' into develop 2021-03-16 20:28:39 -03:00
Pedro Beschorner Marin
381c5cb15c Isolated whiteboard access
Modified the previous implementation of the whiteboard individual access to remove
multiple Collections dependency on this feature. Multi-user whiteboard is now an
array instead of a boolean value and most of the access control can be synchronized
and handled by akka-apps.
2021-03-16 19:55:25 -03:00
Michael Z
4d3bda1306
Merge branch 'develop' into multiple-choice-poll 2021-03-16 18:38:48 +01:00
Ramon Souza
ca345de246 add check after extractCredentials is used 2021-03-16 13:15:41 -03:00
Michael Zinsmeister
06707de4f3 Merged upstream develop branch 2021-03-14 22:19:25 +01:00
Michael Zinsmeister
b99bd3be0c Merged upstream develop branch 2021-03-14 22:17:19 +01:00
Pedro Beschorner Marin
defc33a043 Removed callback from setGuestPolicy 2021-03-12 09:22:08 -03:00
Lucas Zawacki
07b51a6bf0 Correctly set guestPolicy to not overwrite userProps 2021-03-12 09:19:53 -03:00
Pedro Beschorner Marin
af64232e45 Change guest policy 2021-03-12 09:19:22 -03:00
Anton Georgiev
3fbb40875f
Merge pull request #11631 from prlanzarin/u23-planZETA
audio: make sdpSemantics configurable
2021-03-12 05:34:10 -05:00
Anton Georgiev
9f841bd64b
Merge pull request #11622 from prlanzarin/u23-ilgiardino
[screenshare] Rewrite SFU/Kurento screensharing bridge (+reconnections|audio sharing|QoL, was #11025)
2021-03-12 05:13:11 -05:00
prlanzarin
f20fb3eef2 audio: make sdpSemantics configurable
Plan B is going to be phased out of Chrome soon and we should be testing it with unified plan
2021-03-12 03:04:55 +00:00
prlanzarin
775cbf4124 screenshare: move end alert sound to a reliable place 2021-03-12 00:44:38 +00:00
prlanzarin
7eb91f9273 Merge branch 'u22-screenshare18102020' of https://github.com/prlanzarin/bigbluebutton-1 into u23-ilgiardino 2021-03-11 18:49:14 +00:00
Anton Georgiev
4f2f0d123d
Merge pull request #11596 from Tainan404/fix-chat-issues
re-implement chat sync and fix stucked loading indicator
2021-03-11 12:29:01 -05:00
Joao Siebel
c9650ba8f1 Inform akka that user intentionality logged out from meeting 2021-03-11 14:32:01 +00:00
Tainan Felipe
87ebdbd02a Merge remote-tracking branch 'upstream/develop' into fix-chat-issues 2021-03-11 10:07:16 -03:00
Anton Georgiev
bbec7efb57
Merge pull request #11593 from pedrobmarin/2.3-lobby-message
Add guest lobby messages
2021-03-10 11:35:35 -05:00
Pedro Beschorner Marin
17f47fa4ea
Removed callback from setGuestLobbyMessage 2021-03-10 09:09:15 -03:00
Tainan Felipe
927e2167bc Re-implements chat sync and clear 2021-03-09 17:52:20 -03:00
Pedro Beschorner Marin
0365018e92 Add guest lobby messages
Moderators are able to send a message to the meeting's guest lobby. This new
event reaches bbb-web and is sent to the guest user with her/his status response
while polling. All guest users that are waiting for acceptance will be able to
read this message.

enableGuestLobbyMessage is disabled by default.
2021-03-09 11:02:25 -03:00
Ramon Souza
826c420788 update meetingEndedBy with information coming from bbb core 2021-03-08 16:45:09 -03:00
Ramon Souza
c9ac737207 display name of the user who ended the meeting 2021-03-08 13:05:33 -03:00
Michael Zinsmeister
def6ed7604 Merge with upstream 2021-03-07 15:29:10 +01:00
Michael Zinsmeister
81d5129084 Merge with upstream 2021-03-07 15:28:39 +01:00
Michael Zinsmeister
214b236701 Merge with upstream 2021-03-07 15:12:49 +01:00
Anton Georgiev
c9bbcebe59
Revert "Add reconnection and sync handler" 2021-03-05 03:53:36 -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
Anton Georgiev
228bad03d5 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into march4-merge 2021-03-04 21:25:47 +00:00
Tainan Felipe
21045abf16 Merge remote-tracking branch 'upstream/develop' into issue-11438 2021-03-04 11:29:01 -03: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
Tainan Felipe
71e0ca9d92 Add sync and reconnection handler 2021-03-02 11:35:26 -03:00
Anton Georgiev
879c54981e
Merge pull request #11447 from antobinary/external-video-sync-lucas-amguirado73
External video events propagated through akka-apps
2021-03-02 08:53:09 -05:00
Anton Georgiev
1268663030 wrap collection modifiers in try-catch blocks 2021-03-02 00:44:49 +00:00
Anton Georgiev
550bf6d282
Merge pull request #11525 from gustavotrott/develop
Adds lastAuthTokenValidatedOn to users
2021-03-01 13:56:16 -05:00
Mario Jr
de05622d19 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). Related
to the feature c451666d52
2021-02-28 17:15:08 -03:00
Pedro Beschorner Marin
540ce10c24 Recording external video events 2021-02-26 00:59:40 +00:00
Lucas Fialho Zawacki
ddc7a974bf Register external video playback events to Redis 2021-02-25 21:58:43 +00:00
Anton Georgiev
aff272cbf3 Merge #7484 into #11447 ExternalVideo recording events 2021-02-25 19:54:22 +00:00
Gustavo Trott
63e00bd7ca Adds lastAuthTokenValidatedOn to users in Akka, send it in ValidateAuthTokenRespMsg pubSub msg, makes Meteor store it as authTokenValidatedTime 2021-02-25 16:52:20 -03:00
Anton Georgiev
0eac03394c remove duplicated logging of pengingAuth 2021-02-22 19:48:14 +00:00
Tainan Felipe
b298bf4384 WIP add timestamp greater than to publisher 2021-02-22 13:35:32 -03:00
Anton Georgiev
740a3a9db9 stop external video if presenter changed 2021-02-21 12:19:01 +00:00
Anton Georgiev
0b6496618c Merge branch 'develop' of github.com:amguirado73/bigbluebutton into external-video-sync-lucas 2021-02-21 11:04:39 +00:00
KDSBrowne
e2156157f5 remove comment 2021-02-21 06:12:38 +00:00
KDSBrowne
babaf1b578 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into 2.3-per-user-wb 2021-02-21 00:04:36 +00:00
Ramon Souza
043fa4bac8 fix user-sent poll result messages 2021-02-19 10:57:11 -03:00
Anton Georgiev
55e8de4357 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into feb18-merge 2021-02-18 20:33:19 +00:00
Anton Georgiev
e966d6c7b6
Merge pull request #11366 from MaximKhlobystov/updating-poll-ui
Updated poll UI: question field and typed responses
2021-02-18 10:32:33 -05:00
Anton Georgiev
49cdf9faef
Merge pull request #11413 from gustavotrott/develop
Include registeredOn date in pubSub user creation messages to replace loginTime creation in Meteor
2021-02-17 16:56:53 -05:00
Gustavo Trott
573bfc107b Remove changes not related to issue 2021-02-17 09:39:36 -03:00
Gustavo Trott
91f4eba678 Replace registeredOn params to Long (timestamp) instead of String (ISO_OFFSET_DATE_TIME) 2021-02-17 09:20:55 -03:00
Anton Georgiev
b2c4244276 Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into 2.3-alpha5-with-split-meteor-roles-10349 2021-02-16 19:55:10 +00:00
Gustavo Trott
12e363eb92 Removes loginTime creation from Meteor and use the registeredOn date created on Akka. Makes Akka send the registeredOn date throught PubSub messages: UserRegisteredRespMsg, GuestsWaitingForApprovalEvtMsg and ValidateAuthTokenRespMsg. 2021-02-16 14:46:30 -03:00
Anton Georgiev
1cedc56504 process only some of CreateMeeting logic in frontends to avoid meeting duplication 2021-02-16 15:12:25 +00:00