Commit Graph

1825 Commits

Author SHA1 Message Date
prlanzarin
2f12992c20 fix: specify a unique mock authToken for dial-in users
Every dial in user has its RegistedUser authToken set to an empty string,
Since authToken is the RegUser's HashMap indexing key, this causes a
bunch of inconsistencies; eg.: endpoint ejection will stop working if
more than one dial-in user joined a meeting concurrently because the
later dial-in devices overwrite the earlier ones in the RegUsers map.

The authToken is now mocked as the user's intId (which, for dial-in, is
the voice user ID) so that some sort of uniqueness is guaranteed within
the voice conf scope.
2023-11-07 18:02:10 -03:00
Anton Georgiev
5cd379910f
Merge pull request #18891 from paultrudel/breakout-rooms-end-fix
fix: End breakout rooms when ENDED_DUE_TO_NO_MODERATOR
2023-10-06 13:09:20 -04:00
Anton Georgiev
791074819d
Merge pull request #18685 from gustavotrott/fix-None-user-on-changeEmoji27
fix (akka-apps): None.get error on change user Emoji
2023-10-06 11:30:05 -04:00
Paul Trudel
1dac6867d9 End breakout rooms when no moderator 2023-10-03 18:21:34 +00:00
Gustavo Trott
c8668bcfe2 fix: None.get error on change user Emoji 2023-09-01 09:23:01 -03:00
GuiLeme
0aacb12cc8 [issue-18408-back-end] - added disabled download of converted presentation 2023-08-25 11:37:32 -03:00
GuiLeme
bff90337b8 Merge remote-tracking branch 'upstream/v2.7.x-release' into issue-18408-back-end 2023-08-24 17:38:15 -03:00
GuiLeme
cf472511fc [issue-18449] - changes in review 2023-08-18 10:57:50 -03:00
GuiLeme
bfa58baf49 [plugin-architecture-implementation] - change error message 2023-08-16 15:36:14 -03:00
GuiLeme
7380a08e97 [issue-18408-back-end] - implemented back-end portion for disable download of original presentation 2023-08-16 15:30:34 -03:00
GuiLeme
3761fc333b [plugin-architecture-implementation] - fix for disable downloadable 2023-08-16 11:18:51 -03:00
GuiLeme
08f1b5832d [issue-18449] - changes in review 2023-08-15 10:30:17 -03:00
GuiLeme
a1746da6fe [issue-18449] - added possibility of download original presentation with original format 2023-08-10 12:18:59 -03:00
Gustavo Trott
456950a800
Merge pull request #18459 from GuiLeme/issue-18446
fix: download of original presentation
2023-08-10 10:37:11 -03:00
Gustavo Trott
26787aa5c8 Fix: setting away=true in akka-apps when user raised his hand 2023-08-08 13:34:30 -03:00
prlanzarin
a73bdf5d18 refactor: simplify ActorContext import in VoiceApp 2023-08-08 09:36:29 -03:00
prlanzarin
8feb934169 feat(audio): add experimental transparent listen only mode
This is an initial, experimental implementation of the feature proposed in
https://github.com/bigbluebutton/bigbluebutton/issues/14021.

The intention is to phase out the explicit listen only mode with two
overarching goals:
  - Reduce UX friction and increase familiarity: the existence of a separate
  listen only mode is a source of confusion for the majority of users
  Reduce average server-side CPU usage while also making it possible for
  having full audio-only meetings.

The proof-of-concept works based on the assumption that a "many
concurrent active talkers" scenario is both rare and not useful. With
that in mind, this including two server-side triggers:
 - On microphone inactivity (currently mute action that is sustained for
   4 seconds, configurable): FreeSWITCH channels are held (which translates
   to much lower CPU usage, virtually 0%). Receiving channels are switched,
   server side, to a listening mode (SFU, mediasoup).
   * This required an extension to mediasoup two allow re-assigning producers
     to already established consumers. No re-negotiation is done.
 - On microphone activity (currently unmute action, immediate):
   FreeSWITCH channels are unheld, listening mode is deactivated and the
   mute state is updated accordingly (in this order).

This is *off by default*. It needs to be enabled in two places:
  - `/etc/bigbluebutton/bbb-webrtc-sfu/production.yml` ->
    `transparentListenOnly: true`
  - End users:
    * Server wide: `/etc/bigbluebutton/bbb-html5.yml` ->
      `public.media.transparentListenOnly: true`
    * Per user: `userdata-bbb_transparent_listen_only=true`
