Commit Graph

2766 Commits

Author SHA1 Message Date
GuiLeme
90bbb10de6 [issue-17531] - insert tag besides the presentation's name 2023-04-17 09:04:58 -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
GuiLeme
536285fc37 [issue-17531] - restored old feature of downloading original presentation 2023-04-14 11:04:24 -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
imdt
6949e9b59b Voice call states and voice users back-end migrated to new async API. 2023-03-20 16:39:24 -03:00
Tainan Felipe
3fb59bcb41 Refactor: Migrate screenshare for the Meteor 3.0 api 2023-03-20 16:39:11 -03:00
imdt
b27542065e Users settings migrated to new async API. 2023-03-20 16:38:56 -03:00
Tainan Felipe
f7b8b116e7 Refactor: Migrate presentation upload token for the Meteor 3.0 api 2023-03-20 16:38:42 -03:00
Tainan Felipe
029929e7d8 Refactor: Migrate pads for the Meteor 3.0 api 2023-03-20 16:38:31 -03:00
imdt
fc14710e14 Local settings back-end migrated to new async API. 2023-03-20 16:38:20 -03:00
Tainan Felipe
8b1565f2c9 Refactor: Migrate cursors for the Meteor 3.0 api 2023-03-20 16:38:05 -03:00
Tainan Felipe
2bb7235836 Refactor: Migrate group chat for the Meteor 3.0 api 2023-03-20 16:37:51 -03:00
Tainan Felipe
e3bbf1156f Refactor: Migrate auth-token for the Meteor 3.0 api 2023-03-20 16:37:36 -03:00
imdt
bbac3e5b11 Slides back-end migrated to new async API. 2023-03-20 16:37:16 -03:00
Tainan Felipe
470937bf6f Refactor: Migrate users for the Meteor 3.0 api 2023-03-20 16:35:52 -03:00
imdt
f03cc32b56 Presentation pod migrated to new async API 2023-03-20 16:35:40 -03:00
imdt
d7d1eb65da Presentations back-end migrated to new async API. 2023-03-20 16:35:06 -03:00
imdt
f3c6fbc5f2 Group chat msg back-end migrated to new async API. 2023-03-20 16:24:58 -03:00
Tainan Felipe
7c8337733f Refactor: Migrate meetings for the Meteor 3.0 api 2023-03-20 16:24:41 -03:00
imdt
16ff3be4ee External video back-end migrated to new async API 2023-03-20 16:24:26 -03:00
imdt
03e037b5ea Audio captions back-end migrated to new async API 2023-03-20 16:24:09 -03:00
imdt
5add111aa9 Connection status back-end migrated to new async API 2023-03-20 16:23:56 -03:00
Tainan Felipe
a5dea6f595 Refactor: Migrate captions for the Meteor 3.0 api 2023-03-20 16:23:41 -03:00
imdt
6472cf8d0d Breackouts history back-end migrated to new async API 2023-03-20 16:23:27 -03:00
imdt
c701ff5c66 Users info back-end migrated to new async API 2023-03-20 16:23:11 -03:00
Tainan Felipe
314395298b Refactor: Migrate whiteboard-multi-user for the Meteor 3.0 api 2023-03-20 16:22:55 -03:00
imdt
f18d4018f0 Backend of guest-users migrated to new async API. 2023-03-20 16:21:40 -03:00
Tainan Felipe
77fc5d4067 Refactor: Migrate annotations for the Meteor 3.0 api 2023-03-20 16:16:52 -03:00
imdt
074ce93a4f refactor: Migrate polls backend to new async api 2023-03-20 16:15:55 -03:00
Ramón Souza
630247a568 reduce canvas max size 2023-03-20 08:43:27 -03:00
Anton Georgiev
2c5cd8f2a0 Merge branch 'v2.6.x-release' of github.com:bigbluebutton/bigbluebutton into merge-26-27 2023-03-10 13:03:56 -05:00
prlanzarin
afa2908ded fix(screenshare): better reconnection timers and UI for abrupt failures
Reconnection timers are far too long for abrupt failures because we
are waiting the original timeouts to elapse (30-60s) before trying it
again - even if a connection worked N-sessions back in that session's
history. The ideal thing to have is another intermediate, smaller and
fixed reconnection timer for sessions that had a working screen share
at least once.
The UI is also not being updated to the reconnecting state on negotiation
failures.

* Add an intermediate reconnection timer for abrupt failures set to 8s.
  This should improve reconnection times.
