fix: reload document once if tab is hidden in firefox

This commit is contained in:
Baptiste Grob
2021-01-12 18:17:34 +01:00
parent 4d3bb22a8b
commit 3fa8cc103b

View File

@@ -59,10 +59,35 @@ import { StartApplication } from './startApplication';
import { Bridge } from './services/bridge';
import { SessionsModalDirective } from './directives/views/sessionsModal';
function reloadHiddenFirefoxTab(): boolean {
/**
* For Firefox pinned tab issue:
* When a new browser session is started, and SN is in a pinned tab,
* SN exhibits strange behavior until the tab is reloaded.
*/
if (
document.hidden &&
navigator.userAgent.toLowerCase().includes('firefox') &&
!localStorage.getItem('reloading')
) {
localStorage.setItem('reloading', 'true');
location.reload();
return true;
} else {
localStorage.removeItem('reloading');
return false;
}
}
const startApplication: StartApplication = async function startApplication(
defaultSyncServerHost: string,
bridge: Bridge
) {
if (reloadHiddenFirefoxTab()) {
return;
}
SNLog.onLog = console.log;
startErrorReporting();