Commit Graph

2689 Commits

Author SHA1 Message Date
Arthurk12
02a6feb1c8 fix(timer): change users count threshold
Changes the timer auto-stop threshold from 90% to 100% of user count
to prioritize the timer alert sounding for all users over the timer state
being consistent.

Also, puts the user count fetch back to where it was to avoid a race
condition where the number of users when setting the observer is
different than when the timer ends(i.e. users've joined or left the
meeting while the timer was running) causing the timer not to stop or
stop prematurely.
2023-05-18 15:29:39 -03:00
Arthurk12
6628296471 fix(timer): wrong attribute to get users count
There was a legacy attribute being used to find active users in the meeting.
This wrong attribute caused the returned number of users to be 0 which
makes the timer stop prematurely and, possibly, not to issue the timer beep.

Also adds a missing argument to updateTimer and moves the find call to
the Users collection to a external function, so it doesn't get executed
every time an user notifies timer has ended.
2023-05-18 15:29:38 -03:00
AtilaU19
a694595275 feat(timer): added requestedUserId and Action logs 2023-05-18 15:29:38 -03:00
Arthurk12
f5a5a960ba feat(timer): adds more songs
Adds 2 more songs to the timer, which can be switched using the radio
buttons inside timer panel.
Changed the music loop logic to make it gapless.
2023-05-18 15:29:35 -03:00
Arthur B. Grossi
17aa3d7177 Requested changes
Filters users collection by 'online' connection status and describes when/how
server detects that the timer has ended to automatically stop it.
Also, fixed a corner case that when timer alarm was disabled, clients didn't
notify that the timer ended.
2023-05-18 15:29:35 -03:00
Arthur B. Grossi
dbbef569a9 fix(timer): autoplay
When user enters meeting with music already playing, an event listener is set
to play the music only after user interaction.
Also, to keep timer more cohesive and reduce complexity of the condition for
playing music, timer automatically stops after 90% of users notify that the
timer has expired.
2023-05-18 15:29:34 -03:00
Arthur B. Grossi
cc61652aa3 feat(timer): ambient music
Adds a music player for ambient sound which can be turned on and off using a
toggle located inside timer panel. When stopwatch is selected, this toggle is
automattically turned off.
2023-05-18 15:29:34 -03:00
Pedro Beschorner Marin
c040db8f58 Fix alarm when deactivated 2023-05-18 15:29:32 -03:00
Pedro Beschorner Marin
2f104eafc8 Syncing time offset between client and server 2023-05-18 15:29:32 -03:00
Pedro Beschorner Marin
f4a5421843 Add timer view 2023-05-18 15:29:31 -03:00
Pedro Beschorner Marin
5463a4a423 Stopwatch handlers 2023-05-18 15:29:31 -03:00
Arthurk12
953a3d3548 Timer first commit 2023-05-18 15:29:31 -03:00
Anton Georgiev
510c94cfa7 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into may16-merge 2023-05-16 13:35:47 -04:00
Ramón Souza
dcef3e3d7b
Merge pull request #17845 from ramonlsouza/issue-17839
fix: ignore restore on update for first load of initial presentation
2023-05-15 13:41:27 -03:00
Anton Georgiev
4e851a7571 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into merge-267-27 2023-05-15 11:51:17 -04:00
Anton Georgiev
1c9ba032a6
Merge pull request #17554 from AtilaU19/reconection-fixes
fix: overlapping screen end alerts and invisible cameras on reconnections
2023-05-11 17:15:12 -04:00
GuiLeme
d2c5b33eec [issue-17839] - back-end part for hide_presentation_on_join issue 2023-05-09 12:01:55 -03:00
Anton Georgiev
c8342ce5ac
Merge pull request #17821 from antobinary/meteor-timeout-part-2
refactor: ensure setTimeout and clearTimeout run within Fiber
2023-05-08 16:23:19 -04:00
Anton Georgiev
1340265d26
Update bigbluebutton-html5/imports/api/users/server/handlers/validateAuthToken.js 2023-05-08 09:05:13 -04:00
Anton Georgiev
1746c9376f refactor: add userId and authToken for each PendingAuth 2023-05-05 16:01:07 -04:00
Anton Georgiev
340f727b0f refactor: ensure setTimeout and clearTimeout run within Fiber 2023-05-05 15:39:27 -04:00
Anton Georgiev
f51205a119 refactor: adding logs for closing the connection due to invalid user 2023-05-05 15:28:21 -04:00
Paul Trudel
cdfe54bc56 Use meteor.setTimeout to keep call inside fiber 2023-05-05 15:26:56 +00:00
Tainan Felipe
66052802c0 Fix: duplicate messages when start a new chat 2023-05-03 17:14:05 -03:00
Ramón Souza
af8556e026 Merge remote-tracking branch 'upstream/v2.6.x-release' into 26-27-apr24 2023-04-24 17:15:47 -03:00
Gustavo Trott
d19d286811 Adds prop color for voiceUsers create msgs 2023-04-19 12:16:35 -03:00
Paulo Lanzarin
5c2e9bff94
Merge pull request #17021 from prlanzarin/u27/fix/audio-reconn-inbound-delay
fix(audio): decouple remote media setup (play) from state callback
2023-04-14 16:08:25 -03:00
Paulo Lanzarin
a7fec34cd1
Merge pull request #17524 from prlanzarin/u27/refactor/remove-vu-socket-ejection
refactor(audio): remove unused VU ejection on socket disconnection
2023-04-14 16:07:49 -03:00
AtilaU19
0654bc9394 fix(screenshare): correct end alert behavior 2023-04-13 10:34:29 -03:00
Ramón Souza
6a06f994a9
Merge branch 'v2.6.x-release' into meteor-migration 2023-04-12 11:03:13 -03:00
prlanzarin
b17ba35238 fix(audio): decouple remote media setup (play) from state callback
Audio state callback and remote media setup both depend on FS's state
(comes through Meteor) and the ICE state (local, peer connection). The
caveat: FS's state can come delayed on reconnection scenarios because
Meteor's websocket generally takes significantly longer to re-connect than
the peer connection, which means the ICE state gets completed way before FS
is flagged as ready.
The practical issue: while outbound audio (client -> FS) will work, inbound
audio (FS -> client) won't _just because it wasn't played_ (even though
data is  coming through).

