From 4e0fb89720a420fa59d08587486767d053c5a74d Mon Sep 17 00:00:00 2001 From: schlagmichdoch Date: Mon, 13 Mar 2023 14:21:26 +0100 Subject: [PATCH] replace javascript operators `??` and `?.` to support older browsers (see #79) --- public/scripts/network.js | 2 +- public/scripts/ui.js | 13 ++++++++++--- public_included_ws_fallback/scripts/network.js | 2 +- public_included_ws_fallback/scripts/ui.js | 13 ++++++++++--- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/public/scripts/network.js b/public/scripts/network.js index 615dae2..e9692d5 100644 --- a/public/scripts/network.js +++ b/public/scripts/network.js @@ -390,7 +390,7 @@ class Peer { } _onFilesHeader(header) { - if (this._requestAccepted?.header.length) { + if (this._requestAccepted && this._requestAccepted.header.length) { this._lastProgress = 0; this._digester = new FileDigester({size: header.size, name: header.name, mime: header.mime}, this._requestAccepted.totalSize, diff --git a/public/scripts/ui.js b/public/scripts/ui.js index 7610834..f471f4e 100644 --- a/public/scripts/ui.js +++ b/public/scripts/ui.js @@ -107,8 +107,15 @@ class PeersUI { _getSavedDisplayName() { return new Promise((resolve) => { PersistentStorage.get('editedDisplayName') - .then(displayName => resolve(displayName ?? "")) - .catch(_ => resolve(localStorage.getItem('editedDisplayName') ?? "")) + .then(displayName => { + if (!displayName) displayName = ""; + resolve(displayName); + }) + .catch(_ => { + let displayName = localStorage.getItem('editedDisplayName'); + if (!displayName) displayName = ""; + resolve(displayName); + }) }); } @@ -825,7 +832,7 @@ class ReceiveRequestDialog extends ReceiveDialog { const connectionHash = $(peerId).ui._connectionHash; this._parseFileData(displayName, connectionHash, request.header, request.imagesOnly, request.totalSize); - if (request.thumbnailDataUrl?.substring(0, 22) === "data:image/jpeg;base64") { + if (request.thumbnailDataUrl && request.thumbnailDataUrl.substring(0, 22) === "data:image/jpeg;base64") { let element = document.createElement('img'); element.src = request.thumbnailDataUrl; this.$previewBox.appendChild(element) diff --git a/public_included_ws_fallback/scripts/network.js b/public_included_ws_fallback/scripts/network.js index 0ddf0e7..f01b6bd 100644 --- a/public_included_ws_fallback/scripts/network.js +++ b/public_included_ws_fallback/scripts/network.js @@ -401,7 +401,7 @@ class Peer { } _onFilesHeader(header) { - if (this._requestAccepted?.header.length) { + if (this._requestAccepted && this._requestAccepted.header.length) { this._lastProgress = 0; this._digester = new FileDigester({size: header.size, name: header.name, mime: header.mime}, this._requestAccepted.totalSize, diff --git a/public_included_ws_fallback/scripts/ui.js b/public_included_ws_fallback/scripts/ui.js index 91d2f32..d705b9b 100644 --- a/public_included_ws_fallback/scripts/ui.js +++ b/public_included_ws_fallback/scripts/ui.js @@ -107,8 +107,15 @@ class PeersUI { _getSavedDisplayName() { return new Promise((resolve) => { PersistentStorage.get('editedDisplayName') - .then(displayName => resolve(displayName ?? "")) - .catch(_ => resolve(localStorage.getItem('editedDisplayName') ?? "")) + .then(displayName => { + if (!displayName) displayName = ""; + resolve(displayName); + }) + .catch(_ => { + let displayName = localStorage.getItem('editedDisplayName'); + if (!displayName) displayName = ""; + resolve(displayName); + }) }); } @@ -826,7 +833,7 @@ class ReceiveRequestDialog extends ReceiveDialog { const connectionHash = $(peerId).ui._connectionHash; this._parseFileData(displayName, connectionHash, request.header, request.imagesOnly, request.totalSize); - if (request.thumbnailDataUrl?.substring(0, 22) === "data:image/jpeg;base64") { + if (request.thumbnailDataUrl && request.thumbnailDataUrl.substring(0, 22) === "data:image/jpeg;base64") { let element = document.createElement('img'); element.src = request.thumbnailDataUrl; this.$previewBox.appendChild(element)