e1dc4b55e4
* fix(bbb-html5): customHeartbeat would not close stale sessions, + The [disabled by default] custom heartbeat included in Meteor's server does not end connections when they are considered unhealthy/stale, which deviates a bit from the default implementation. See: https://github.com/bigbluebutton/bigbluebutton/pull/11486. This commit includes a call to the default heartbeat termination timeout so sockets are correctly cleaned up when the custom heartbeat is activated. It also adds a customHeartbeatUseDataFrames config to allow controlling whether the custom heartbeat should use WS data frames as valid heartbeats as well - this should only be useful for testing/debugging purposes and the default behavior (true) is maintained. As a side note: this change spun off from an investigation where some problematic networks were triggering periodic client re-connects due to the default heartbeat failing. Investigation points to the control frames being put alongside fragmented WS data frames and the server side failing to recognize the former - which means pong frames would be missed and the health check would fail. Since the default heartbeat _does not_ account for data frame traffic (eg DDP payloads), it would shut down the client's WS even though it was healthy. The custom heartbeat _does_ account for data frames, which mitigates that scenario and prevents unecessary reconnections. * fix(bbb-html5): frontend crash due to undefined vars in customHeartbeat Meteor frontends may crash when customHeartbeat is enabled due to an undefined access in the heartbeat`s logger. Add optional chaining to the session props access so it won`t crash and tune down some log levels around that area. |
||
---|---|---|
.github | ||
akka-bbb-apps | ||
akka-bbb-fsesl | ||
bbb-common-message | ||
bbb-common-web | ||
bbb-export-annotations | ||
bbb-fsesl-client | ||
bbb-learning-dashboard | ||
bbb-libreoffice | ||
bbb-recording-imex | ||
bbb-voice-conference/config/freeswitch | ||
bigbluebutton-config | ||
bigbluebutton-html5 | ||
bigbluebutton-tests | ||
bigbluebutton-web | ||
build | ||
docs | ||
labs/stress-testing | ||
record-and-playback | ||
.gitignore | ||
.gitlab-ci.yml | ||
.nvmrc | ||
bbb-etherpad.placeholder.sh | ||
bbb-lti.placeholder.sh | ||
bbb-pads.placeholder.sh | ||
bbb-playback.placeholder.sh | ||
bbb-presentation-video.placeholder.sh | ||
bbb-transcription-controller.placeholder.sh | ||
bbb-webhooks.placeholder.sh | ||
bbb-webrtc-recorder.placeholder.sh | ||
bbb-webrtc-sfu.placeholder.sh | ||
freeswitch.placeholder.sh | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
transifex.yml |
BigBlueButton
BigBlueButton is an open source web conferencing system.
BigBlueButton supports real-time sharing of audio, video, slides (with whiteboard controls), chat, and the screen. Instructors can engage remote students with polling, emojis, multi-user whiteboard, and breakout rooms.
Presenters can record and playback content for later sharing with others.
We designed BigBlueButton for online learning, (though it can be used for many other applications as well). The educational use cases for BigBlueButton are
- Online tutoring (one-to-one)
- Flipped classrooms (recording content ahead of your session)
- Group collaboration (many-to-many)
- Online classes (one-to-many)
You can install on a Ubuntu 20.04 64-bit server. We provide bbb-install.sh to let you have a server up and running within 30 minutes (or your money back 😉).
For full technical documentation BigBlueButton -- including architecture, features, API, and GreenLight (the default front-end) -- see https://docs.bigbluebutton.org/.
BigBlueButton and the BigBlueButton Logo are trademarks of BigBlueButton Inc .