Commit Graph

2578 Commits

Author SHA1 Message Date
prlanzarin
1cb412529d feat(webrtc): add EXPERIMENTAL option to disable ICE candidate signaling
ICE lite servers (eg mediasoup) dont need candidates signaled out-of-band; neither does KMS in certain scenarios

Disable their signaling saves us some ticks in bbb-webrtc-sfu and some bandwidth all around
2021-09-24 17:24:06 +00:00
Anton Georgiev
7c11600518
Merge pull request #13266 from mariogasparoni/dynamic-bridges
feat(audio): add bridge configurable scheme
2021-09-22 16:00:46 -04:00
Anton Georgiev
6936f61495
Merge pull request #13261 from Tainan404/chat-improve-performance-develop
Implements CollectionEventsBroker for chat context - develop
2021-09-22 12:21:53 -04:00
Tainan Felipe
543b57dff5 Improve readability 2021-09-22 11:52:01 -03:00
Tainan Felipe
6a480a4946 Implements collection hooks to chat context 2021-09-22 11:51:50 -03:00
Mario Jr
1c08fc852a fix(audio): audio controls crash when ending call during brekout audio transfer
Restored the old behavior when ending breakout rooms while user is in the
breakout audio transfer, which is to the trigger the reconnection to the audio
in the main room.
This behavior could be improved by (instead of reconnecting) transfering user
back to the main room, but this requires some changes in akka-apps/fsesl
which can be treated in a different issue.

Closes #13242
2021-09-21 11:22:05 -03:00
Ramon Souza
a8541eda6e remove linting 2021-09-17 10:38:10 -03:00
Ramon Souza
0ca1b7896e Merge remote-tracking branch 'upstream/develop' into PR-11359 2021-09-17 09:12:43 -03:00
Ramon Souza
de53770d77 fix breakout room multiple invitations 2021-09-15 14:43:51 -03:00
Ramon Souza
58cd6b2241 ensure breakout invitation is sent 2021-09-06 15:54:12 -03:00
Mario Jr
b74e4c6ca5 fix(audio): bridges can be dynamically imported
Added bridge whitelist , to allow bridge modules to be dynamically imported.
2021-09-01 13:22:43 -03:00
Mario Jr
4fcd051223 feat(audio): add bridge configurable scheme
we are now able to switch between audio bridges, by selecting it in
config files.
2021-08-31 15:50:53 -03:00
prlanzarin
9d9ed9ce72 fix(screenshare): propagate media server metadata to screen sharing viewers
Originally the adapter was inferred server side; I removed that
2021-08-31 01:26:39 +00:00
prlanzarin
58a8e99195 feat: add media server configuration via metadata
Applies to video, listen only and screen sharing

New metadata values: media-server-video, media-server-listenonly, media-server-screenshare; parameter is a String
2021-08-31 00:39:45 +00:00
prlanzarin
c57fb0b388 feat(audio): add media server adapter config for listen only in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by listen only; server wide
2021-08-31 00:24:41 +00:00
prlanzarin
86a715dc15 feat(screenshare): add media server adapter config in bbb-html5
Allows configuring, via bbb-html5, which media server adapter will be used by screen sharing; server wide
2021-08-31 00:19:51 +00:00
Gustavo Trott
6970a0ab30
Merge branch 'develop' into learning-dashboard-improvements2 2021-08-30 15:23:04 -03:00
Anton Georgiev
4ecb24b4fa Merge branch 'v2.3.x-release' of github.com:bigbluebutton/bigbluebutton into merge-aug30 2021-08-30 18:11:16 +00:00
Gustavo Trott
b7f14537ed Improvements to Learning Dashboard 2021-08-26 15:21:15 -03:00
Anton Georgiev
34453b8528
fix: Fix log message (LGTM)
Updating string for audio connected audio. Thanks @stweil
2021-08-25 13:17:27 -04:00
Gustavo Trott
cd15f17394 Refactor all references for activity-report renaming to learning-dashboard 2021-08-25 11:38:35 -03:00
Anton Georgiev
e6eebfaa81
Merge pull request #12983 from prlanzarin/u24-fantas
refactor(webcams, screenshare, listen-only): let the server generate subscriber offers
2021-08-24 16:37:44 -04:00
Mario Jr
00e01c1872 add screenshare's peer information to video stats in connection status modal
Added support for getStats in screenshare's service. This works similar
to the getStats for video provider, and the information retrieved from
screenshare is added to the video information for cameras.
2021-08-23 12:36:01 -03:00
Mario Jr
cf366e5090 Get user and audio data, shows it and allows it to be copied to clipboard
Using getStats api and peer information to retrieve upload/download rates
and transport information
2021-08-12 16:39:04 -03:00
prlanzarin
54d04fdb77 refactor(listen-only): let the server generate subscriber offers 2021-08-12 13:45:18 +00:00
prlanzarin
387c453076 refactor(screnshare): let the server generate subscriber offers 2021-08-12 13:45:04 +00:00
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
znerol
5399473f46 Send browser UA string in SIP UA, also add BBB server and client version 2021-04-04 22:21:33 +02: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
Anton Georgiev
f43560d535 Support for backend vs frontend nodejs instances bbb-html5 2021-02-16 03:19:31 +00:00
Anton Georgiev
1476deb268
Merge pull request #11173 from Tainan404/develop+pr10919+pr10838
Chat with adapter and context
2021-02-12 16:35:22 -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
Michael Zinsmeister
c06f7ba82c Improve log message 2021-02-11 11:13:57 +01:00
Michael Zinsmeister
6ad4828955 Merge remote-tracking branch 'upstream/develop' into multiple-choice-poll 2021-02-11 10:12:34 +01: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
Tainan Felipe
e05d8886c6 Handle clear chat and fix clear message 2021-02-10 10:14:30 -03:00
Anton Georgiev
adefc6a20c
Merge pull request #11341 from ramonlsouza/breakout-invitation-settings
Add property to settings.yml to enable/disable breakout invitations to moderators
2021-02-09 15:50:24 -05:00
Joao Siebel
0e79203119 Clear screenshare collection when meeting has ended while screensharing 2021-02-09 14:26:43 -03:00
Joao Siebel
7f4b2789f2 Clear screenshare collection when meeting has ended while screensharing 2021-02-09 13:44:49 -03:00
Pedro Beschorner Marin
c0a7f9cd92 Replace FNV32a pad's id generator with salted SHA1
When managing Etherpad's pads, Meteor makes API calls to initiate the closed captions
and shared notes modules. The pad id was being mapped to a shorter id than the meeting
id because of a Etherpad lenght limitation.

