Commit Graph

37207 Commits

Author SHA1 Message Date
KDSBrowne
47e7bda1a9 stop tool lock being reset on updates 2023-03-08 20:41:25 +00:00
Gabriel Porfirio
6042b300f0 the first 3 learning dashboard tests 2023-03-08 17:34:54 -03:00
Anton Georgiev
7376f367c2
Merge pull request #16968 from tibroc/docs-build-only-some-versions
docs: Build only manually specified versions
2023-03-08 15:16:45 -05:00
timo
a005b2a6b1 Only build specified versions
In order to be able to control better which branches are actually used
for building the docs, this commit changes the logic of the script to
only add manually specified versionsi to the docs.
2023-03-08 21:10:57 +01:00
prlanzarin
3bddbb96cf fix(video): signaling and reconnection edge cases
There are still a bunch of edge cases and issues with reconnection
scenarios for video:
  - Signaling socket refuses to reconnect once maxRetries expire
  - Race conditions on local stream attachment: local camera wouldn't be
    correctly rendered _if_ the attached stream existed _without_ video
    tracks yet
  - Video tracks leak on local streams when replacing them (virtual bgs)
  - Completely ignoring Meteor state when trying to reconnect cameras
  - Streams aren't proactively stopped when the signaling socket dies
  - Outbound request queues aren't isolated by stream nor are they
    flushed when a newer peer with the same ID is created
  - Server originated negotiation errors won't trigger a local peer
    cleanup - thus leaving dangling peers that take way too long to
    reconnect

This commit fixes or improves all of the aforementioned issues, +:
  - Remove unused arguments in the peer (client->SFU) 'start' request
  - Prevent crashes when trying to render video-list-items without user
    data (which might happen on re-connections)
2023-03-08 15:49:35 -03: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
bd0dfa17cc fix(screenshare): default to not flowing is peer was lost
The media monitor responsible for triggering the reconnecting view in
the screen sharing component was maintaing the previous state (eg
flowing) in cases where the peer just failed before media stopped
flowing. That triggered an error in the bps calculations that caused the
previous state to be preserved - eg stuck in flowing while it should be
not_flowing.

These changes make it so that if there's not peer to fetch stats from,
them the bps calculations will correctly return 0 (which translates to
not_flowing).
2023-03-08 15:48:22 -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
prlanzarin
5ee0ff9af2 fix(screenshare): add proper signaling heartbeat, +
Same rationale as in video-provider's commit
(34fa37ae4f092af4a5aef0cf01d96c033d97473c).

This commit does the following:
  - Implement actual heartbeat checks to trigger reconnects when
    necessary
  - Properly catch and log WebSocket.send errors
2023-03-08 15:46:55 -03:00
prlanzarin
a83f3b675e fix(video): add proper signaling WS heartbeat, +
video-provider's current ping-pong is as good as nothing in 2.5+. We
were counting on Meteor's (and consequently the component's mount state)
before 2.5 to act as a "heartbeat" as far as the socket is concerned.
The ping-pong served only to sustain traffic for finnicky,
traffic-dependant firewall.
Since 2.5, the component's state is _kind of_ detached from Meteor's -
which means it won't unmount when Meteor disconnects. That causes the
video-provider websocket to lose its borrowed heartbeat and leads to a
bunch of reconnectiong inconsistencies, the worst of them being a stuck,
useless signaling socket that will cause cameras not to work until a
client refresh.

This commit does the following:
  - Implements actual heartbeat checks to trigger signaling socket
    reconnects when necessary, all within the scope of video-provider
  - Remove borked, eons old 'offline'/'online' event handlers: they were
    causing unnecessary camera drops AND causing video-provider to
    generate a stuck signaling socket
  - Properly catch WebSockets.send errors
2023-03-08 15:46:51 -03:00
prlanzarin
e9f0a7347c fix(video): properly render reconnecting view
The stream state change handler in video-list-item is using a component
state reference inside a DOM event callback - which means it is always
presuming `isStreamHealthy` is false (initial value). That prevents the
health state from actually transitioning when necessary (and
consequently rendering the reconnecting view in video-list item).

