aboutsummaryrefslogtreecommitdiff
path: root/src/client/util/PingManager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/util/PingManager.ts')
-rw-r--r--src/client/util/PingManager.ts15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/client/util/PingManager.ts b/src/client/util/PingManager.ts
index 9f4bd3642..0c41a1ea7 100644
--- a/src/client/util/PingManager.ts
+++ b/src/client/util/PingManager.ts
@@ -7,16 +7,23 @@ export class PingManager {
return PingManager._instance;
}
- @observable IsBeating: boolean = true;
- private setIsBeating = action((status: boolean) => (this.IsBeating = status));
+ @observable IsBeating = true;
+ private setIsBeating = action((status: boolean) => {
+ this.IsBeating = status;
+ setTimeout(this.showAlert, 100);
+ });
+ showAlert = () => {
+ alert(PingManager.Instance.IsBeating ? 'The server connection is active' : 'The server connection has been interrupted.NOTE: Any changes made will appear to persist but will be lost after a browser refreshes.');
+ };
sendPing = async (): Promise<void> => {
try {
await Networking.PostToServer('/ping', { date: new Date() });
!this.IsBeating && this.setIsBeating(true);
} catch {
- console.error('ping error');
- this.IsBeating && this.setIsBeating(false);
+ if (this.IsBeating) {
+ this.setIsBeating(false);
+ }
}
};