bigbluebutton-Github/bigbluebutton-html5
Paulo Lanzarin e1dc4b55e4
fix(bbb-html5): customHeartbeat would not close stale sessions, + (#19017)
* 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.
2024-01-22 11:10:41 -05:00
..
.meteor chore: upgrade Meteor 2.12 to 2.13 2023-08-22 14:21:30 -04:00
client undo createRoot changes in main 2023-06-28 10:38:25 -03:00
imports fix(bbb-html5): customHeartbeat would not close stale sessions, + (#19017) 2024-01-22 11:10:41 -05:00
private fix(bbb-html5): customHeartbeat would not close stale sessions, + (#19017) 2024-01-22 11:10:41 -05:00
public Translate en.json in sv_SE (#19469) 2024-01-19 08:52:39 -05:00
server Merge branch 'v2.7.x-release' into port-timer 2023-05-26 10:33:38 -03:00
.eslintignore
.eslintrc.js
.gitignore copy tldraw fonts to public/files 2023-01-10 10:21:01 -03:00
deploy_to_usr_share.sh Use meteor-npm to install html5 2022-09-20 11:22:35 -03:00
jsconfig.json
package-lock.json fix: bigbluebutton-html5/package.json & bigbluebutton-html5/package-lock.json to reduce vulnerabilities (#19395) 2024-01-05 15:12:48 -05:00
package.json fix: bigbluebutton-html5/package.json & bigbluebutton-html5/package-lock.json to reduce vulnerabilities (#19395) 2024-01-05 15:12:48 -05:00
run-dev.sh Create learning dashboard scripts 2022-04-01 09:15:30 -03:00
test-html5.sh