This commit removes the state-based transition check in the state change
handler and unifies the reconnecting view to use the username
placeholde (replacing the loading spinners).
2023-03-08 15:46:44 -03:00
Paulo Lanzarin
552f345412
build(bbb-webrtc-sfu): v2.9.7
See https://github.com/bigbluebutton/bbb-webrtc-sfu/releases/tag/v2.9.7
2023-03-08 15:39:04 -03:00
Brent Baccala
efde3b832a connection failure tests: missed a line where a hostname was hard-wired 2023-03-08 13:36:49 -05:00
germanocaumo
8aa15ef861 fix(cursor): send cursor position disabled on unmount
This fixes the cursors staying visible in the recording after the multiuser was disabled.
Also stop sending some unnecessary end events.
2023-03-08 16:39:53 +00:00
Ramón Souza
f2a3031b04
Merge pull request #16949 from KDSBrowne/bbb-chat-list-a11y
Add List and List Item Roles to Chat Elements
2023-03-08 13:14:56 -03:00
Maxim Khlobystov
8108f10d0f Merge branch 'v2.6.x-release' of https://github.com/bigbluebutton/bigbluebutton into whiteboard-tests-and-refactoring 2023-03-08 15:33:37 +00:00
Maxim Khlobystov
5f617d94db New whiteboard tests + refactoring 2023-03-08 15:33:05 +00:00
Anton Georgiev
1226165f86
Merge pull request #16958 from ramonlsouza/wb-doc-fix
fix: whiteboard crash with new presentation
2023-03-08 10:06:11 -05:00
Ramón Souza
8ee8a5508f fix whiteboard crash when adding a new presentation 2023-03-08 10:01:18 -03:00
Ramón Souza
2fabb1a8e5
Merge pull request #16952 from antobinary/wb-fix
fix: avoid wb crash when switching presentation
2023-03-08 08:36:59 -03:00
Brent Baccala
ebcde9440c connection failure tests: removed an old file I didn't realize was there 2023-03-07 23:17:00 -05:00
Brent Baccala
97c1f72f05 connection failure tests: remove an old backup file 2023-03-07 23:14:13 -05:00
Brent Baccala
832c8c3a5b connection failure tests: clean up util.js and remove dependence on my local hostname 2023-03-07 23:08:19 -05:00
Brent Baccala
fa047129fb connection failure tests: two working screen share tests 2023-03-07 22:56:28 -05:00
Brent Baccala
ad8c551021 connection failure tests: "npm install deep-equal" (since I use it) 2023-03-07 21:34:49 -05:00
Brent Baccala
a66ebc32dd connection failure tests: this is what I wrote in February 2023 2023-03-07 21:33:22 -05:00
Anton Georgiev
8e640a7918 fix: avoid wb crash when switching presentation 2023-03-07 16:11:40 -05:00
Carlos Henrique
b2bc2d174c feature(layout) viewers layout
Add a button for viewers to change the layout.
2023-03-07 16:09:02 -03:00
germanocaumo
c1810360ef fix(cursor): improve cursor position for others
Cursor position was desynced after the presenter zoomed with ctrl+scroll, also fixes the last position of the cursor not being sent sometimes.
Move the throttle to the service call so it is considered in all cases (and there was already a throttle there).
2023-03-07 19:03:07 +00:00
KDSBrowne
68caf7549c add list and listitem roles to chat 2023-03-07 18:18:15 +00:00
Ramón Souza
3c376e112d
Merge pull request #16936 from ramonlsouza/not-logged-redirect
fix: return logoutUrl on logout even if the user is not logged in
2023-03-07 13:03:20 -03:00
Ramón Souza
4aeb406aaf
Merge pull request #16754 from Scroody/i-16640
fix: Banned user sees message upon return attempt (before - only blue screen)
2023-03-07 13:03:00 -03:00
Anton Georgiev
7cfa1ce813
Merge pull request #16940 from tibroc/docs-fix-version-build
docs: Fix the version build script
2023-03-07 10:20:24 -05:00
timo
6320e358f8 Fixes the version build script
The script that adds the different versions to docusaurus was broken
when not running it from the develop branch. This commit should fix
that.
2023-03-07 16:15:22 +01:00
danielpetri1
078c887aaf Build font information cache files in after-install 2023-03-07 14:52:08 +00:00
Daniel Petri Rocha
72d0e620ae
Update build/packages-template/bbb-export-annotations/build.sh
Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
2023-03-07 15:34:57 +01:00
Anton Georgiev
5fced70d2e
Merge pull request #16932 from hiroshisuga/patch-63
fix: Fix an inline typo
2023-03-07 09:13:18 -05:00
Anton Georgiev
24b48b564f
Merge pull request #16934 from tibroc/docs-remove-edit-#16863
docs: Remove the edit button on the bottom of each page
2023-03-07 09:11:57 -05:00
Anton Georgiev
ffe95ba631
Merge pull request #16926 from tibroc/update-docs-#16668
docs: Update new docs to the latest changes
2023-03-07 09:11:33 -05:00
transifex-integration[bot]
409c8e745d
Apply translations in fa_IR
100% translated for the source file 'bigbluebutton-html5/public/locales/en.json'
on the 'fa_IR' language.
2023-03-07 14:07:13 +00:00
danielpetri1
9095e77f73 Package tldraw fonts for bbb-export-annotations 2023-03-07 13:26:03 +00:00
Ramón Souza
5846312f93 return logoutUrl even if the user is not logged in 2023-03-07 09:38:57 -03:00
transifex-integration[bot]
5e46aafeaa
Apply translations in hu_HU
100% translated for the source file 'bigbluebutton-html5/public/locales/en.json'
on the 'hu_HU' language.
2023-03-07 12:34:45 +00: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
Ramón Souza
e69f3af339
Merge pull request #16922 from lfzawacki/v2.6.x-release-moderator-layout
feature(layout): Moderators can now setPushLayout
2023-03-07 08:30:05 -03:00
timo
c8bbe8120f Remove 'edit' button on the bottom of each page
The workflow to edit the page would either way not be a simple click to
an edit page. But you'd have to fork the repo, sign a CLA, and then do a
PR against the correct version. So I decided to remove it.
2023-03-07 11:26:00 +01:00
transifex-integration[bot]
b729c2b860
Apply translations in tr
translated for the source file 'bigbluebutton-html5/public/locales/en.json'
on the 'tr' language.
2023-03-07 05:19:49 +00:00
hiroshisuga
20325de995
typo 2023-03-07 13:29:00 +09:00
timo
ce3d2af5b9 Fix glob in workflow
The path needs to be a glob.
2023-03-06 23:32:16 +01:00
timo
2ac692926c Remove some old files
This commit removes some old files from the initial setup and testing of
the docs.# with '#' will be ignored, and an empty message aborts the commit.
2023-03-06 23:31:15 +01:00