Changed to something less guessable.
2021-02-09 12:59:59 -03:00
Anton Georgiev
3d78045363 Clear meeting-time-remaining collection 2021-02-09 12:44:33 -03:00
Joao Siebel
811d6d3f98 Clear guestUsers, voiceCallStates and whiteboard-multi-user collections on meeting end 2021-02-09 12:44:10 -03:00
Anton Georgiev
6b3c97037f Clear meeting-time-remaining collection 2021-02-09 11:23:51 -03:00
Tainan Felipe
e99825f60a Merge remote-tracking branch 'upstream/develop' into develop+pr10919+pr10838 2021-02-09 10:40:39 -03:00
Joao Siebel
2eb8abcba9 Clear guestUsers, voiceCallStates and whiteboard-multi-user collections on meeting end 2021-02-09 09:30:09 -03:00
Anton Georgiev
e2e0b78d40 Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into split-meteor-roles-on-top-of-2.3-alpha6 2021-02-08 23:39:42 +00:00
Maxim Khlobystov
ff4260dc98 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into updating-poll-ui 2021-02-08 21:41:43 +00:00
Tainan Felipe
3e921ee93b Remove filter for messages before login time 2021-02-08 17:35:16 -03:00
Ramon Souza
a3780209f3 Add property to settings.yml to enable/disable breakout invitations to moderators 2021-02-08 14:40:03 -03:00
Simon Hirtreiter
70fc71cc70 Merge remote-tracking branch 'upstream/develop' into multiple-choice-poll
# Conflicts:
#	bbb-common-message/src/main/scala/org/bigbluebutton/common2/domain/Meeting2x.scala
2021-02-08 17:00:36 +01:00
Pedro Beschorner Marin
d7c0975b61 Fix mobile user-list identification
Added the missing extractCredential method and replaced the old callback strategy
with the new try-catch block.
2021-02-08 09:55:38 -03:00
Michael Zinsmeister
eaa6f0260c Fix poll results and add locale entries 2021-02-08 10:57:39 +01:00
Anton Georgiev
363c801338
Merge pull request #11215 from pedrobmarin/guest-draft
Disable authenticated guests
2021-02-05 16:13:46 -05:00
Anton Georgiev
8c0f0fdd52 Split Meteor roles backend-frontend revisit 2021-02-05 17:47:46 +00:00
Anton Georgiev
5a6f232989
Merge pull request #11285 from ramonlsouza/issue-10454
Changes on webcam skip preview behavior
2021-02-04 13:43:46 -05:00
KDSBrowne
0abdf00a25
Add new join param skip echo test on first join only (#11284)
* add param to force echo test when user joins audio after init

* fix UI stuck on connecting when userdata-bbb_auto_join_audio=false

* fix conditions for joinFullAudioImmediately and joinFullAudioEchoTest | remove old format

* remove extra param in getItem

* recover audioLocked | only set getEchoTest if doesnt exist
2021-02-04 13:42:31 -05:00
Ramon Souza
b1cb4435ee introduce userdata-bbb_skip_video_preview_on_first_join parameter 2021-02-04 15:05:48 -03:00
Simon Hirtreiter
7fde9519d4 modify poll response to use array 2021-02-04 17:54:50 +01:00
Michael Zinsmeister
462f963d08 backend mutiple choice 2021-02-04 16:13:07 +01:00
Simon Hirtreiter
4c2d2d8244 update ui for multiple choice 2021-02-04 15:43:04 +01:00
Simon Hirtreiter
1c4186d7fd update bbb-html5 for multiple choice
Signed-off-by: Simon Hirtreiter <s.hirtreiter@hm.edu>
2021-02-04 14:59:16 +01:00
Tainan Felipe
9cf483d18f Change message getter 2021-02-03 17:49:58 -03:00
Mario Jr
b582b1ca78 Correctly return MediaStream object when calling audio-manager's inputStream
This was missed in recent audio/sip.js changes.
MediaStream is now returned from SIP.js
Related to #10733
2021-01-29 19:05:51 -03:00
Anton Georgiev
09e6ba8dfd Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into merge-Jan30 2021-01-29 20:58:05 +00:00
Joao Siebel
09f5931d65 Keep track of active connection id for users 2021-01-29 17:29:07 -03:00
Anton Georgiev
d122639042
Merge pull request #11239 from jfsiebel/sync-with-active-connections
Synchronize users with active connections
2021-01-29 12:28:07 -05:00
Joao Siebel
68b2752e0d Add flag to enable sync 2021-01-29 14:27:13 -03:00
Mario Jr
f2de2806eb Add setting for enabling/disabling microphone audio filters
As explained in #11143, disabling audio filters is desired in some scenarios.
This basically adds an option for user to disable default constraints.
When user doesn't change this value in Settings > Application, the default
value for each audio constraints is retrieved from settings.yml.
When user changes this value in Settings > Application, audio
filters (AGC, Noise Supression and Echo Cancellation) are all set to
true/false, according to the value selected in the Settings GUI.

To start it simple, we decided to not to add a different setting in the GUI for
each audio contraint. This may be added in the future, though (perhaps in a
dedicated Audio Settings tab)
This is related to #4873
2021-01-29 14:18:15 -03:00
Joao Siebel
8c7c21f936 Sync users in collection with server active connections 2021-01-26 16:22:32 -03:00
Mario Jr
b753ef5d8d Fix wrong path in settings for audio constraints
Using now 'application' instead of old 'audio' path
2021-01-26 14:12:18 -03:00
Anton Georgiev
6c27e815fc Only publish full users to client side, no dummy users 2021-01-26 16:56:28 +00:00
Mario Jr
7858ba94ba Avoid setting empty/undefined constraint
This removes the console warning about invalid constraint
2021-01-25 23:45:27 -03:00
Pedro Beschorner Marin
85ee3b283f Identify mobile users at user list 2021-01-23 21:57:55 -03:00
Pedro Beschorner Marin
0bbef12ac7 Authenticated guests feature controlled at bbb-web properties 2021-01-23 21:48:02 -03:00
Anton Georgiev
45c1ff6e40
Merge pull request #11175 from MaximKhlobystov/select-random-user
Presenter selecting a random viewer
2021-01-22 15:31:00 -05:00
Mario Jr
97c76900cb Add setting for enabling/disabling microphone audio filters
As explained in #11143, disabling audio filters is desired in some scenarios.
This basically adds an option for user to disable default constraints.
When user doesn't change this value in Settings > Application, the default
value for each audio constraints is retrieved from settings.yml.
When user changes this value in Settings > Application, audio
filters (AGC, Noise Supression and Echo Cancellation) are all set to
true/false, according to the value selected in the Settings GUI.

To start it simple, we decided to not to add a different setting in the GUI for
each audio contraint. This may be added in the future, though (perhaps in a
dedicated Audio Settings tab)
This is related to #4873
2021-01-22 16:30:42 -03:00
Joao Siebel
8f36ac3586 Add throttle to startUserTyping function 2021-01-21 13:05:41 -03:00
Joao Siebel
fa0fd8a054 Add configurable process interval for cursor and annotations 2021-01-20 11:36:40 -03:00
Ramon Souza
39b63368e2 Fixes #11116 2021-01-19 17:16:29 -03:00
Maxim Khlobystov
5238dac647 Remove callbacks from update and clear Mongo operations for randomly selecting a user 2021-01-19 01:53:13 +00:00
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
hiroshisuga
f3e8e8e499
comment 2020-12-24 21:12:57 +09: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
hiroshisuga
c6da577c2b
Update sendAnnotationHelper.js 2020-10-28 14:36:10 +09: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