Commit Graph

2754 Commits

Author SHA1 Message Date
Ramón Souza
ed04e10b4b remove user persistent data if chat is cleared 2022-11-21 13:07:30 -03:00
Gustavo Trott
8b7b501ea2
Merge pull request #15589 from danielpetri1/breakout-shared-notes-upload 2022-11-21 08:08:36 -03:00
Gustavo Trott
17a16eced5
Merge pull request #16022 from gustavotrott/presentation-refactor 2022-11-18 16:31:00 -03:00
Daniel Petri Rocha
a53a7e924f Refactor: remove setPresentationExportingProgress; AnalyticsActor log 2022-11-17 20:55:15 +01:00
Gustavo Trott
7781909d50 Removes all references to swf files (used by old flash client) 2022-11-17 10:55:19 -03:00
Daniel Petri Rocha
f6ccf74f9b Merge branch 'v2.6.x-release' into breakout-shared-notes-upload 2022-11-11 15:38:38 +01:00
Daniel Petri Rocha
334b97779b Merge branch 'v2.6.x-release' into capture-notes-toast 2022-11-10 23:01:28 +01:00
Gustavo Trott
50010ea528
Merge pull request #15894 from JoVictorNunes/shared-notes-on-media 2022-11-10 11:44:28 -03:00
Ramón Souza
cdc2bc7e04
Merge pull request #15770 from JoVictorNunes/store-webcam-microphone
improvement: share audio and video setup among different sessions
2022-11-09 10:37:52 -03:00
Gustavo Trott
c9ddd971f5
Merge pull request #15857 from gustavotrott/max-users-improvements
Closes https://github.com/bigbluebutton/bigbluebutton/issues/9354
2022-11-07 21:24:07 -03:00
Joao Victor
f1007fb7b6 Use the new config option from #15413 - A centralized way of defining which storage to use (Session or Local) 2022-11-03 17:57:54 -03:00
Daniel Petri Rocha
f7952fa256 Allow 16 simultaneous exports; remove timeout behavior 2022-11-03 18:09:48 +01:00
Joao Victor
08fac039c8 Merge branch 'v2.6.x-release' into shared-notes-on-media 2022-10-31 11:13:31 -03:00
Gustavo Trott
09697948e1
Merge pull request #15708 from danielpetri1/breakout-upload-ui 2022-10-31 08:29:56 -03:00
Gustavo Trott
ba647cdd08 Handle Pin Shared Notes in akka-apps 2022-10-28 08:10:23 -03:00
prlanzarin
d839b457d9 fix(audio): check for session availability on exitAudio
Mostly benign, but exitAudio/forceExitAudio was throwing an unhandled
error when called on sessions with no active audio because the
underlying bridge methods did not check whether there was an active
session to stop beforehand.
2022-10-27 16:30:11 +00:00
Gustavo Trott
e2f9b19afc Merge remote-tracking branch 'upstream/v2.6.x-release' into max-users-improvements 2022-10-24 22:48:38 -03:00
Joao Victor
33d08b2e2f Remove modifier from method 2022-10-24 10:35:46 -03:00
Joao Victor
4c6050521b feat: pin/unpin shared notes on media area (HTML5 portion) 2022-10-24 10:11:28 -03:00
germanocaumo
835cf4f753 fix(whiteboard): diff shape update + shape permission +
Several improvements to tldraw whiteboard:
 - Only send the shape diff on shape updates (reduce a lot the message traffic)
 - Shape permissions (don't allow others to select/edit unless you are presenter/moderator)
  - This required some changes in akka model
 - Tldraw state patch changes to improve stability with fast updates (fix several crashes)
2022-10-21 14:05:31 +00:00
Daniel Petri Rocha
0a2b4186a2 Merge branch 'v2.6.x-release' into breakout-upload-ui 2022-10-19 19:51:05 +02:00
Daniel Petri Rocha
dd06ce2660 Show UploadingPresentations toast upon breakout notes capture
Displays a "To be uploaded..." toast in the main meeting while the shared notes of breakout rooms are being captured.
2022-10-19 13:36:25 +02:00
Gustavo Trott
80ffb26fff Implements maxUserConcurrentAccesses and change participants count logic 2022-10-17 17:30:53 -03:00
Daniel Petri Rocha
184b1c2169 Merge branch 'v2.6.x-release' into capture-shared-notes 2022-10-08 11:24:22 +02:00
Ramón Souza
6017786a85
Merge pull request #15783 from JoVictorNunes/improved-error-screen-messages
improvement: error screen messages and logs
2022-10-07 16:40:45 -03:00
Joao Victor
e4f5317009 fix: unauthenticated user handling and manual disconnection 2022-10-07 16:21:43 -03:00
Joao Victor
010f1c2964 tweak userLeaving and Base 2022-10-07 10:38:50 -03:00
Joao Victor
912b7cf70c improvement: add setExitReason method 2022-10-07 09:15:00 -03:00
Daniel Petri Rocha
f170bdc19b Merge branch 'v2.6.x-release' into capture-shared-notes 2022-10-06 22:38:21 +02:00
Joao Victor
b77cab92bd fix: log the reason why the user is leaving. --- logout: user requested logout --- disconnection: user is being removed for disconnection reasons 2022-10-06 15:58:41 -03:00
GuiLeme
5ca4a92940 [issue-pdf-100-processing] - resolved conflicts 2022-10-06 09:58:42 -03:00
Gustavo Trott
bbe3ca34a8
Merge pull request #15474 from GuiLeme/apply-toast-shared-notes 2022-10-05 12:02:04 -03:00
Joao Victor
7e8cee7340 improvement: error screen messages 2022-10-05 11:30:12 -03:00
Joao Victor
6781602420 improvement: store audio setup 2022-10-03 11:03:14 -03:00
Daniel Petri Rocha
234e36f462
Merge branch 'v2.6.x-release' into breakout-upload-ui 2022-10-03 11:05:23 +02:00
GuiLeme
362371834a Merge remote-tracking branch 'upstream/v2.6.x-release' into issue-pdf-100-processing 2022-09-30 10:34:23 -03:00
Daniel Petri Rocha
289f4125ec Perform captured pad upload 2022-09-28 19:56:29 +02:00
germanocaumo
d770a7df8c fix(whiteboard): only call annotation upsert in one frontend instance
We were calling upsert in the Annotations collection for the same annotation in all frontend instances, this could lead to the same annotation being inserted
multiple times with different ids due to concurrency.

Added the html5InstanceId of the original request to the redis message so we can use it to only call upsert in one instance.
2022-09-28 12:03:59 +00:00
GuiLeme
9495e9ae01 [apply-toast-shared-notes] - fix shared-notes display wrong information when clicking the confirm button 2022-09-27 10:05:27 -03:00
Daniel Petri Rocha
76b24e1ec3 Route padId to bbb-export-annotations 2022-09-24 22:59:29 +02:00
GuiLeme
633a032fd0 [issue-pdf-100-processing] - implemented retry flow and fixed error message 2022-09-22 16:58:37 -03:00
Daniel Petri Rocha
e23d00004f 'Capture Shared Notes' button in front-end 2022-09-20 17:43:13 +02:00
Daniel Petri Rocha
c84c2e2892 Merge branch 'v2.6.x-release' into breakout-upload-ui 2022-09-19 19:30:18 +02:00
GuiLeme
d7c5ab3623 [apply-toast-shared-notes] - error messages wait until user closes them and added timeout to toast 2022-09-16 17:36:23 -03:00
prlanzarin
0f24e5634d fix(audio): bypass overconstrained errors in SFU-based audio 2022-09-15 20:42:43 +00:00
prlanzarin
b3eebbb926 fix(audio): retry gUM without pre-set deviceIds on OverconstrainedError(s)
There are some situations where previously set deviceIds (
local/session storage) may become stale. This causes an unexpected
behavior where audio is temporarily borked until the user clears their
local storage.
This issue has been seen more recently on Safari endpoints when switching
back-and-forth breakout rooms in environments running under iframes.
Also seen randomly on endpoints with virtual input devices.

This centralizes audio gUM calling into a single method that retries the
gUM procedure without pre-set deviceIds only if the initial call fails
due with an OverconstrainedError - hopefully circumventing the issue.
2022-09-15 19:25:30 +00:00
Gustavo Trott
14453a43f9 Include alerts when client lose connection with server 2022-09-14 22:16:27 -03:00
GuiLeme
39b6359441 [issue-pdf-100-processing] - fix timeout error when PDF is too complex. 2022-09-14 10:33:41 -03:00
Ramón Souza
ce539ec44a rename external upload parameters 2022-09-12 11:04:13 -03:00
Paulo Lanzarin
9c4707b56d
Merge pull request #15582 from prlanzarin/u26/refactor/mic-inout-logs-26
fix(audio): review in/out device management and switching
2022-09-09 09:22:40 -03:00
Daniel Petri Rocha
f1690247fd Include capture checkbox in bbb-html5 2022-09-05 19:27:38 +02:00
Daniel Petri Rocha
16b3d43f19 Initial back-end wiring for breakout slides capture 2022-09-04 22:34:04 +02:00
GuiLeme
2dec0f051b [apply-toast-shared-notes] - resolving conflicts 2022-09-02 16:08:24 -03:00
GuiLeme
80a381c87c [apply-toast-shared-notes] - resolved conflicts and refactored temporaryPresentationId's name 2022-09-02 15:24:29 -03:00
Gustavo Trott
f7f20f3e2e
Merge pull request #15251 from ramonlsouza/issue-15001 2022-09-02 09:44:10 -03:00
Anton Georgiev
85a9138ac6
Merge pull request #15618 from ramonlsouza/breakout-fix-26
fix: adjust breakout publisher
2022-08-30 20:28:33 -04:00
Ramón Souza
470f491352
Merge pull request #15583 from germanocaumo/tldraw-viewbox-sync
fix(tldraw): sync viewed area between presenter/viewers +
2022-08-30 17:00:14 -03:00
Ramón Souza
ee6eb01d04 adjust breakout publisher 2022-08-30 16:24:01 -03:00
Ramón Souza
e7107f87a7
Merge pull request #15598 from ramonlsouza/merge-2526-aug25
chore: Merge v2.5.5 into v2.6
2022-08-29 15:58:53 -03:00
Ramón Souza
033a23e336 restore needed imports 2022-08-26 14:30:40 -03:00
Ramón Souza
62f8ab3cb2 Merge remote-tracking branch 'upstream/v2.6.x-release' into pr-15460-aug26 2022-08-26 14:05:45 -03:00
Ramón Souza
609d43157a Merge tag 'v2.5.5' into merge-2526-aug25 2022-08-25 14:33:44 -03:00
prlanzarin
bf802ced4c fix(audio): check if backup stream exists before trying to clean it up 2022-08-25 17:14:41 +00:00
Daniel Petri Rocha
94fc8a4d41 Toast messages in front-end 2022-08-24 17:03:34 +02:00
prlanzarin
36bce51363 refactor(audio): remove unused imports from sip.js bridge 2022-08-24 13:28:32 +00:00
prlanzarin
89e814d570 fix(audio): centralize device change code, add rollbacks, surface errors
There's no rollback procedure in case a device switch fails right now,
nor does the code entrypoints that call the switching procedures wait
for resolution or failure before marking the new device as chosen. That
may cause inconsistent states in a couple of ways:
  - No rollback: switch fails, audio is still on but no actual
    microphone input is being transmitted
  - Not waiting for resolutions: inconsistent chosen devices on failures
Device switching errors are also not surfaced to the end user

This commit:
  - Adds device rollback and proper resolution/failure response
    awaits to try and make the state a bit more consistent.
  - Centralizes the input device switching code to be reused between
    different bridges
  - Centralizes device ID state management in audio-manager to try and
    mantain them a bit more consistent across the board
  - Surface device switching failures to the end user
  - Guarantee device IDs are set to the session storage on all
    appropriate scenarios
2022-08-24 13:28:27 +00:00
GuiLeme
d9de398d90 [fix-page-count-exeed] - Forwarded temporaryPresentationId to front-end and refactor it's name 2022-08-22 15:00:27 -03:00
germanocaumo
c948f39392 Merge branch 'v2.6.x-release' of https://github.com/bigbluebutton/bigbluebutton into tldraw-viewbox-sync 2022-08-22 15:47:51 +00:00
germanocaumo
7bf8668f23 Merge branch 'v2.6.x-release' of https://github.com/bigbluebutton/bigbluebutton into tldraw-viewbox-sync 2022-08-18 18:41:27 +00:00
prlanzarin
325eb03696 fix(webcam): properly flatten videoStream on meteor sync call 2022-08-17 16:04:02 +00:00
germanocaumo
d4b8bdce7e fix(tldraw): sync viewed area between presenter/viewers +
- Return to the ResizeAndMoveSlide event to do pan&zoom, respecting the viewed width and height ratio
- Defaults zoom in toolbar to 100% like before to be more consistent
- Fit to width and Reset Zoom is back (fit tho width still has some sync problems)
- Fix to not change to first page when presenter reloads page
2022-08-16 12:12:43 +00:00
prlanzarin
0e162f1cda feat: configurable DSCP marking for WebRTC media
RTCRTPSender exposes DSCP marking via `networkPriority` in the encodings
configuration dictionaries. That should allow us to control
QoS priorities for different media streams, eg audio with higher network
priority than video. The only browser that implements that right
now is Chromium.

To use this, the public.app.media.networkPriorities configuration in
settings.yml. Audio, camera and screenshare priorities can be controlled
separately. For further info on the possible values, see:
  - https://www.w3.org/TR/webrtc-priority/
  - https://datatracker.ietf.org/doc/html/rfc8837#section-5
2022-08-15 21:24:05 +00:00
GuiLeme
491380096e [apply-toast-shared-notes] - changes in review and resolve merge conflict 2022-08-11 15:50:06 -03:00
GuiLeme
c65def5a0f [apply-toast-shared-notes] - ajustments to maintain flow 2022-08-10 11:57:53 -03:00
GuiLeme
93b51ded53 [apply-toast-shared-notes] - Finished separation of the component 2022-08-08 17:42:06 -03:00
GuiLeme
1e0700b455 [apply-toast-shared-notes] - merge 26 and resolved conflicts 2022-08-03 11:12:55 -03:00
GuiLeme
74caa9cb5f [apply-toast-shared-notes] - Savepoint - Made some changes 2022-08-02 17:25:15 -03:00
Daniel Petri Rocha
3529fe9f28 Rename parameters; hide download button and label when disabled 2022-08-02 15:53:40 +02:00
Gabriel Porfirio
8198953f30 removing unused imports 2022-07-28 16:50:31 -03:00
Ramón Souza
ccce085aed Merge remote-tracking branch 'upstream/v2.6.x-release' into issue-15001 2022-07-27 09:49:19 -03:00
Gustavo Trott
acb0465266
Merge pull request #15412 from JoVictorNunes/export-presentation 2022-07-26 17:49:09 -03:00
Daniel Petri Rocha
6ac3040d4a Fix multiple pres. export; include PresId in NewPresAnnFileAvailable msg. 2022-07-26 15:19:23 +02:00
Joao Victor
07434d238c refactor: toast notification rework 2022-07-25 18:56:26 -03:00
Joao Victor
24e78a1864 fix: 1 minute threshold for each slide 2022-07-25 10:33:23 -03:00
Joao Victor
e32eeec9a2 improvement: query selector 2022-07-25 09:35:08 -03:00
Joao Victor
9f0999f623 fix: rename exported presentation default filename 2022-07-25 09:19:39 -03:00
Joao Victor
e3062f2da7 fix: increase exporting threshold to 1 minute 2022-07-21 16:40:52 -03:00
Joao Victor
2f623a2731 fix: better log message when setting exporting status 2022-07-21 16:39:19 -03:00
Paulo Lanzarin
34a3c2be49
Merge pull request #15408 from prlanzarin/u26/fix/audio-reconn-stuck
refactor(audio): log VoiceUser cleanup on User remove and centralize it
2022-07-21 15:06:41 -03:00
Joao Victor
854dcf5a93 fix: use Meteor bindings for both setTimeout and clearTimeout 2022-07-21 10:49:36 -03:00
Gustavo Trott
59ddf3e8e3 broadcast NewPresAnnFileAvailableMsg to html5 2022-07-20 20:20:32 -03:00
Pedro Beschorner Marin
51eeb092b3 refactor(captions): configurable languages
Move the language collection to the HTML settings file. This data defines
the available languages available for the speech API.

These language tags are used to filter SpeechSynthesis' API `getVoices`
result. Tags must use BCP 47 format.

https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisVoice/lang
2022-07-20 17:20:52 +00:00
Pedro Beschorner Marin
b52c67d7a7 feat(captions): first pass on recording
Add the main server-side adapter for using the legacy closed captions
recording process with the audio captions data.
2022-07-20 17:20:52 +00:00
Pedro Beschorner Marin
fb48e61d6d feat(captions): add talking indicator feedback
Inform other users about who are the current talkers with the speech
recognition enabled.
2022-07-20 17:20:51 +00:00
Pedro Beschorner Marin
307ab6ea40 feat(captions): add author avatar
Include captions' author avatar at the live feedback to improve identification.
2022-07-20 17:20:50 +00:00
Pedro Beschorner Marin
75969ec93c feat(captions): audio captions app
Add a server-side app for the audio captions feature and record proto-events
for this data.

As it is, only behaves as a pass-through module. The idea is to include all
the business intelligence in this app.
2022-07-20 17:20:48 +00:00
Pedro Beschorner Marin
944edf2ccf feat(captions): web speech prototype
Hardcoded pt-BR prototype for closed captions generated by the browser's
WebSpeech API.
2022-07-20 17:20:48 +00:00
prlanzarin
d23189d1ed refactor(audio): log VoiceUser cleanup on User remove and centralize it
There's a VoiceUser cleanup procedure bound to the User's cleanup
routine in Meteor's server-side. That cleanup is _silent_ and does not
use a dedicated modifier from voice-user et al, which is not
straightforward and might waste a few minutes of understanding what's
happening when debugging audio collections.

This commit centralizes that cleanup in a new clearVoiceUser modifier in
voice-user as well as logs when it works.
2022-07-20 12:13:37 +00:00
Joao Victor
cff1c087a8 feat: front-end support for exporting presentations with annotations 2022-07-19 16:36:00 -03:00
Paulo Lanzarin
a156db25e4
Merge pull request #15358 from frankemax/fix-audio-infinite-joining
fix(audio): prevent race condition when joining audio
2022-07-15 15:24:14 -03:00
Paulo Lanzarin
383fe89653
Merge pull request #15364 from prlanzarin/u26/refactor/kutils-kboom
refactor: remove kurento-utils-js
2022-07-15 14:53:10 -03:00
Ramon Souza
db5ac1428a Merge tag 'v2.5.3' into merge25-26-jul14 2022-07-15 11:08:02 -03:00
prlanzarin
45049cbd65 refactor: swap kurento-utils for new peer wrapper in screen sharing and audio 2022-07-15 14:00:12 +00:00
Max Franke
70bf69182a fix(audio): prevent race condition when joining audio
Sometimes the handler that listens for the state change in the callState is
not updated correctly.
In these rare cases, the state of the callstate changes directly to in_conference,
not taking the expected path: call_started -> in_echo_test -> in_conference
2022-07-11 14:09:43 -03:00
germanocaumo
217fd6c06e fix(tldraw): wrong initial/viewer zoom
Fixes a case when the presentation is just uploaded and a wrong initial zoom was set.
Also fix viewer zoom not correclty adjusting to the area size when zoomed out.
2022-07-08 15:06:00 +00:00
Ramón Souza
16d871bdb5
Merge pull request #15174 from ramonlsouza/fix-poll-results-chat
fix: wrong poll results displayed in the chat when answers are grouped
2022-07-06 14:42:28 +01:00
Gustavo Trott
807f0286c9
Merge pull request #14786 from paultrudel/recording-api-changes 2022-06-30 15:57:23 -03:00
Paulo Lanzarin
240bb9e1cb
Merge pull request #15292 from prlanzarin/u26/fix/audio-undef-broker-onstop
fix(audio): check if broker exists before trying to stop
2022-06-29 15:42:05 -03:00
prlanzarin
f026c397d9 fix(audio): check if broker exists before trying to stop
There are scenarios where the full audio broker (SFU) stop  procedure
may be called multiple times in a very short timestamp - eg a concurrent
stop + connection failure; a timeout in the transfer procedure + a
reconnect attempt, [...]. When that happens, calls to exitAudio may throw
errors if the broker was already released - and that's not the expected
behavior.
2022-06-29 17:44:52 +00:00
prlanzarin
602238b84e refactor(audio): remove caller ID from fullaudio bridge start request
The callerId is assembled server-side as of bbb-webrtc-sfu
v2.9.0-alpha.3 based on the work done in commit
d940bff541b6fe3c4976428ca471457bc67ac97e.
2022-06-28 20:33:36 +00:00
mvasylenko
a2164e45d9 fix for issue #15209
Some slides of presentation not selectable if image is embedded
2022-06-28 09:10:18 -03:00
Ramon Souza
45dae6953d external upload area in presentation upload modal 2022-06-24 13:47:17 -03:00
Anton Georgiev
4402f20c34 chore: Merged BBB 2.5.2 into v2.6.x-release 2022-06-22 16:11:48 +00:00
mvasylenko
e0784b9c18
fix for issue #15209
Some slides of presentation not selectable if image is embedded
2022-06-20 15:50:49 +02:00
Ramon Souza
edeb70de0d Merge tag 'v2.5.1' into merge25-26-jun16 2022-06-16 13:58:54 -03:00
Ramon Souza
69eba762d3 fix grouping of poll results in chat 2022-06-13 13:08:44 -03:00
gabriellpr
79ed1d289b Swap version of bbb-diff npm dependency 2022-06-03 14:00:44 -03:00
Ramón Souza
f6b190aaa8
Merge pull request #15078 from lfzawacki/develop-layout
fix(layout): Fix propagation bugs and allow moderators to set the pushLayout flag
2022-06-02 19:48:07 +01:00
Ramón Souza
66286bf40d
Merge pull request #15080 from schrd/issue-14969
Fix: voice users not removed from participants list
2022-05-27 13:27:08 +01:00
Daniel Schreiber
9493929fec Fix: voice users not removed from participants list
`removeUser` was called with wrong parameters
2022-05-25 14:16:58 +02:00
Lucas Zawacki
cd13446c5a fix(layout): Moderators could not change layout if pushLayout was true 2022-05-24 17:31:35 -03:00
Ramón Souza
211953b242
Merge pull request #15013 from ramonlsouza/multi-tab-fix
fix: prevent user join from multiple tabs with same sessionToken
2022-05-23 14:31:53 +01:00
germanocaumo
6d4bd1e77c fix typo 2022-05-20 17:25:41 +00:00
germanocaumo
0bfda4bc53 fix persist of other tldraw shape operations (including groups and copy/paste) +
fix shape not persisting when other user than the owner changed it
2022-05-20 17:14:32 +00:00
KDSBrowne
8e612ee6db remove orphan console log 2022-05-20 12:42:39 +00:00
germanocaumo
dc56b969ed fix viewer crash when there is no presentation + some cleanup 2022-05-20 12:12:58 +00:00
germanocaumo
3a156ace07 fix camera zoom bugs and mantain zoom when switching slides 2022-05-19 17:24:47 +00:00
Ramon Souza
8986fe2853 prevent disconnect in same tab 2022-05-17 13:09:41 -03:00
Ramon Souza
5bddbdb4cf adjustments 2022-05-17 09:39:15 -03:00
Ramon Souza
3800065380 remove chat name 2022-05-13 17:44:41 -03:00
Ramon Souza
5397498746 prevent user join from multiple tabs with same sessionToken 2022-05-13 16:18:51 -03:00
KDSBrowne
5033898fe9 remove lockfileVersion and duplicate method 2022-05-13 02:47:41 +00:00
germanocaumo
45febec644 panAndZoom through akka + some cleanup 2022-05-13 02:47:41 +00:00
germanocaumo
cee766d1b6 cursor updates through akka 2022-05-13 02:47:40 +00:00
germanocaumo
234b2869e5 WIP: tldraw in akka-model & starting cleanup 2022-05-13 02:47:39 +00:00
KDSBrowne
10c8d3759d hack adding pres slide images and page switching 2022-05-13 02:43:40 +00:00
KDSBrowne
5cb29535f7 embed Tldraw into BBB client 2022-05-13 02:21:35 +00:00
prlanzarin
53570deb86 fix(screenshare): make viewers reconnect immediately mid-call
If a viewer session failed mid-call, it was being scheduled for a reconnect via
the min-max connection timers (30s-60s), which is terrible UX.

This commit makes screen sharing viewers try to reconnect immediately when
appropriate.
2022-05-10 14:35:59 +00:00
prlanzarin
d45aecdbcc fix(screenshare): remove broken presenter screen reconnect
Outbound/presenter screen sharing reconnect was broken from inception, so it's
being removed until it´s properly re-implemented.

This also fixes an issue where presenter disconnections would be silent for the
end user - now an error toast is shown and the error properly logged.
2022-05-10 14:35:59 +00:00
prlanzarin
98ec11c9b5 fix(screenshare): properly reset connection attempts on stop
Fixes an issue where subsequent failures might lead to wrong error codes being
reported;

Splits the screen sharing bridge stop method into a reconnect-safe version and
a public one - should also address some quirks with inbound stream reconnection.
2022-05-10 14:22:45 +00:00
Paulo Lanzarin
ae6ea67699
Merge pull request #14973 from prlanzarin/u26-wasserwelt-technik
fix(screenshare): guarantee local stream is cleaned up
2022-05-10 11:13:14 -03:00
Paulo Lanzarin
2ad4d08bab
Merge pull request #14972 from prlanzarin/u26-tenebrous-suite
fix(screenshare): race condition - local stream ends while broker starts
2022-05-10 11:01:59 -03:00
prlanzarin
83e26b7f63 fix(screenshare): race condition - local stream ends while broker stars
There could be a race condition where the local getDisplayMedia stream ends
(eg via Chrome`s stop sharing toast) while the broker hasn't finished starting.
That would lead to a scenario where the broker wouldn't emit an end event,
causing screen sharing to be flagged as started with a blank/invalid stream.
2022-05-09 18:00:30 +00:00
prlanzarin
68f090fbe5 fix(screenshare): guarantee local stream is cleaned up
There could be a scenario where the local gDM stream wasnt cleaned up;
eg.: SFU is offline.

This commit guarantees all tracks from the local stream are stopped.
2022-05-07 16:50:41 +00:00
prlanzarin
e93176238a feat(audio): add sipjsAllowMdns option to control mDNS filtering in SIP.js
FreeSWITCH has mDNS resolution capabilities as of 1.10.7. Having the filtering
configurable in the client allows us to field trial whether we should keep that
on or off. The default is still to filter them out because FreeSWITCH does not
resolve mDNS candidates by default (ice_resolve_candidate in switch.conf.xml).
2022-05-06 13:38:44 +00:00
Mario Junior
dced094ad7
Merge pull request #14833 from lfzawacki/develop-bbb
New Layout code and push layout states for camera position, size, focus and presentation minize
2022-05-04 16:51:06 -03:00
prlanzarin
f5a2c4c8e7 fix(audio): fix change output device error log
this.user.callerIdName doesnt exist; error was logged as in its raw form (wrong)
2022-05-03 14:51:30 +00:00
prlanzarin
6a0e0a87c2 fix(audio): abide to signalCandidates configuration flag 2022-05-02 13:49:47 +00:00
Lucas
2db9a1b343
Merge branch 'develop' into develop-bbb 2022-04-26 15:08:43 -03:00
prlanzarin
ccc95583ee refactor(audio): restore trickle candidate filtering in new audio bridge
+ better error handling, log messages for that code
2022-04-25 16:45:18 +00:00
prlanzarin
1decc5d343 fix(audio): respect public.media.listenOnlyOffering in new audio bridge 2022-04-25 16:22:49 +00:00
prlanzarin
459e1a9514 refactor(audio): remove old listen only bridge (kurento.js)
- Remove the old listen only bridge (kurento.js), superseded by the equivalent
  and equally stable (AS FAR AS LISTEN ONLY IS CONCERNED) sfu-audio-bridge
  - Rename FullAudioBridge.js -> sfu-audio-bridge.js
    * A more generic name that better represents the capabilities and
      the nature of the bridge
    * The bridge name identifier in configuration is still the same
      ('fullaudio')
  - Remove the FreeSWITCH listen only fallback
  - Temporarily disable the "trickle ICE" pair gathering feature used
    in SIP.js (which was always experimental, nonstandard and disabled
    by default)
  - Updates to settings.yml keys in places where relevant
2022-04-20 20:46:32 +00:00
prlanzarin
6fd6a52d47 fix(audio): prevent uncaught rejections in the experimental audio bridge startup 2022-04-20 17:40:06 +00:00
prlanzarin
1e80d050b7 refactor(audio): generic use of sfu audio broker to cover mic and listen only 2022-04-20 17:26:52 +00:00
prlanzarin
d125b34117 refactor(audio): address linter warning in FullAudioBridge.js 2022-04-19 19:18:04 +00:00
prlanzarin
3f03a94d29 fix(audio): use correct media server in listen only via fullaudio bridge 2022-04-19 19:16:22 +00:00
Arthurk12
cff605e996 feat(webcam): pin multiple cameras simultaneously
Adds support for multiple cameras pins.
The pinned cameras are stored in a FIFO-type queue
When a camera is pinned the oldest one is removed.
The queue size can be set via create parameter 'maxPinnedCameras',
if not defaults to 3.
2022-04-18 20:17:58 +00:00
Anton Georgiev
9a8264ec6c
Merge pull request #14736 from prlanzarin/u25-wave-idea3
feat(audio): local echo test and audio energy meter
2022-04-14 17:07:28 -04:00
Pedro Beschorner Marin
a21de5e5b7 fix(layout): enforce data type
Make sure the broadcasted payload data matches the message body's data
types.
2022-04-14 19:40:19 +00:00
Lucas Zawacki
7a5086cde8 fix(layout): Remove stray code from merge and fix indentation 2022-04-14 19:22:21 +00:00
Lucas Zawacki
378d0f18a0 Merge branch 'develop' of https://github.com/bigbluebutton/bigbluebutton into develop-bbb 2022-04-14 18:48:02 +00:00
Anton Georgiev
3ce6dbf997
Merge pull request #14665 from JoVictorNunes/breakout-update
feat: move users among breakouts
2022-04-14 08:22:49 -04:00
Lucas Zawacki
83847a21aa Merge branch 'v2.5.x-release-Layouts' of github.com:lfzawacki/bigbluebutton into develop-bbb 2022-04-13 21:08:32 +00:00
Anton Georgiev
aaef76cd2e Merge branch 'v2.5.x-release' of github.com:bigbluebutton/bigbluebutton into merge-25-dev 2022-04-13 20:58:02 +00:00
Gustavo Trott
725bed6797 Small fixes 2022-04-13 14:22:02 -03:00
Gustavo Trott
ecbfee26db Missing parts 2022-04-12 13:56:54 -03:00
Anton Georgiev
96c2fc9d86
Merge pull request #14734 from JoVictorNunes/issue-14721
fix: link sanitizing in welcome message
2022-04-12 10:36:59 -04:00
Gustavo Trott
77a8aba1f5 Merge remote-tracking branch 'upstream/develop' into breakout-updated 2022-04-12 09:54:25 -03:00
Gustavo Trott
102eee3ba5 Backend portion of breakout Manage Users 2022-04-12 09:50:19 -03:00
prlanzarin
f4ba6dd9a2 refactor(audio): use preloaded audio stream if provided
Avoids a surplus gUM with local echo test et al
2022-04-11 22:29:20 +00:00
prlanzarin
0d85905c83 fix(audio): centralize default in/out device id definitions, make them an empty string
"default" is not an universally valid default value for deviceIds which was causing issues with Firefox and Safari in some specific scenarios where exact deviceId constraints were being used
2022-04-11 19:23:32 +00:00
Anton Georgiev
1500fb6a29 Merge branch 'v2.5.x-release' of github.com:bigbluebutton/bigbluebutton into merge-25-dev 2022-04-09 00:55:25 +00:00
Anton Georgiev
33575e60e6 Merge branch 'develop' of github.com:bigbluebutton/bigbluebutton into v2.5.x-release 2022-04-09 00:48:14 +00:00
Anton Georgiev
3afb57fa66
Merge pull request #14788 from ramonlsouza/merge-2425-apr08
chore: Merge 2.4 into 2.5
2022-04-08 20:37:32 -04:00
Ramon Souza
1c873bd8d6 Merge remote-tracking branch 'upstream/v2.4.x-release' into merge-2425-apr08 2022-04-08 17:30:21 -03:00
germanocaumo
cacba3c7e7 feat(html5): add meteor rtt as prometheus metric 2022-04-08 14:27:35 +00:00
Joao Victor
9a674c0df8 Merge remote-tracking branch 'upstream/develop' into breakout-update 2022-04-06 11:25:39 -03:00
Joao Victor
0e29c1fdc3 Fix link sanitizing in welcome message. 2022-04-04 17:34:16 -03:00
Ramon Souza
06da4e5e0d fix errors caused by develop merge 2022-04-04 16:52:43 -03:00
Ramon Souza
4c328bc4ea Merge remote-tracking branch 'upstream/develop' into issue-14382 2022-04-04 16:25:50 -03:00
Anton Georgiev
324388aa8e
Merge pull request #14016 from Tainan404/wip-new-msg-userLeftFlag
refactor: add msg userLeftFlag
2022-04-04 14:08:40 -04:00
Tainan Felipe
159a09be49 Small adjustments 2022-04-04 14:26:00 -03:00
Gustavo Trott
73977036cc Remove garbage 2022-04-01 17:30:39 -03:00
Gustavo Trott
839aeb2685 Remove UserEjectedFromMeetingEvtMsg occurrences 2022-04-01 17:11:28 -03:00
Anton Georgiev
72d37d799b
Merge pull request #14703 from ramonlsouza/pr-issue-14493
refactor: Add server side notification
2022-04-01 09:23:22 -04:00
Anton Georgiev
2a131086a7 Merge branch 'v2.5.x-release' of github.com:bigbluebutton/bigbluebutton into merge-25 2022-03-31 15:32:14 +00:00
Anton Georgiev
74db3a630b
Merge pull request #14658 from ramonlsouza/issue-14655
fix: Clear chat button is not working
2022-03-31 11:17:22 -04:00
Ramon Souza
b9a76feb18 use Meteor Random.id() for id generation 2022-03-31 11:43:58 -03:00
Anton Georgiev
bb92689904
Merge pull request #14601 from ramonlsouza/lgtm-mar15
refactor: remove unused imports/variables
2022-03-31 10:14:48 -04:00
Ramon Souza
0794f5188b Merge remote-tracking branch 'upstream/develop' into lgtm-mar15 2022-03-31 09:21:59 -03:00
Anton Georgiev
478605b6b0 Merge branch 'v2.5.x-release' of github.com:bigbluebutton/bigbluebutton into merge-25-develop 2022-03-30 18:19:28 +00:00
Ramon Souza
6874156190 add messageDescription in notifications 2022-03-30 11:01:12 -03:00
Ramon Souza
41778cb959 filter all messages by meetingId 2022-03-30 10:15:47 -03:00
Anton Georgiev
fc688f2038 Merge branch 'meteor-261' of github.com:ramonlsouza/bigbluebutton into meteor-261 2022-03-29 20:27:26 +00:00
Ramon Souza
4da4b8d7a9 Merge remote-tracking branch 'upstream/develop' into pr-issue-14493 2022-03-29 17:27:20 -03:00
Gustavo Trott
35ecbdbf80 Wait for user removal before kill connections 2022-03-29 16:08:34 -03:00
Guilherme Leme
c6653cd4b2 [Issue-14321]- Changes in Review 2022-03-25 14:12:10 -03:00
Ramon Souza
68f55b8c7b Merge remote-tracking branch 'upstream/develop' into issue-14382 2022-03-25 09:21:15 -03:00
Joao Victor
923e52a03a fix conflicts 2022-03-24 11:16:12 -03:00
Joao Victor
0ea405b67f feat: allow for moving users among breakouts + modal design updates 2022-03-24 10:56:07 -03:00
Ramon Souza
3c2c5a8080 fix clear chat 2022-03-23 17:11:01 -03:00
Anton Georgiev
351b7126c7 Merge branch 'v2.5.x-release' of github.com:bigbluebutton/bigbluebutton into develop 2022-03-23 15:11:47 +00:00
Lucas Zawacki
21703d9662 fix(layout): Fix propagation of layout type, simplify code 2022-03-22 19:13:52 +00:00
Gustavo Trott
a6c3af7b0f Add disabledFeatures=virtualBackgrounds 2022-03-22 16:01:27 -03:00
Arthurk12
eacce4ee46 fix(layout): camera resize when pushing
Adds isResizing property to LayoutMeetings collection.
Moves the point where the last camera dock size is stored from webcam
component to custom layout component, since it is the only one with
this feature.
2022-03-22 15:29:49 -03:00
Mario Junior
5778306626
Merge pull request #9283 from znerol-forks/feature/develop/sip-user-agent
Send browser UA string in SIP UA, also add BBB server and client version
2022-03-22 11:18:06 -03:00
Gustavo Trott
4cb563085f Implements param lockSettingsHideViewersCursor 2022-03-21 15:25:41 -03:00
Anton Georgiev
adfbaa4409
Merge pull request #14599 from gustavotrott/disabledFeatures-breakoutRooms
feat: Support to disable breakout rooms via disabledFeatures
2022-03-18 14:41:02 -04:00
Paulo Lanzarin
5fa7c18b43
Merge pull request #14621 from prlanzarin/u25-victorio-fuzz
fix(audio): clean up sfu broker, guarantee peer exists in getLocalStream
2022-03-17 14:39:41 -03:00
prlanzarin
13c6b12f89 fix(audio): clean up sfu broker, guarantee peer exists in getLocalStream 2022-03-17 11:20:19 -03:00
Ramon Souza
a89e9da4ea Merge remote-tracking branch 'upstream/develop' into issue-14382 2022-03-16 16:53:17 -03:00
Ramon Souza
2a7d8eb043 Merge remote-tracking branch 'upstream/develop' into lgtm-mar15 2022-03-16 16:30:24 -03:00
Gustavo Trott
6562cbc6e7
Merge branch 'v2.5.x-release' into disabledFeatures-breakoutRooms 2022-03-16 14:57:46 -03:00
Anton Georgiev
405d326ea7
Merge branch 'v2.5.x-release' into meteor-261 2022-03-16 11:55:31 -04:00
Anton Georgiev
0d1d45245c
Merge pull request #14570 from gustavotrott/disabledFeatures-notes
feat: Support to disable shared notes and captions via disabledFeatures
2022-03-16 11:45:52 -04:00
Paulo Lanzarin
e9c400e61b
Merge pull request #14211 from prlanzarin/u25-victorio-fuzz
feat(fullaudio): implement echo test, device change and audio filters (new bridge)
2022-03-16 12:36:50 -03:00
Ramon Souza
429a9de4dd remove unused imports and variables 2022-03-15 13:11:20 +00:00
Guilherme Leme
b080e889f6 Merge remote-tracking branch 'upstream/v2.5.x-release' into issue-14243 2022-03-14 16:05:44 -03:00
Gustavo Trott
5fdacf93dd Merge remote-tracking branch 'upstream/v2.5.x-release' into disabledFeatures-breakoutRooms 2022-03-14 15:33:04 -03:00
Gustavo Trott
adc1c8cef8 Implements disabledFeatures=breakoutRooms 2022-03-14 15:30:41 -03:00
Guilherme Leme
b765312a2e [issue-14321] - refactored name of variable presId to tmpPresId in order to make more sense in the context of presentation-token-upload and presentation collections. 2022-03-14 14:46:51 -03:00
Guilherme Leme
9104a0308e [issue-14321] - Changes to make it possible to send 2 presentations with the same name 2022-03-14 12:10:27 -03:00
Ramón Souza
35ae2a9e77 record notify modal 2022-03-11 20:26:26 +00:00
Tainan Felipe
fbb0f23510
Merge branch 'v2.5.x-release' into wip-notifications 2022-03-10 16:42:43 -03:00
Tainan Felipe
8858878d0d Add server side notification 2022-03-10 16:33:25 -03:00
Gustavo Trott
9f939513b0 Implements disabledFeatures=captions 2022-03-10 15:02:20 -03:00
prlanzarin
d9c329df27 refactor(fullaudio): remove server-provided RPC parameters 2022-03-10 14:59:43 -03:00
prlanzarin
b9f9043d9c feat(fullaudio): handle forceRelayOnFirefox flag 2022-03-10 14:31:42 -03:00
Pedro Beschorner Marin
5cd2b0b635 Merge remote-tracking branch 'bigbluebutton/v2.5.x-release' into f-v-amccc 2022-03-10 12:25:17 -03:00
Lucas Zawacki
559b6f59c2 fix(layout): Remove unused options 2022-03-09 18:04:21 -03:00
Gustavo Trott
537704ef0e Implements disabledFeatures=sharedNotes 2022-03-09 16:23:38 -03:00
Ramón Souza
266d62a350 replace deprecated dependency http 2022-03-09 16:41:53 +00:00
Pedro Beschorner Marin
6ff1d680d9 feat(video): add meeting camera cap control
Include `meetingCameraCap` API param on create and enforce both server and
client to control the number of simultaneous webcams a meeting can have.

Disabled by default.
2022-03-07 09:36:55 -03:00
Gustavo Trott
f045aa7c31
Merge branch 'v2.5.x-release' into disabledFeatures-learningDashboard 2022-03-03 15:48:49 -03:00
Anton Georgiev
5f884f6674 Merge remote-tracking branch 'bbb/v2.4.x-release' into merge-24-into-25 2022-03-03 18:35:05 +00:00
Lucas Zawacki
140e08a730 Adapt code for merge 2022-03-02 11:24:54 -03:00
Anton Georgiev
3bd37f2ea4
Merge pull request #14492 from ramonlsouza/issue-14488
fix: Client crashing when clicking to "Select random user"
2022-03-02 09:20:58 -05:00
Anton Georgiev
212578b7c8
Merge branch 'v2.5.x-release' into disabledFeatures-learningDashboard 2022-03-02 08:46:31 -05:00
Anton Georgiev
9f6c6b7a0b
Merge pull request #14441 from pedrobmarin/r-s-fpr
refactor(screenshare): FreeSWITCH partial removal
2022-03-02 08:36:14 -05:00
Gustavo Trott
9d6eaead02 Move api param learningDashboardEnabled to disabledFeatures 2022-03-01 17:27:54 -03:00
Ramón Souza
3c8d620811 fix client crash in random user selection modal 2022-03-01 14:01:21 +00:00
Lucas Zawacki
9f51c19c24 fix(layout): Avoid crash on layout when reconnecting 2022-02-25 15:05:34 -03:00
Anton Georgiev
8c29a6568f
Merge pull request #14344 from zhem0004/fixPhoneJoinPermission
Fix: dial in users obey guest policy
2022-02-24 15:26:44 -05:00
Anton Georgiev
a75ab0c073
Merge pull request #14421 from gustavotrott/update-breakout-duration
feat: Update breakout duration
2022-02-24 15:18:54 -05:00
Anton Georgiev
57f53918f0
Merge branch 'v2.5.x-release' into fixPhoneJoinPermission 2022-02-24 15:16:11 -05:00
Gustavo Trott
6839a424c1 Merge remote-tracking branch 'origin/update-breakout-duration' into update-breakout-duration 2022-02-24 13:53:01 -03:00
Lucas Zawacki
6dfdc6a579 feature(layout): Push most layout parts with custom layout 2022-02-24 13:21:16 -03:00
Ramón Souza
138f4d64e4 Merge remote-tracking branch 'upstream/v2.4.x-release' into v2.5.x-release 2022-02-24 14:49:56 +00:00
Lucas Zawacki
48fb85d2b7 feature(layout): Separate layout data into a different collection 2022-02-23 17:46:54 -03:00
Pedro Beschorner Marin
6d80a413cf refactor(screenshare): FreeSWITCH partial removal
Remove part of the old FreeSWITCH dependent WebRTC screenshare feature.
2022-02-23 13:03:51 -03:00