diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-09-21 15:34:35 +0200 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2021-09-21 15:34:35 +0200 |
| commit | 6fdcebbe769894c821d14369eb65e41c19d52907 (patch) | |
| tree | 1d93c067e410cf84002a3952628fe119e1089e9e | |
| parent | ed7c7612b75d774ffa343052ac93c24709f903f2 (diff) | |
| parent | ab348bb1f77da0b3ad66ba9789f918436b10b0a0 (diff) | |
| download | mullvadvpn-6fdcebbe769894c821d14369eb65e41c19d52907.tar.xz mullvadvpn-6fdcebbe769894c821d14369eb65e41c19d52907.zip | |
Merge branch 'update-grpc-js'
| -rw-r--r-- | gui/package-lock.json | 37 | ||||
| -rw-r--r-- | gui/package.json | 2 | ||||
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 14 |
3 files changed, 27 insertions, 26 deletions
diff --git a/gui/package-lock.json b/gui/package-lock.json index 09ec489d24..35388ac0e9 100644 --- a/gui/package-lock.json +++ b/gui/package-lock.json @@ -10,7 +10,7 @@ "hasInstallScript": true, "license": "GPL-3.0", "dependencies": { - "@grpc/grpc-js": "^1.1.2", + "@grpc/grpc-js": "^1.3.7", "argv-split": "^2.0.1", "d3-geo": "^1.12.1", "gettext-parser": "^4.0.3", @@ -519,23 +519,20 @@ } }, "node_modules/@grpc/grpc-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.1.2.tgz", - "integrity": "sha512-k2u86Bkm/3xrjUaSWeIyzXScBt/cC8uE7BznR0cpueQi11R33W6qfJdMrkrsmSHirp5likR55JSXUrcWG6ybHA==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz", + "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==", "dependencies": { - "semver": "^6.2.0" + "@types/node": ">=12.12.47" }, "engines": { "node": "^8.13.0 || >=10.10.0" } }, - "node_modules/@grpc/grpc-js/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } + "node_modules/@grpc/grpc-js/node_modules/@types/node": { + "version": "16.9.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.4.tgz", + "integrity": "sha512-KDazLNYAGIuJugdbULwFZULF9qQ13yNWEBFnfVpqlpgAAo6H/qnM9RjBgh0A0kmHf3XxAKLdN5mTIng9iUvVLA==" }, "node_modules/@gulp-sourcemaps/identity-map": { "version": "1.0.2", @@ -14135,17 +14132,17 @@ } }, "@grpc/grpc-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.1.2.tgz", - "integrity": "sha512-k2u86Bkm/3xrjUaSWeIyzXScBt/cC8uE7BznR0cpueQi11R33W6qfJdMrkrsmSHirp5likR55JSXUrcWG6ybHA==", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.3.7.tgz", + "integrity": "sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==", "requires": { - "semver": "^6.2.0" + "@types/node": ">=12.12.47" }, "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "@types/node": { + "version": "16.9.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.4.tgz", + "integrity": "sha512-KDazLNYAGIuJugdbULwFZULF9qQ13yNWEBFnfVpqlpgAAo6H/qnM9RjBgh0A0kmHf3XxAKLdN5mTIng9iUvVLA==" } } }, diff --git a/gui/package.json b/gui/package.json index 957c1f2253..829cfc67d3 100644 --- a/gui/package.json +++ b/gui/package.json @@ -12,7 +12,7 @@ "repository": "https://github.com/mullvad/mullvadvpn-app", "license": "GPL-3.0", "dependencies": { - "@grpc/grpc-js": "^1.1.2", + "@grpc/grpc-js": "^1.3.7", "argv-split": "^2.0.1", "d3-geo": "^1.12.1", "gettext-parser": "^4.0.3", diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index 0619e873ca..89360fbc15 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -155,7 +155,11 @@ export class DaemonRpc { public disconnect() { this.isConnected = false; - this.subscriptions.clear(); + + for (const subscriptionId of this.subscriptions.keys()) { + this.removeSubscription(subscriptionId); + } + this.client.close(); if (this.reconnectionTimeout) { clearTimeout(this.reconnectionTimeout); @@ -558,14 +562,14 @@ export class DaemonRpc { this.subscriptions.delete(id); subscription.removeAllListeners('data'); subscription.removeAllListeners('error'); - try { - subscription.cancel(); - } catch (e) { + + subscription.on('error', (e) => { const error = e as grpc.ServiceError; if (error.code !== grpc.status.CANCELLED) { throw error; } - } + }); + subscription.cancel(); } } |
