From 82543debfb8e92c0d6bb4ff5213b2a3c809b9794 Mon Sep 17 00:00:00 2001 From: Vishwas Shashidhar Date: Fri, 6 Mar 2020 14:37:18 +0530 Subject: [PATCH] feat: SDA-1838: upgrade electron framework to 8.x (#895) * add support for electron 8.x * update node-abi to latest * 8.x: fix unit tests * upgrade dependencies Signed-off-by: Vishwas Shashidhar * SDA-1838: removed unwanted console log Signed-off-by: Vishwas Shashidhar * SDA-1838: refactor code Signed-off-by: Vishwas Shashidhar --- package-lock.json | 609 ++++++++++++++++++++----------- package.json | 20 +- spec/appCacheHandler.spec.ts | 2 +- spec/dialogHandler.spec.ts | 8 +- src/app/app-cache-handler.ts | 6 +- src/app/app-menu.ts | 7 +- src/app/dialog-handler.ts | 35 +- src/app/window-utils.ts | 8 +- src/common/logger.ts | 2 +- src/renderer/desktop-capturer.ts | 72 ++-- 10 files changed, 475 insertions(+), 294 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4b9c2b7f..c345af28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "symphony", - "version": "6.1.0", + "version": "8.0.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -66,6 +66,48 @@ } } }, + "@electron/get": { + "version": "1.8.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/@electron/get/-/get-1.8.0.tgz", + "integrity": "sha1-sQMg4rDsVRZeCXhiaVvjSyNu8LU=", + "dev": true, + "requires": { + "debug": "^4.1.1", + "env-paths": "^2.2.0", + "fs-extra": "^8.1.0", + "global-agent": "^2.0.2", + "global-tunnel-ng": "^2.7.1", + "got": "^9.6.0", + "sanitize-filename": "^1.6.2", + "sumchecker": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/debug/-/debug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ms/-/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + }, + "sanitize-filename": { + "version": "1.6.3", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/sanitize-filename/-/sanitize-filename-1.6.3.tgz", + "integrity": "sha1-dV69dSBFkxl34wsgJdNA18kJA3g=", + "dev": true, + "requires": { + "truncate-utf8-bytes": "^1.0.0" + } + } + } + }, "@felixrieseberg/spellchecker": { "version": "4.0.12", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/@felixrieseberg/spellchecker/-/spellchecker-4.0.12.tgz", @@ -2167,6 +2209,13 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", "dev": true }, + "boolean": { + "version": "3.0.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/boolean/-/boolean-3.0.1.tgz", + "integrity": "sha1-NezytKLuGRsLRJhvFOtfBSpcu08=", + "dev": true, + "optional": true + }, "boxen": { "version": "3.2.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/boxen/-/boxen-3.2.0.tgz", @@ -3775,6 +3824,17 @@ "typedarray": "^0.0.6" } }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha1-D96NCRIA616AjK8l/mGMAvSOTvo=", + "dev": true, + "optional": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, "configstore": { "version": "4.0.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/configstore/-/configstore-4.0.0.tgz", @@ -4360,6 +4420,13 @@ "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", "dev": true }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha1-AU7o+PZpxcWAI9pkuBecCDooxGw=", + "dev": true, + "optional": true + }, "detective": { "version": "5.1.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/detective/-/detective-5.1.0.tgz", @@ -4736,20 +4803,20 @@ "dev": true }, "electron": { - "version": "6.1.7", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/electron/-/electron-6.1.7.tgz", - "integrity": "sha1-pnaV+B9ct3Hjlbz5cRVgUg40fFQ=", + "version": "8.0.3", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/electron/-/electron-8.0.3.tgz", + "integrity": "sha1-4EiLqqaSkeJtyYHqm8dbXaksXIg=", "dev": true, "requires": { - "@types/node": "^10.12.18", - "electron-download": "^4.1.0", + "@electron/get": "^1.0.1", + "@types/node": "^12.0.12", "extract-zip": "^1.0.3" }, "dependencies": { "@types/node": { - "version": "10.17.13", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/@types/node/-/node-10.17.13.tgz", - "integrity": "sha1-zOvNuZC9YTnNFuhMOdwvsQI8qQw=", + "version": "12.12.29", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/@types/node/-/node-12.12.29.tgz", + "integrity": "sha1-RidfAotORjuaxf78HQi8ZswZPyU=", "dev": true } } @@ -4976,50 +5043,10 @@ "unused-filename": "^1.0.0" } }, - "electron-download": { - "version": "4.1.1", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/electron-download/-/electron-download-4.1.1.tgz", - "integrity": "sha1-AuaVVnBcxFblIPngNVVu1aAV6+g=", - "dev": true, - "requires": { - "debug": "^3.0.0", - "env-paths": "^1.0.0", - "fs-extra": "^4.0.1", - "minimist": "^1.2.0", - "nugget": "^2.0.1", - "path-exists": "^3.0.0", - "rc": "^1.2.1", - "semver": "^5.4.1", - "sumchecker": "^2.0.2" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/debug/-/debug-3.2.6.tgz", - "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ms/-/ms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - } - } - }, "electron-fetch": { - "version": "1.3.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/electron-fetch/-/electron-fetch-1.3.0.tgz", - "integrity": "sha1-ANm7H+embdw/6lOJEOAbJv7pq7U=", + "version": "1.4.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/electron-fetch/-/electron-fetch-1.4.0.tgz", + "integrity": "sha1-qDDUAPitNYrLqbPFkebtR3kWusU=", "requires": { "encoding": "^0.1.12" } @@ -5036,9 +5063,9 @@ } }, "electron-log": { - "version": "3.0.7", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/electron-log/-/electron-log-3.0.7.tgz", - "integrity": "sha1-v9upSJyEsTAdYGcCj84vTLL4nX8=" + "version": "4.0.7", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/electron-log/-/electron-log-4.0.7.tgz", + "integrity": "sha1-ObAQ0tvXscQ+b6GujGvitTaiFcE=" }, "electron-publish": { "version": "21.2.0", @@ -5410,6 +5437,13 @@ "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", "dev": true }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "optional": true + }, "encoding": { "version": "0.1.12", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/encoding/-/encoding-0.1.12.tgz", @@ -5433,9 +5467,9 @@ "dev": true }, "env-paths": { - "version": "1.0.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/env-paths/-/env-paths-1.0.0.tgz", - "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=", + "version": "2.2.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/env-paths/-/env-paths-2.2.0.tgz", + "integrity": "sha1-zcpVfcAJFSkX1hZuL+vh8DloXkM=", "dev": true }, "enzyme": { @@ -5577,6 +5611,13 @@ "next-tick": "^1.0.0" } }, + "es6-error": { + "version": "4.1.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha1-njr0B0Wd7tR+mpH5uIWoTrBcVh0=", + "dev": true, + "optional": true + }, "es6-iterator": { "version": "2.0.3", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/es6-iterator/-/es6-iterator-2.0.3.tgz", @@ -5895,14 +5936,14 @@ } }, "ffi-napi": { - "version": "2.4.5", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ffi-napi/-/ffi-napi-2.4.5.tgz", - "integrity": "sha1-EugH8jj4xo/AlPxGwc5Rk8KrZPg=", + "version": "2.4.6", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ffi-napi/-/ffi-napi-2.4.6.tgz", + "integrity": "sha1-3W3/J6w8baiSKaiHZIBPXi5uef0=", "requires": { "bindings": "^1.3.0", "debug": "^3.1.0", "get-uv-event-loop-napi-h": "^1.0.5", - "node-addon-api": "1.5.0", + "node-addon-api": "1.6.1", "ref-napi": "^1.4.0", "ref-struct-di": "^1.1.0" }, @@ -5959,9 +6000,9 @@ } }, "filesize": { - "version": "4.1.2", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/filesize/-/filesize-4.1.2.tgz", - "integrity": "sha1-/NVwrxNTzql4l75k9WGDrbmVmUs=" + "version": "6.1.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/filesize/-/filesize-6.1.0.tgz", + "integrity": "sha1-6Bvap4DiRR1xTXHA16TzI403rQA=" }, "fill-range": { "version": "2.2.4", @@ -6374,14 +6415,22 @@ "integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0=" }, "fs-extra": { - "version": "4.0.3", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/fs-extra/-/fs-extra-4.0.3.tgz", - "integrity": "sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ=", + "version": "8.1.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha1-SdQ8RaiM2Wd2aMt74bRu/bjS4cA=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", + "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.2.3", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/graceful-fs/-/graceful-fs-4.2.3.tgz", + "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM=", + "dev": true + } } }, "fs-extra-p": { @@ -7116,14 +7165,14 @@ } }, "get-symbol-from-current-process-h": { - "version": "1.0.1", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.1.tgz", - "integrity": "sha1-fkgJCH59Lzp4p4Wzb3h+IYO6TF0=" + "version": "1.0.2", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.2.tgz", + "integrity": "sha1-UQr1Lq74c/cCiFTDN39H97sgAmU=" }, "get-uv-event-loop-napi-h": { - "version": "1.0.5", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/get-uv-event-loop-napi-h/-/get-uv-event-loop-napi-h-1.0.5.tgz", - "integrity": "sha1-GQSh3B+m33SHyejq+HMCvMnjPkc=", + "version": "1.0.6", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/get-uv-event-loop-napi-h/-/get-uv-event-loop-napi-h-1.0.6.tgz", + "integrity": "sha1-QrCwa3TD7SH7rI58coRf23ogAgg=", "requires": { "get-symbol-from-current-process-h": "^1.0.1" } @@ -7251,6 +7300,38 @@ } } }, + "global-agent": { + "version": "2.1.8", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/global-agent/-/global-agent-2.1.8.tgz", + "integrity": "sha1-mdFTZissBMvBGZ/7wIGjqmVqxQ8=", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.0", + "core-js": "^3.6.4", + "es6-error": "^4.1.1", + "matcher": "^2.1.0", + "roarr": "^2.15.2", + "semver": "^7.1.2", + "serialize-error": "^5.0.0" + }, + "dependencies": { + "core-js": { + "version": "3.6.4", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/core-js/-/core-js-3.6.4.tgz", + "integrity": "sha1-RAqDU2tFgRS5yyrBWAujd9xHBkc=", + "dev": true, + "optional": true + }, + "semver": { + "version": "7.1.3", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/semver/-/semver-7.1.3.tgz", + "integrity": "sha1-5DRc5zBxxT8zZEXPwZ77HDEd8qY=", + "dev": true, + "optional": true + } + } + }, "global-dirs": { "version": "0.1.1", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/global-dirs/-/global-dirs-0.1.1.tgz", @@ -7284,6 +7365,29 @@ "which": "^1.2.14" } }, + "global-tunnel-ng": { + "version": "2.7.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/global-tunnel-ng/-/global-tunnel-ng-2.7.1.tgz", + "integrity": "sha1-0DtRAt/eOmmRT17n2GdhyjXVfY8=", + "dev": true, + "optional": true, + "requires": { + "encodeurl": "^1.0.2", + "lodash": "^4.17.10", + "npm-conf": "^1.1.3", + "tunnel": "^0.0.6" + } + }, + "globalthis": { + "version": "1.0.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/globalthis/-/globalthis-1.0.1.tgz", + "integrity": "sha1-QBFvXZwHH56PsAN2VN8as6g7fvk=", + "dev": true, + "optional": true, + "requires": { + "define-properties": "^1.1.3" + } + }, "globby": { "version": "6.1.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/globby/-/globby-6.1.0.tgz", @@ -10292,6 +10396,25 @@ } } }, + "matcher": { + "version": "2.1.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/matcher/-/matcher-2.1.0.tgz", + "integrity": "sha1-ZOEEHBW5k+I7eG+TMgp0dL+DPCg=", + "dev": true, + "optional": true, + "requires": { + "escape-string-regexp": "^2.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha1-owME6Z2qMuI7L9IPUbq9B8/8o0Q=", + "dev": true, + "optional": true + } + } + }, "math-random": { "version": "1.0.1", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/math-random/-/math-random-1.0.1.tgz", @@ -10627,18 +10750,18 @@ "dev": true }, "node-abi": { - "version": "2.13.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/node-abi/-/node-abi-2.13.0.tgz", - "integrity": "sha1-4vLsRE0Kyj6hs4dLbeQdFmWCj2M=", + "version": "2.14.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/node-abi/-/node-abi-2.14.0.tgz", + "integrity": "sha1-JGUOJOj/rSthNSUZJj8M9OLdv+k=", "dev": true, "requires": { "semver": "^5.4.1" } }, "node-addon-api": { - "version": "1.5.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/node-addon-api/-/node-addon-api-1.5.0.tgz", - "integrity": "sha1-Vb5rPaNudG9LHyrxbCrfZ2R9H/g=" + "version": "1.6.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/node-addon-api/-/node-addon-api-1.6.1.tgz", + "integrity": "sha1-qYgcjbxkALrG3e3LluzPgFFnhTY=" }, "node-gyp": { "version": "3.8.0", @@ -10731,6 +10854,26 @@ "once": "^1.3.2" } }, + "npm-conf": { + "version": "1.1.3", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/npm-conf/-/npm-conf-1.1.3.tgz", + "integrity": "sha1-JWzEe9DiGMJZxOlVC/QTvCGSr/k=", + "dev": true, + "optional": true, + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "optional": true + } + } + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/npm-run-path/-/npm-run-path-2.0.2.tgz", @@ -10760,29 +10903,6 @@ "boolbase": "~1.0.0" } }, - "nugget": { - "version": "2.0.1", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/nugget/-/nugget-2.0.1.tgz", - "integrity": "sha1-IBCVpIfhrTYIGzQy+jytpPjQcbA=", - "dev": true, - "requires": { - "debug": "^2.1.3", - "minimist": "^1.1.0", - "pretty-bytes": "^1.0.2", - "progress-stream": "^1.1.0", - "request": "^2.45.0", - "single-line-log": "^1.1.2", - "throttleit": "0.0.2" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, "number-is-nan": { "version": "1.0.1", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/number-is-nan/-/number-is-nan-1.0.1.tgz", @@ -10839,12 +10959,6 @@ "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", "dev": true }, - "object-keys": { - "version": "0.4.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/object-keys/-/object-keys-0.4.0.tgz", - "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", - "dev": true - }, "object-visit": { "version": "1.0.1", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/object-visit/-/object-visit-1.0.1.tgz", @@ -11568,16 +11682,6 @@ "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", "dev": true }, - "pretty-bytes": { - "version": "1.0.4", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/pretty-bytes/-/pretty-bytes-1.0.4.tgz", - "integrity": "sha1-CiLoIQYJrTVUL4yNXSFZr/B1HIQ=", - "dev": true, - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.1.0" - } - }, "pretty-format": { "version": "23.6.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/pretty-format/-/pretty-format-23.6.0.tgz", @@ -11625,61 +11729,6 @@ "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", "dev": true }, - "progress-stream": { - "version": "1.2.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/progress-stream/-/progress-stream-1.2.0.tgz", - "integrity": "sha1-LNPP6jO6OonJwSHsM0er6asSX3c=", - "dev": true, - "requires": { - "speedometer": "~0.1.2", - "through2": "~0.2.3" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "through2": { - "version": "0.2.3", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/through2/-/through2-0.2.3.tgz", - "integrity": "sha1-6zKE2k6jEbbMis42U3SKUqvyWj8=", - "dev": true, - "requires": { - "readable-stream": "~1.1.9", - "xtend": "~2.1.1" - } - }, - "xtend": { - "version": "2.1.2", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/xtend/-/xtend-2.1.2.tgz", - "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", - "dev": true, - "requires": { - "object-keys": "~0.4.0" - } - } - } - }, "promise": { "version": "7.3.1", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/promise/-/promise-7.3.1.tgz", @@ -11720,6 +11769,13 @@ "reflect.ownkeys": "^0.2.0" } }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true, + "optional": true + }, "prr": { "version": "1.0.1", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/prr/-/prr-1.0.1.tgz", @@ -11892,9 +11948,9 @@ } }, "react": { - "version": "16.9.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/react/-/react-16.9.0.tgz", - "integrity": "sha1-QLovmvE7waONddvy9DWaUYXE96o=", + "version": "16.13.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/react/-/react-16.13.0.tgz", + "integrity": "sha1-0EbqvN9k5Fe77tHnkuI14bmTTPc=", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -11902,14 +11958,25 @@ } }, "react-dom": { - "version": "16.9.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/react-dom/-/react-dom-16.9.0.tgz", - "integrity": "sha1-XmVSel4m8irjcBExvMyu6fsNOWI=", + "version": "16.13.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/react-dom/-/react-dom-16.13.0.tgz", + "integrity": "sha1-zd5UtI656KDKGz3JlD2btAm4GGY=", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.15.0" + "scheduler": "^0.19.0" + }, + "dependencies": { + "scheduler": { + "version": "0.19.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/scheduler/-/scheduler-0.19.0.tgz", + "integrity": "sha1-pxXVYwLeQD33QvSpvhGXWzL1aY0=", + "requires": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + } } }, "react-is": { @@ -12339,13 +12406,13 @@ } }, "ref-napi": { - "version": "1.4.1", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ref-napi/-/ref-napi-1.4.1.tgz", - "integrity": "sha1-qxKcXUwrTMu1BQPAnDFTNKWjp3s=", + "version": "1.4.3", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ref-napi/-/ref-napi-1.4.3.tgz", + "integrity": "sha1-yUlaRnChhlWz1FRyKEzB/awD4xQ=", "requires": { "bindings": "^1.3.0", "debug": "^3.1.0", - "node-addon-api": "^1.6.2" + "node-addon-api": "^2.0.0" }, "dependencies": { "debug": { @@ -12362,9 +12429,9 @@ "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" }, "node-addon-api": { - "version": "1.7.1", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/node-addon-api/-/node-addon-api-1.7.1.tgz", - "integrity": "sha1-z4E81pu42RAPa9ymdV/CaPVKxJI=" + "version": "2.0.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/node-addon-api/-/node-addon-api-2.0.0.tgz", + "integrity": "sha1-+a+413epFSUkSwF3XqDdvhElSDs=" } } }, @@ -12685,6 +12752,30 @@ "inherits": "^2.0.1" } }, + "roarr": { + "version": "2.15.2", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/roarr/-/roarr-2.15.2.tgz", + "integrity": "sha1-NPYimuPIwSFnxK5g9Y/nXnmh45Q=", + "dev": true, + "optional": true, + "requires": { + "boolean": "^3.0.0", + "detect-node": "^2.0.4", + "globalthis": "^1.0.1", + "json-stringify-safe": "^5.0.1", + "semver-compare": "^1.0.0", + "sprintf-js": "^1.1.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha1-2hdlJiv4wPVxdJ8q1sJjACB65nM=", + "dev": true, + "optional": true + } + } + }, "rst-selector-parser": { "version": "2.2.3", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz", @@ -13060,6 +13151,7 @@ "version": "0.15.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/scheduler/-/scheduler-0.15.0.tgz", "integrity": "sha1-a/z4D/hQsoD+1K7sxlE7wLTxf44=", + "dev": true, "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -13084,6 +13176,13 @@ "integrity": "sha1-ff3YgUvbfKvHvg+x1zTPtmyUBHc=", "dev": true }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", + "dev": true, + "optional": true + }, "semver-diff": { "version": "2.1.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/semver-diff/-/semver-diff-2.1.0.tgz", @@ -13102,6 +13201,25 @@ "sver-compat": "^1.5.0" } }, + "serialize-error": { + "version": "5.0.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/serialize-error/-/serialize-error-5.0.0.tgz", + "integrity": "sha1-p+u82wOl1xpu2EYf/g/Boa/tYqw=", + "dev": true, + "optional": true, + "requires": { + "type-fest": "^0.8.0" + }, + "dependencies": { + "type-fest": { + "version": "0.8.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha1-CeJJ696FHTseSNJ8EFREZn8XuD0=", + "dev": true, + "optional": true + } + } + }, "set-blocking": { "version": "2.0.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/set-blocking/-/set-blocking-2.0.0.tgz", @@ -13213,15 +13331,6 @@ "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=", "dev": true }, - "single-line-log": { - "version": "1.1.2", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/single-line-log/-/single-line-log-1.1.2.tgz", - "integrity": "sha1-wvg/Jzo+GhbtsJlWYdoO1e8DM2Q=", - "dev": true, - "requires": { - "string-width": "^1.0.1" - } - }, "sisteransi": { "version": "0.1.1", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/sisteransi/-/sisteransi-0.1.1.tgz", @@ -13449,12 +13558,6 @@ "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=", "dev": true }, - "speedometer": { - "version": "0.1.4", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/speedometer/-/speedometer-0.1.4.tgz", - "integrity": "sha1-mHbb0qFp0xFUAtSObqYynIgWpQ0=", - "dev": true - }, "split-string": { "version": "3.1.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/split-string/-/split-string-3.1.0.tgz", @@ -13774,12 +13877,29 @@ } }, "sumchecker": { - "version": "2.0.2", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/sumchecker/-/sumchecker-2.0.2.tgz", - "integrity": "sha1-D0LBDl0F2l1C7qPlbDOZo31sWz4=", + "version": "3.0.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/sumchecker/-/sumchecker-3.0.1.tgz", + "integrity": "sha1-Y3fplnlauwttNI6bPh37JDRajkI=", "dev": true, "requires": { - "debug": "^2.2.0" + "debug": "^4.1.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/debug/-/debug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ms/-/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "dev": true + } } }, "supports-color": { @@ -13889,11 +14009,65 @@ "ref-napi": "1.4.1" }, "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/debug/-/debug-3.2.6.tgz", + "integrity": "sha1-6D0X3hbYp++3cX7b5fsQE17uYps=", + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, "electron-log": { "version": "2.2.16", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/electron-log/-/electron-log-2.2.16.tgz", "integrity": "sha1-xE/96lGukMvoUdJefNG6tW/bMo8=", "optional": true + }, + "ffi-napi": { + "version": "2.4.5", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ffi-napi/-/ffi-napi-2.4.5.tgz", + "integrity": "sha1-EugH8jj4xo/AlPxGwc5Rk8KrZPg=", + "optional": true, + "requires": { + "bindings": "^1.3.0", + "debug": "^3.1.0", + "get-uv-event-loop-napi-h": "^1.0.5", + "node-addon-api": "1.5.0", + "ref-napi": "^1.4.0", + "ref-struct-di": "^1.1.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ms/-/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "optional": true + }, + "node-addon-api": { + "version": "1.5.0", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/node-addon-api/-/node-addon-api-1.5.0.tgz", + "integrity": "sha1-Vb5rPaNudG9LHyrxbCrfZ2R9H/g=", + "optional": true + }, + "ref-napi": { + "version": "1.4.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/ref-napi/-/ref-napi-1.4.1.tgz", + "integrity": "sha1-qxKcXUwrTMu1BQPAnDFTNKWjp3s=", + "optional": true, + "requires": { + "bindings": "^1.3.0", + "debug": "^3.1.0", + "node-addon-api": "^1.6.2" + }, + "dependencies": { + "node-addon-api": { + "version": "1.7.1", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/node-addon-api/-/node-addon-api-1.7.1.tgz", + "integrity": "sha1-z4E81pu42RAPa9ymdV/CaPVKxJI=", + "optional": true + } + } } } }, @@ -13918,9 +14092,9 @@ } }, "systeminformation": { - "version": "4.21.0", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/systeminformation/-/systeminformation-4.21.0.tgz", - "integrity": "sha1-BAmd3CGK1CmQxL6A98IexO/2upw=" + "version": "4.22.5", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/systeminformation/-/systeminformation-4.22.5.tgz", + "integrity": "sha1-wIUSs4urTRrNJhyQh1c4iPgLsR4=" }, "tar": { "version": "2.2.1", @@ -14030,12 +14204,6 @@ "integrity": "sha1-iQN8vJLFarGJJua6TLsgDhVnKmo=", "dev": true }, - "throttleit": { - "version": "0.0.2", - "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/throttleit/-/throttleit-0.0.2.tgz", - "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", - "dev": true - }, "through": { "version": "2.3.8", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/through/-/through-2.3.8.tgz", @@ -14300,6 +14468,13 @@ "integrity": "sha1-PwUlHuF5BN/QZ3VGZw25ZRaCuBE=", "dev": true }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha1-cvExSzSlsZLbASMk3yzFh8pH+Sw=", + "dev": true, + "optional": true + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://repo.symphony.com/artifactory/api/npm/npm-virtual-dev/tunnel-agent/-/tunnel-agent-0.6.0.tgz", diff --git a/package.json b/package.json index 755db884..3e993a16 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "browserify": "16.2.3", "cross-env": "5.2.0", "del": "3.0.0", - "electron": "6.1.5", + "electron": "8.0.3", "electron-builder": "21.2.0", "electron-builder-squirrel-windows": "20.38.3", "electron-icon-maker": "0.0.4", @@ -123,7 +123,7 @@ "jest": "23.6.0", "jest-html-reporter": "2.4.2", "less": "3.8.1", - "node-abi": "^2.13.0", + "node-abi": "^2.14.0", "ts-jest": "23.10.5", "tslint": "5.11.0", "typescript": "3.1.1" @@ -134,16 +134,16 @@ "auto-launch": "5.0.5", "classnames": "2.2.6", "electron-dl": "1.14.0", - "electron-fetch": "1.3.0", - "electron-log": "3.0.7", + "electron-fetch": "1.4.0", + "electron-log": "4.0.7", "electron-spellchecker": "git+https://github.com/symphonyoss/electron-spellchecker.git#v2.3.0", - "ffi-napi": "2.4.5", - "filesize": "4.1.2", - "react": "16.9.0", - "react-dom": "16.9.0", - "ref-napi": "1.4.1", + "ffi-napi": "2.4.6", + "filesize": "6.1.0", + "react": "16.13.0", + "react-dom": "16.13.0", + "ref-napi": "1.4.3", "shell-path": "2.1.0", - "systeminformation": "4.21.0" + "systeminformation": "4.22.5" }, "optionalDependencies": { "screen-snippet": "git+https://github.com/symphonyoss/ScreenSnippet2.git#v1.0.6", diff --git a/spec/appCacheHandler.spec.ts b/spec/appCacheHandler.spec.ts index 23ab5096..ee3f2045 100644 --- a/spec/appCacheHandler.spec.ts +++ b/spec/appCacheHandler.spec.ts @@ -33,7 +33,7 @@ describe('app cache handler', () => { const spyFn = 'clearCache'; const spy = jest.spyOn(session.defaultSession, spyFn); cleanUpAppCache(); - expect(spy).lastCalledWith(expect.any(Function)); + expect(spy).toBeCalled(); }); it('should call `createAppCacheFile` correctly', () => { diff --git a/spec/dialogHandler.spec.ts b/spec/dialogHandler.spec.ts index a325ea8d..83f2de25 100644 --- a/spec/dialogHandler.spec.ts +++ b/spec/dialogHandler.spec.ts @@ -1,6 +1,6 @@ import { showLoadFailure, showNetworkConnectivityError } from '../src/app/dialog-handler'; import { windowHandler } from '../src/app/window-handler'; -import { dialog, ipcRenderer } from './__mocks__/electron'; +import { BrowserWindow, dialog, ipcRenderer } from './__mocks__/electron'; jest.mock('../src/app/window-handler', () => { return { @@ -45,6 +45,9 @@ describe('dialog handler', () => { const certificate = null; it('should return false when buttonId is 1', async (done) => { + BrowserWindow.fromWebContents = jest.fn(() => { + return { isDestroyed: jest.fn(() => false) }; + }); dialog.showMessageBox = jest.fn(() => { return { response: 1 }; }); @@ -53,6 +56,9 @@ describe('dialog handler', () => { }); it('should return true when buttonId is not 1', async (done) => { + BrowserWindow.fromWebContents = jest.fn(() => { + return { isDestroyed: jest.fn(() => false) }; + }); dialog.showMessageBox = jest.fn(() => 2); await ipcRenderer.send('certificate-error', webContentsMocked, urlMocked, errorMocked, certificate, callbackMocked); expect(callbackMocked).toBeCalledWith(true); diff --git a/src/app/app-cache-handler.ts b/src/app/app-cache-handler.ts index 494996e0..2ee72ef4 100644 --- a/src/app/app-cache-handler.ts +++ b/src/app/app-cache-handler.ts @@ -17,8 +17,10 @@ export const cleanUpAppCache = async (): Promise => { logger.info(`app-cache-handler: last exit was clean, deleted the app cache file`); return; } - await new Promise((resolve) => session.defaultSession ? session.defaultSession.clearCache(resolve) : null); - logger.info(`app-cache-handler: we didn't have a clean exit last time, so, cleared the cache that may have been corrupted!`); + if (session.defaultSession) { + await session.defaultSession.clearCache(); + logger.info(`app-cache-handler: we didn't have a clean exit last time, so, cleared the cache that may have been corrupted!`); + } }; /** diff --git a/src/app/app-menu.ts b/src/app/app-menu.ts index c03cdf85..347a5d73 100644 --- a/src/app/app-menu.ts +++ b/src/app/app-menu.ts @@ -367,13 +367,12 @@ export class AppMenu { enabled: !memoryRefreshCC || memoryRefreshCC === CloudConfigDataTypes.NOT_SET, }, { - click: (_item, focusedWindow) => { + click: async (_item, focusedWindow) => { if (focusedWindow && !focusedWindow.isDestroyed()) { const defaultSession = session.defaultSession; if (defaultSession) { - defaultSession.clearCache(() => { - focusedWindow.reload(); - }); + await defaultSession.clearCache(); + focusedWindow.reload(); } } }, diff --git a/src/app/dialog-handler.ts b/src/app/dialog-handler.ts index 1e7bbb2b..2a7988ba 100644 --- a/src/app/dialog-handler.ts +++ b/src/app/dialog-handler.ts @@ -67,25 +67,26 @@ electron.app.on('certificate-error', async (event, webContents, url, error, _cer event.preventDefault(); const browserWin = electron.BrowserWindow.fromWebContents(webContents); - const { response } = await electron.dialog.showMessageBox(browserWin, { - type: 'warning', - buttons: [ - i18n.t('Allow')(), - i18n.t('Deny')(), - i18n.t('Ignore All')(), - ], - defaultId: 1, - cancelId: 1, - noLink: true, - title: i18n.t('Certificate Error')(), - message: `${i18n.t('Certificate Error')()}: ${error}\nURL: ${url}`, - }); + if (browserWin && windowExists(browserWin)) { + const {response} = await electron.dialog.showMessageBox(browserWin, { + type: 'warning', + buttons: [ + i18n.t('Allow')(), + i18n.t('Deny')(), + i18n.t('Ignore All')(), + ], + defaultId: 1, + cancelId: 1, + noLink: true, + title: i18n.t('Certificate Error')(), + message: `${i18n.t('Certificate Error')()}: ${error}\nURL: ${url}`, + }); + if (response === 2) { + ignoreAllCertErrors = true; + } - if (response === 2) { - ignoreAllCertErrors = true; + callback(response !== 1); } - - callback(response !== 1); }); /** diff --git a/src/app/window-utils.ts b/src/app/window-utils.ts index 11e3ed35..b208ce49 100644 --- a/src/app/window-utils.ts +++ b/src/app/window-utils.ts @@ -1,5 +1,5 @@ import * as electron from 'electron'; -import { app, BrowserWindow, CertificateVerifyProcRequest, nativeImage } from 'electron'; +import { app, BrowserWindow, nativeImage } from 'electron'; import fetch from 'electron-fetch'; import * as filesize from 'filesize'; import * as fs from 'fs'; @@ -219,7 +219,7 @@ export const setDataUrl = (dataUrl: string, count: number): void => { * @param {BrowserWindow} browserWin node emitter event to be tested * @return {Boolean} returns true if exists otherwise false */ -export const isValidWindow = (browserWin: Electron.BrowserWindow): boolean => { +export const isValidWindow = (browserWin: Electron.BrowserWindow | null): boolean => { if (!checkValidWindow) { return true; } @@ -471,11 +471,11 @@ export const injectStyles = async (mainWindow: BrowserWindow, isCustomTitleBar: /** * Proxy verification for root certificates * - * @param request {CertificateVerifyProcRequest} + * @param request {any} * @param callback {(verificationResult: number) => void} */ export const handleCertificateProxyVerification = ( - request: CertificateVerifyProcRequest, + request: any, callback: (verificationResult: number) => void, ): void => { const { hostname: hostUrl, errorCode } = request; diff --git a/src/common/logger.ts b/src/common/logger.ts index 9ca39d75..dc0e043f 100644 --- a/src/common/logger.ts +++ b/src/common/logger.ts @@ -1,5 +1,5 @@ import { app, BrowserWindow } from 'electron'; -import electronLog, { ILogLevel as LogLevel, transports } from 'electron-log'; +import electronLog, { LogLevel, transports } from 'electron-log'; import * as fs from 'fs'; import * as path from 'path'; import * as util from 'util'; diff --git a/src/renderer/desktop-capturer.ts b/src/renderer/desktop-capturer.ts index 874f136a..e8080254 100644 --- a/src/renderer/desktop-capturer.ts +++ b/src/renderer/desktop-capturer.ts @@ -49,7 +49,7 @@ const isValid = (options: ICustomSourcesOptions) => { * @param callback {CallbackType} * @returns {*} */ -export const getSource = (options: ICustomSourcesOptions, callback: CallbackType) => { +export const getSource = async (options: ICustomSourcesOptions, callback: CallbackType) => { let captureWindow; let captureScreen; let id; @@ -102,48 +102,46 @@ export const getSource = (options: ICustomSourcesOptions, callback: CallbackType } id = getNextId(); - desktopCapturer.getSources({ types: sourcesOpts, thumbnailSize: updatedOptions.thumbnailSize }, (_event, sources: DesktopCapturerSource[]) => { - - // Auto select screen source based on args for testing only - if (screenShareArgv) { - const title = screenShareArgv.substr(screenShareArgv.indexOf('=') + 1); - const filteredSource: DesktopCapturerSource[] = sources.filter((source) => source.name === title); - - if (Array.isArray(filteredSource) && filteredSource.length > 0) { - const source = { ...filteredSource[ 0 ], requestId }; - return callback(null, source); - } - - if (sources.length > 0) { - const firstSource = { ...sources[ 0 ], requestId }; - return callback(null, firstSource); - } + const sources: DesktopCapturerSource[] = await desktopCapturer.getSources({ types: sourcesOpts, thumbnailSize: updatedOptions.thumbnailSize }); + // Auto select screen source based on args for testing only + if (screenShareArgv) { + const title = screenShareArgv.substr(screenShareArgv.indexOf('=') + 1); + const filteredSource: DesktopCapturerSource[] = sources.filter((source) => source.name === title); + if (Array.isArray(filteredSource) && filteredSource.length > 0) { + const source = { ...filteredSource[ 0 ], requestId }; + return callback(null, source); } - const updatedSources = sources.map((source) => { - return Object.assign({}, source, { - thumbnail: source.thumbnail.toDataURL(), - }); - }); + if (sources.length > 0) { + const firstSource = { ...sources[ 0 ], requestId }; + return callback(null, firstSource); + } - ipcRenderer.send(apiName.symphonyApi, { - cmd: apiCmds.openScreenPickerWindow, - id, - sources: updatedSources, - }); + } - const successCallback = (_e, source: DesktopCapturerSource) => { - // Cleaning up the event listener to prevent memory leaks - if (!source) { - ipcRenderer.removeListener('start-share' + id, successCallback); - return callback({ name: 'User Cancelled', message: 'User Cancelled', requestId }); - } - return callback(null, { ...source, ...{ requestId } }); - }; - ipcRenderer.once('start-share' + id, successCallback); - return null; + const updatedSources = sources.map((source) => { + return Object.assign({}, source, { + thumbnail: source.thumbnail.toDataURL(), + }); }); + + ipcRenderer.send(apiName.symphonyApi, { + cmd: apiCmds.openScreenPickerWindow, + id, + sources: updatedSources, + }); + + const successCallback = (_e, source: DesktopCapturerSource) => { + // Cleaning up the event listener to prevent memory leaks + if (!source) { + ipcRenderer.removeListener('start-share' + id, successCallback); + return callback({ name: 'User Cancelled', message: 'User Cancelled', requestId }); + } + return callback(null, { ...source, ...{ requestId } }); + }; + ipcRenderer.once('start-share' + id, successCallback); + return null; }; // event that updates screen share argv