Skip to content

Commit e9c1659

Browse files
authored
Avoid stale disconnects when network is slow (#107)
* Avoid stale disconnects when network is slow * 🆙 bump version
1 parent 29157d4 commit e9c1659

File tree

3 files changed

+33
-27
lines changed

3 files changed

+33
-27
lines changed

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"displayName": "Gitpod",
44
"description": "Gitpod Support",
55
"publisher": "gitpod",
6-
"version": "0.0.169",
6+
"version": "0.0.170",
77
"license": "MIT",
88
"icon": "resources/gitpod.png",
99
"repository": {
@@ -413,7 +413,7 @@
413413
"@types/uuid": "8.0.0",
414414
"@types/vscode": "1.75.0",
415415
"@types/webpack": "^5.28.0",
416-
"@types/ws": "^8.5.4",
416+
"@types/ws": "^8.5.10",
417417
"@types/yazl": "^2.4.2",
418418
"@typescript-eslint/eslint-plugin": "^5.19.0",
419419
"@typescript-eslint/parser": "^5.19.0",
@@ -439,9 +439,9 @@
439439
"@gitpod/public-api": "main-gha",
440440
"@gitpod/supervisor-api-grpcweb": "main-gha",
441441
"@improbable-eng/grpc-web-node-http-transport": "^0.14.0",
442-
"@microsoft/dev-tunnels-ssh": "^3.11.24",
443-
"@microsoft/dev-tunnels-ssh-keys": "^3.11.24",
444-
"@microsoft/dev-tunnels-ssh-tcp": "^3.11.24",
442+
"@microsoft/dev-tunnels-ssh": "^3.11.38",
443+
"@microsoft/dev-tunnels-ssh-keys": "^3.11.38",
444+
"@microsoft/dev-tunnels-ssh-tcp": "^3.11.38",
445445
"@segment/analytics-node": "^1.0.0-beta.24",
446446
"configcat-node": "^8.0.0",
447447
"js-yaml": "^4.1.0",
@@ -458,7 +458,7 @@
458458
"ssh2": "^1.10.0",
459459
"tmp": "^0.2.1",
460460
"uuid": "8.1.0",
461-
"ws": "^8.13.0",
461+
"ws": "^8.17.0",
462462
"yazl": "^2.5.1"
463463
}
464464
}

src/local-ssh/proxy.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,15 +321,21 @@ class WebSocketSSHProxy {
321321
}
322322
};
323323

324-
socket.on('ping', heartbeat);
324+
socket.on('ping', () => heartbeat());
325325
heartbeat();
326326