This commit decouples the remote media setup step from the state
through:
  - Setup remote media when ICE state is completed
  - Run the state callback only after FS is flagged as ready. This
    should maintain the UI states consistent across client-server.
    Keep in mind the assumption that if FS is ready, ICE is completed by
    consequence.
2023-04-11 16:02:20 -03:00
prlanzarin
fb30b145af refactor: remove unused VU ejection on socket disconnection
The voice user ejection callback tethered to Meteor's socket
disconnection seems broken (since its introduction). The VU selector
uses an invalid field (requesterUserId) - so no VU is ever returned.

Since I'm unaware of the original goal behind this code and there's
already ejections in place in other components (akka-apps, for
instance), this is basically a revert of #9888.
2023-04-11 15:58:22 -03:00
GuiLeme
5eb29e0ab5 [issue-16954] - merge upstream/v2.7.x-release 2023-04-11 11:02:00 -03:00
Gustavo Trott
0b2bf8f68b Akka-apps will set mobile flag instead of Meteor 2023-04-06 17:43:57 -03:00
Ramón Souza
abbe64ab16
add missing await 2023-04-06 17:04:47 -03:00
Gustavo Trott
0630fb05ea Moves user color picker to akka-apps instead of meteor-backend 2023-04-06 16:39:05 -03:00
Ramón Souza
ca668f165e
Merge branch 'v2.6.x-release' into meteor-migration 2023-04-06 16:06:10 -03:00
Anton Georgiev
72c575b911 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into merge-apr-6 2023-04-06 11:50:26 -04:00
Anton Georgiev
e2dc7da98a
Merge pull request #16828 from prlanzarin/u27/fix/ss-cam-reconn
fix: re-connection improvements for cameras and screen sharing
2023-04-05 16:13:01 -04:00
Anton Georgiev
124ab8d972
Merge pull request #17468 from prlanzarin/u26/feat/sfu-gather-block
feat: add option to force/extend gathering window in SFU components, +
2023-04-05 15:52:10 -04:00
Anton Georgiev
f6004b477c
Merge pull request #17340 from KDSBrowne/bbb-16951
fix: Handle Exception While Invoking ZoomSlide
2023-04-05 15:17:26 -04:00
prlanzarin
be6a23a003 feat: add option to force/extend gathering window in SFU components
There's an edge case in finnicky networks where ALG-like firewalls
tamper with USE-CANDIDATE STUN packets and, consequently, bork ICE-lite
connectivity establishment. The odd part is that client-side gathering
seems to complete if intermediate STUN bindings work (before the final
USE-CANDIDATE), which may cause the peer not to generate relay
candidates == connectivity fails.

This adds the `public.kurento.gatheringTimeout` option to forcefully extend
the candidate gathering window in peers that act as offerers. The
behavior is as follows: if the flag is set (ms), the peer will wait
either the gathering completed stage or, _at most_,
public.kurento.gatheringTimeout ms before proceeding with calls chained
to setLocalDescription.

This option is disabled by default and intentionally ommited from the
base settings.yml file as to not encourage its use. Don't use it unless
you know what you're doing :).
2023-04-05 13:22:38 -03:00
Ramón Souza
bcd504b749 Merge remote-tracking branch 'upstream/v2.7.x-release' into lodash-radash 2023-04-05 09:42:05 -03:00
Scroody
4b965a2a71 Migration of the API to async for Meteor3.0 2023-03-31 17:40:41 -03:00
Anton Georgiev
eecde552ce Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into mar-30-1 2023-03-30 08:47:07 -04:00
GuiLeme
9b39decec7 [issue-16954] - Fix minor issues and cleanning of the old modal structure traces 2023-03-29 11:02:14 -03:00
KDSBrowne
d4d3b412df handle exception while invoking method zoomSlide 2023-03-28 14:47:23 +00:00
imdt
76b546f6d6 fetchAsync not working with some method fixed. 2023-03-21 14:44:12 -03:00
imdt
2a5142a4ea Users persistent data back-end migrated to new async API 2023-03-20 16:43:05 -03:00
Tainan Felipe
3959eab633 Refactor: Migrate video-streams for the Meteor 3.0 api 2023-03-20 16:39:36 -03:00