diff --git a/webapp/channels/src/components/logged_in/logged_in.tsx b/webapp/channels/src/components/logged_in/logged_in.tsx index b061c7871f..898704f021 100644 --- a/webapp/channels/src/components/logged_in/logged_in.tsx +++ b/webapp/channels/src/components/logged_in/logged_in.tsx @@ -71,9 +71,6 @@ export default class LoggedIn extends React.PureComponent { // Make sure the websockets close and reset version window.addEventListener('beforeunload', this.handleBeforeUnload); - // listen for the app visibility state - window.addEventListener('visibilitychange', this.handleVisibilityChange, false); - // Listen for focused tab/window state window.addEventListener('focus', this.onFocusListener); window.addEventListener('blur', this.onBlurListener); @@ -117,7 +114,6 @@ export default class LoggedIn extends React.PureComponent { WebSocketActions.close(); window.removeEventListener('keydown', this.handleBackSpace); - window.removeEventListener('focus', this.onFocusListener); window.removeEventListener('blur', this.onBlurListener); @@ -144,23 +140,18 @@ export default class LoggedIn extends React.PureComponent { return this.props.children; } - private handleVisibilityChange = (): void => { - if (!document.hidden) { - this.updateTimeZone(); - } - }; - private updateTimeZone(): void { this.props.actions.autoUpdateTimezone(getBrowserTimezone()); } - private onFocusListener(): void { + private onFocusListener = (): void => { + this.updateTimeZone(); GlobalActions.emitBrowserFocus(true); - } + }; - private onBlurListener(): void { + private onBlurListener = (): void => { GlobalActions.emitBrowserFocus(false); - } + }; private updateActiveStatus = (userIsActive: boolean, idleTime: number, manual: boolean) => { if (!this.props.currentUser) { diff --git a/webapp/channels/src/utils/timezone.ts b/webapp/channels/src/utils/timezone.ts index 17559fd242..ac504d300f 100644 --- a/webapp/channels/src/utils/timezone.ts +++ b/webapp/channels/src/utils/timezone.ts @@ -5,7 +5,7 @@ import type {Moment} from 'moment-timezone'; import moment from 'moment-timezone'; export function getBrowserTimezone() { - return moment.tz.guess(); + return new Intl.DateTimeFormat().resolvedOptions().timeZone; } export function getBrowserUtcOffset() {