2023-08-07 19:43:18 -03:00
GuiLeme
ce22c1894d [issue-18446] - fix download of original presentation 2023-08-04 17:38:17 -03:00
Gustavo Trott
762ae78814 Implements func to Clear all users reaction 2023-07-21 11:10:10 -03:00
Anton Georgiev
cd9f93be44 Merge remote-tracking branch 'bbb/v2.6.x-release' into merge-july12 2023-07-12 15:59:46 -04:00
Gustavo Trott
c8867fadb5
Merge pull request #18197 from Scroody/I-18127
Allow dynamic control on moderators invitation for breakouts
2023-06-29 13:39:26 -03:00
Ramón Souza
574b187645
Merge pull request #18130 from Scroody/I-18101
Client change: List the option to download presentation with annotations even if there are no annotations
2023-06-26 16:27:58 -03:00
Ramón Souza
af670883c1 remove unused code 2023-06-22 15:35:40 -03:00
Ramón Souza
ae1e6079e1 rename includeMods -> sendInviteToModerators 2023-06-22 13:55:23 -03:00
Gustavo Trott
6ba4aad05a
Merge branch 'v2.7.x-release' into user-raiseHand-away-flags 2023-06-22 08:27:20 -03:00
Anton Georgiev
43b96b47c4
Merge pull request #17724 from lfzawacki/v2.7.x-release
feat: Implement automatic closed captions using an open transcription server
2023-06-22 05:25:14 -04:00
Ramón Souza
56d16f0330 back-end part 2023-06-21 16:47:28 -03:00
Anton Georgiev
ce24a1a6c2
Merge pull request #18163 from Scroody/I-18137
feat(config): Disable timer feature
2023-06-21 14:33:20 -04:00
GuiLeme
0c5f8aa1f0 [issue-18021-back-end] - Changes in review and fix to support screenshare disabled and cameraAsContent enabled 2023-06-16 17:48:52 -03:00
GuiLeme
ac210ca39c [I-18101-back-end-tweak] - back-end portion - minor tweak 2023-06-16 13:52:44 -03:00
GuiLeme
ef1b00fe7f [I-18101-back-end-tweak] - back-end portion - review changes 2023-06-16 12:22:14 -03:00
GuiLeme
f36ffbe949 [I-18101-back-end] - back-end portion 2023-06-16 09:24:50 -03:00
Anton Georgiev
d8cc9f0e61 fix: missing comma after conflict resolving 2023-06-15 16:01:05 -04:00
André Castro
5af5151219
Merge branch 'v2.7.x-release' into I-18137 2023-06-15 11:50:02 -03:00
GuiLeme
48ebf3150d [issue-18021-back-end] - Back-end portion of disabled camera as content 2023-06-15 10:24:28 -03:00
GuiLeme
8c5c1728ee [I-18137-back-end] - Back-end implementation for disabledTimer 2023-06-14 17:19:40 -03:00
danielpetri1
84e797e8ee Fix double file separator glitch 2023-06-14 13:48:46 +00:00
Anton Georgiev
cdf6e6ec73 build: use Java17 to build akka projects 2023-06-13 14:26:12 -04:00
Paul Trudel
2d737aa0ef Change target to release for java 17 2023-06-12 21:15:33 +00:00
danielpetri1
40d990d8a6 Fix original presentation download link in cluster setups 2023-06-12 14:57:24 +00:00
Anton Georgiev
c8b0437df3
Merge pull request #18133 from GuiLeme/port-timer-with-events-suggestions
feat(timer): Port timer (Mconf) with events suggestions
2023-06-08 15:56:10 -04:00
GuiLeme
2cf46e4d05 [port-timer-with-events-suggestions] - made review suggestions 2023-06-08 16:37:32 -03:00
Gustavo Trott
8263dd17ca Introduces flags user.away and user.raiseHand 2023-06-07 22:10:07 -03:00
Ramón Souza
22b02ead28 Merge remote-tracking branch 'upstream/v2.7.x-release' into 16120 2023-06-06 08:45:29 -03:00
Anton Georgiev
748c7a4a0b Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into june227 2023-06-02 09:45:34 -04:00
Arthurk12
ad8759ed1b feat(timer): add recording events
Adds recording events to each timer message(except CreateTimerPubMsg).
2023-06-02 09:12:44 -03:00
Arthurk12
1431e76bfe feat(timer): add fields to the activate message
Adds fields(stopwatch, running, time, accumulated, track) to the
activate timer message response in order to be able to log them in the
events.xml file.
2023-06-02 09:12:43 -03:00
prlanzarin
4d1aa87a88 feat: only record media while meeting is being actively recorded
Only record media (microphone, webcams and screens) while meeting is
being actively recorded (ie an user has enabled recording in the
conference). If the conference's recording is paused, media capture will
stop as well (with appropriate recording events).

A bigbluebutton.properties/API#create parameter called
`recordFullDurationMedia` is added to control this behavior. The default
is false (only capture while recording is active). Setting it to `true`
enables the current (legacy) behavior: always capture media if the
meeting's `recorded` prop is true.
2023-05-31 16:36:11 -03:00
Paulo Lanzarin
5447666c15
Merge branch 'v2.7.x-release' into port-timer 2023-05-26 10:33:38 -03:00
Paulo Lanzarin
171c7a6587
Merge branch 'v2.7.x-release' into v2.7.x-release 2023-05-26 09:27:14 -03:00