fix: Improve websocket reliability (#1470)

* check connection on page visibility change

* fix: SocketPresence account for socket changing
This commit is contained in:
Tom Moor
2020-08-20 20:37:54 -07:00
committed by GitHub
parent 26c574ab58
commit ec55299c8b
3 changed files with 56 additions and 11 deletions

View File

@@ -0,0 +1,25 @@
// @flow
let hidden = "hidden";
let visibilityChange = "visibilitychange";
if ("hidden" in document) {
hidden = "hidden";
visibilityChange = "visibilitychange";
} else if ("mozHidden" in document) {
// Firefox up to v17
hidden = "mozHidden";
visibilityChange = "mozvisibilitychange";
} else if ("webkitHidden" in document) {
// Chrome up to v32, Android up to v4.4, Blackberry up to v10
hidden = "webkitHidden";
visibilityChange = "webkitvisibilitychange";
}
export function getVisibilityListener(): string {
return visibilityChange;
}
export function getPageVisible(): boolean {
// $FlowFixMe
return !document[hidden];
}