* Lower default connection timers values (base 20s down from 30s, max
  25s down from 60s)
* Set screen share UI to reconnecting on abrupt failures as well - we
  were only tracking ICE states prior to this, not negotiation errors
2023-03-08 15:48:30 -03:00
prlanzarin
d2e8e74471 fix(screenshare): always try to reconnect to screen as viewer
The reconnect routine is stopping for viewers if a broker cannot
re-connect in the first try. That is wrong: viewers should try to
reconnect as long as there'sigaling data that mandates so.

The reconnect trigger is changed from broker's started attribute to the
presence of a scheduled reconnection timeout - if there isn't one (not
schedule), always re-schedule it.
2023-03-08 15:47:01 -03:00
Ramón Souza
966a471e50
Merge pull request #16800 from Tainan404/migrate-to-async
refactor: Migrate the breakout room backend to new async api
2023-03-07 10:57:34 -03:00
Ramón Souza
65a91970d3
Merge pull request #16820 from antobinary/indexing-2
fix: index auth-token-validation by connectionId
2023-03-07 09:04:24 -03:00
Tainan Felipe
fdc6a64085 Fix restoreOnUpdate feature 2023-03-03 14:58:41 -03:00
Ramón Souza
d181eba1c2 replace lodash.throttle with native function 2023-03-02 10:25:08 -03:00
Ramón Souza
41c187d93e Merge remote-tracking branch 'upstream/v2.6.x-release' into lodash-radash 2023-03-01 15:19:12 -03:00
Ramón Souza
0a622eff32 replace lodash throttle with standalone package 2023-03-01 15:13:29 -03:00
Tainan Felipe
2553c44643 Make all handlers async 2023-03-01 13:38:40 -03:00
Ramón Souza
aa47aaa22a replace lodash merge and mergeWith 2023-03-01 11:52:39 -03:00
Ramón Souza
a60d817041 replace lodash debounce 2023-03-01 10:39:04 -03:00
GuiLeme
cfdff618fc [issue-16734] - Changes in review 2023-02-27 12:45:04 -03:00
Anton Georgiev
d8ed43dc86 fix: index auth-token-validation by connectionId 2023-02-27 13:50:15 +00:00
Tainan Felipe
593333200d Add remove for assync api migration 2023-02-24 15:18:45 -03:00
Ramón Souza
0a9e2ed7d5 Merge remote-tracking branch 'upstream/v2.6.x-release' into lodash-radash 2023-02-24 15:01:49 -03:00
GuiLeme
661ab05bfa [issue-16734] - changes in review 2023-02-24 12:52:01 -03:00
Tainan Felipe
264f6bae04 Migrate the breakout room backend to new async api 2023-02-23 16:42:21 -03:00
Ramón Souza
811d6aa1c1 replace lodash delay and defaultsDeep 2023-02-23 14:38:48 -03:00
Ramón Souza
ba9c414989 replace lodash isEqual and isEmpty 2023-02-23 10:27:16 -03:00
GuiLeme
6545736a1f [issue-16734] - merge upstream/v2.6.x-release 2023-02-22 17:19:27 -03:00
GuiLeme
d47d586f0e [issue-16734] - refactor disabledFeatures presentationArea to just presentation 2023-02-22 17:16:43 -03:00
Anton Georgiev
de34f0fd68
refactor: Add meetingId in log for user left (#16775)
* refactor: Add meetingId in log for user left
2023-02-21 15:47:43 -05:00
GuiLeme
421717a817 [issue-16734] - patch for error handling 2023-02-21 08:41:05 -03:00
GuiLeme
9fb2c32384 [issue-16734] - refactor hidePresentation to hidePresentationOnJoin 2023-02-17 14:59:39 -03:00
Ramón Souza
06f43f8bed replace lodash each and groupBy 2023-02-17 14:39:52 -03:00
Anton Georgiev
1dd13026e3
Merge pull request #16722 from gustavotrott/connectionAliveAt-flood-improvement
refactor: Avoid flood moderators with useless connection status
2023-02-14 16:02:27 -05:00
Gustavo Trott
ff7c161f07 In ConnectionStatus publish only flag clientNotResponding instead of timestamp connectionAliveAt 2023-02-14 14:51:31 -03:00
Ramón Souza
83161c23a6 force slide scaling to a fixed size 2023-02-14 13:27:51 -03:00
Anton Georgiev
4ff0213d36
Merge pull request #16710 from antobinary/connection-status-distribution
fix: Only moderators should hear connection-status for all; otherwise…
2023-02-13 13:25:38 -05:00
Ramón Souza
ece96f6265
Merge pull request #16681 from ramonlsouza/issue-16663
fix: NotifyRecordingIsOn should not offer me to leave
2023-02-13 14:59:03 -03:00
Anton Georgiev
9a95054a77 fix: Only moderators should hear connection-status for all; otherwise only hear your own 2023-02-13 16:52:32 +00:00
Ramón Souza
49b5883710 do not notify user that started the recording 2023-02-08 08:47:26 -03:00
GuiLeme
ce50e00cef [issue-13867] - remove and related settings 2023-01-31 10:30:55 -03:00
Daniel Petri Rocha
6a11e295ba Prevent division by zero in zoom calculation 2023-01-27 16:49:32 +01:00
Gustavo Trott
6dfbcd29c6 Resolves conflicts 2023-01-24 09:35:13 -03:00
Gustavo Trott
ff184d9d13
Merge pull request #16421 from danielpetri1/capture-content-iff-necessary 2023-01-19 15:34:34 -03:00
Daniel Petri Rocha
ee44f15639 Fix search of padId in collection 2023-01-17 19:13:24 +01:00
Daniel Petri Rocha
2ecd3d6a80 Use prop as filename 2023-01-17 00:10:13 +01:00
Daniel Petri Rocha
a6b589a069 Add captured filename as breakout property 2023-01-16 23:00:27 +01:00
Daniel Petri Rocha
a72d76a46a Add 'no content' toast for slide capture 2023-01-14 18:00:29 +01:00
Daniel Petri Rocha
da6f5d996e Merge branch 'v2.6.x-release' into capture-content-iff-necessary 2023-01-14 13:43:38 +01:00
Ramón Souza
4d3d1f86f6 remove offline users data on chat clear 2023-01-13 13:19:52 -03:00
Ramón Souza
268c3532e7 Merge remote-tracking branch 'upstream/v2.6.x-release' into remove-persistent-on-chat-clear 2023-01-13 10:05:21 -03:00
Ramón Souza
fe3937d3ba
Merge pull request #16061 from ramonlsouza/adjust-poll-pub
fix: adjust poll publisher
2023-01-12 09:37:42 -03:00
Daniel Petri Rocha
3b8bdef05b Merge branch 'v2.6.x-release' into capture-slides-upload-toast 2023-01-09 16:03:44 +01:00
Daniel Petri Rocha
f4cb37d4cf Add 'no content' toast 2023-01-08 16:15:16 +01:00
Daniel Petri Rocha
b3ab33470e Do not capture pad if it has not been modified 2022-12-27 22:23:13 +01:00
Anton Georgiev
2d742b654c
Merge pull request #15919 from prlanzarin/u26/fix/cam-reconn-issues
fix(webcam): intermittent client crashes when sharing camera (2.6)
2022-12-23 09:12:54 -05:00
Daniel Petri Rocha
a8657ff0ed
Merge branch 'v2.6.x-release' into capture-slides-upload-toast 2022-12-22 21:18:14 +01:00
Anton Georgiev
c0626900fe
Merge pull request #15679 from ramonlsouza/rename-external-pres-params
refactor: rename external upload parameters
2022-12-22 13:00:52 -05:00
Ramón Souza
1f2562e95c sort users by sortName 2022-12-13 15:00:13 -03:00
KDSBrowne
09eb68f23b add lock setting for viewer annotations 2022-12-12 23:26:03 +00:00
Daniel Petri Rocha
d06a642ae9 Include timestamp in exported content 2022-12-09 23:48:04 +01:00
Ramón Souza
c433869f6e adjust poll publisher 2022-11-25 09:31:04 -03:00
GuiLeme
5391bd1a83 [fix-check-mime-insert-document] - changes in review 2022-11-23 09:22:35 -03:00
Daniel Petri Rocha
5a432289cf Remove unreachable code 2022-11-23 01:39:41 +01:00
Daniel Petri Rocha
587c11c56a Remove potential race condition 2022-11-23 01:25:03 +01:00
GuiLeme
058bbb039b [fix-check-mime-insert-document] - add validation to front-end 2022-11-22 17:41:57 -03:00
Daniel Petri Rocha
b43863342b Add captured slides to UploadingPresentations collection 2022-11-22 21:07:43 +01:00
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