fix PWA offline capability

This commit is contained in:
schlagmichdoch 2023-01-23 20:40:08 +01:00
parent 689d2bd44c
commit 1f7a43292b
3 changed files with 64 additions and 34 deletions

View file

@ -152,10 +152,9 @@ class ServerConnection {
_onDisconnect() {
console.log('WS: server disconnected');
Events.fire('notify-user', 'Server connection lost. Retrying...');
Events.fire('notify-user', 'No server connection. Retry in 5s...');
clearTimeout(this._reconnectTimer);
this._reconnectTimer = setTimeout(_ => this._connect(), 5000);
this._connect();
Events.fire('ws-disconnected');
}

View file

@ -1220,7 +1220,7 @@ class NetworkStatusUI {
Events.on('offline', _ => this._showOfflineMessage());
Events.on('online', _ => this._showOnlineMessage());
Events.on('ws-connected', _ => this._showOnlineMessage());
Events.on('ws-disconnected', _ => window.animateBackground(false));
Events.on('ws-disconnected', _ => this._onWsDisconnected());
if (!navigator.onLine) this._showOfflineMessage();
}
@ -1230,12 +1230,17 @@ class NetworkStatusUI {
}
_showOnlineMessage() {
window.animateBackground(true);
if (!this.firstConnect) {
this.firstConnect = true;
return;
}
Events.fire('notify-user', 'You are back online');
window.animateBackground(true);
}
_onWsDisconnected() {
window.animateBackground(false);
if (!this.firstConnect) this.firstConnect = true;
}
}