327327
const websocketStream = new WebSocketStream(socket as any);
328328
const wrappedOnClose = socket.onclose!;
329+
const wrappedOnMessage = socket.onmessage!;
329330
socket.onclose = (e) => {
330331
stopHearbeat();
331332
wrappedOnClose(e);
332333
};
334+
socket.onmessage = (e) => {
335+
socket.pong();
336+
heartbeat();
337+
wrappedOnMessage(e);
338+
};
333339
resolve(websocketStream);
334340
};
335341
socket.onerror = (e) => {

yarn.lock

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -249,24 +249,24 @@
249249
semver "^7.3.5"
250250
tar "^6.1.11"
251251

252-
"@microsoft/dev-tunnels-ssh-keys@^3.11.24":
253-
version "3.11.24"
254-
resolved "https://registry.yarnpkg.com/@microsoft/dev-tunnels-ssh-keys/-/dev-tunnels-ssh-keys-3.11.24.tgz#cf3120f53d5d128d02832b32777d65d402f1111f"
255-
integrity sha512-Ja8lPAnxamtrawkqIOud/jv34xufPvoR8ZpdAexDmY8arNc1vDfhiiPIfVQcpdDzb0pkkZMEZnTCELyFnAbRvQ==
252+
"@microsoft/dev-tunnels-ssh-keys@^3.11.38":
253+
version "3.11.38"
254+
resolved "https://registry.yarnpkg.com/@microsoft/dev-tunnels-ssh-keys/-/dev-tunnels-ssh-keys-3.11.38.tgz#4731a3e23e507aaca3b20d65cda98a86513bfb2c"
255+
integrity sha512-/AmObuej2vxKnfniOAnACoCMYoxUWl5RAr1TyQFTJ27YUsDISAtzqa/wprNBjjJV8jXhv/kISORyFdapMdayJw==
256256
dependencies:
257257
"@microsoft/dev-tunnels-ssh" "~3.11"
258258

259-
"@microsoft/dev-tunnels-ssh-tcp@^3.11.24":
260-
version "3.11.24"
261-
resolved "https://registry.yarnpkg.com/@microsoft/dev-tunnels-ssh-tcp/-/dev-tunnels-ssh-tcp-3.11.24.tgz#895ca1516208745f6c9b6648f69e16ce1f1ec2d2"
262-
integrity sha512-BR0SY+qlY6Af3n3c1s9ybTnfWtatfleai8f3wYpl8uEOlP9OWvEW5ECO77pbutTkgYfF/D/dsqNr8A24QK6zlQ==
259+
"@microsoft/dev-tunnels-ssh-tcp@^3.11.38":
260+
version "3.11.38"
261+
resolved "https://registry.yarnpkg.com/@microsoft/dev-tunnels-ssh-tcp/-/dev-tunnels-ssh-tcp-3.11.38.tgz#dd7263f74847079886fb3e4e00453ab347ee5320"
262+
integrity sha512-GraMSCScu2Pn30oFyzgmw1kAbXJBXBCuzSBQ+q5xIwK1ZpK6D9M/0u2ctsCGw5SwyVVf0hWFqlfZsZlfTX/ifQ==
263263
dependencies:
264264
"@microsoft/dev-tunnels-ssh" "~3.11"
265265

266-
"@microsoft/dev-tunnels-ssh@^3.11.24", "@microsoft/dev-tunnels-ssh@~3.11":
267-
version "3.11.24"
268-
resolved "https://registry.yarnpkg.com/@microsoft/dev-tunnels-ssh/-/dev-tunnels-ssh-3.11.24.tgz#9272e52d6edfa6ba587b12a315944d407d50d05b"
269-
integrity sha512-81g529o3gdEzqnNXDoIaK+OeUKVPi3Hyem6TZDUXXp16I6n43oQe1g3exbM6lFfVyEqUayIqxvnr7HOttC6jCA==
266+
"@microsoft/dev-tunnels-ssh@^3.11.38", "@microsoft/dev-tunnels-ssh@~3.11":
267+
version "3.11.38"
268+
resolved "https://registry.yarnpkg.com/@microsoft/dev-tunnels-ssh/-/dev-tunnels-ssh-3.11.38.tgz#59062b6f4faf776533a5b6890f1d267cef76bb28"
269+
integrity sha512-PFD8Tcrj+XpWQDRNY2KWCW1Eip52KXhWZsyGC0MhYQEj0n0Y/1eejHoHY6WynL2lrGtcyZ2fD66hlUa/8BZ6Rg==
270270
dependencies:
271271
buffer "^5.2.1"
272272
debug "^4.1.1"
@@ -518,10 +518,10 @@
518518
tapable "^2.2.0"
519519
webpack "^5"
520520

521-
"@types/ws@^8.5.4":
522-
version "8.5.4"
523-
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5"
524-
integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==
521+
"@types/ws@^8.5.10":
522+
version "8.5.10"
523+
resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787"
524+
integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==
525525
dependencies:
526526
"@types/node" "*"
527527

@@ -4243,10 +4243,10 @@ ws@^7.4.6:
42434243
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
42444244
integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
42454245

4246-
ws@^8.13.0:
4247-
version "8.13.0"
4248-
resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
4249-
integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
4246+
ws@^8.17.0:
4247+
version "8.17.0"
4248+
resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.0.tgz#d145d18eca2ed25aaf791a183903f7be5e295fea"
4249+
integrity sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==
42504250

42514251
xml2js@^0.4.23:
42524252
version "0.4.23"

0 commit comments

Comments
 (0)