Skip to content

Commit facb2eb

Browse files
committed
fix: support finding ssh process by port on macos sequoia
1 parent ee4a5f1 commit facb2eb

File tree

3 files changed

+71
-8
lines changed

3 files changed

+71
-8
lines changed

Diff for: package.json

+1
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@
314314
"jsonc-parser": "^3.3.1",
315315
"memfs": "^4.9.3",
316316
"node-forge": "^1.3.1",
317+
"pid-port": "^1.0.2",
317318
"pretty-bytes": "^6.1.1",
318319
"proxy-agent": "^6.4.0",
319320
"semver": "^7.6.2",

Diff for: src/remote.ts

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { isAxiosError } from "axios"
22
import { Api } from "coder/site/src/api/api"
33
import { Workspace } from "coder/site/src/api/typesGenerated"
4-
import find from "find-process"
4+
import { portToPid } from 'pid-port';
55
import * as fs from "fs/promises"
66
import * as jsonc from "jsonc-parser"
77
import * as os from "os"
@@ -794,12 +794,8 @@ export class Remote {
794794
if (!port) {
795795
return
796796
}
797-
const processes = await find("port", port)
798-
if (processes.length < 1) {
799-
return
800-
}
801-
const process = processes[0]
802-
return process.pid
797+
const pid = await portToPid(port)
798+
return pid
803799
}
804800
const start = Date.now()
805801
const loop = async (): Promise<number | undefined> => {

Diff for: yarn.lock

+67-1
Original file line numberDiff line numberDiff line change
@@ -2657,6 +2657,21 @@ eventsource@*, eventsource@^3.0.6:
26572657
dependencies:
26582658
eventsource-parser "^3.0.1"
26592659

2660+
execa@^8.0.1:
2661+
version "8.0.1"
2662+
resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c"
2663+
integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==
2664+
dependencies:
2665+
cross-spawn "^7.0.3"
2666+
get-stream "^8.0.1"
2667+
human-signals "^5.0.0"
2668+
is-stream "^3.0.0"
2669+
merge-stream "^2.0.0"
2670+
npm-run-path "^5.1.0"
2671+
onetime "^6.0.0"
2672+
signal-exit "^4.1.0"
2673+
strip-final-newline "^3.0.0"
2674+
26602675
expand-template@^2.0.3:
26612676
version "2.0.3"
26622677
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
@@ -3009,6 +3024,11 @@ get-package-type@^0.1.0:
30093024
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
30103025
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
30113026

3027+
get-stream@^8.0.1:
3028+
version "8.0.1"
3029+
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2"
3030+
integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==
3031+
30123032
get-symbol-description@^1.0.0:
30133033
version "1.0.0"
30143034
resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
@@ -3281,6 +3301,11 @@ https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.3, https-proxy-agent@^7.0.5:
32813301
agent-base "^7.1.2"
32823302
debug "4"
32833303

3304+
human-signals@^5.0.0:
3305+
version "5.0.0"
3306+
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28"
3307+
integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==
3308+
32843309
hyperdyperid@^1.2.0:
32853310
version "1.2.0"
32863311
resolved "https://registry.yarnpkg.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz#59668d323ada92228d2a869d3e474d5a33b69e6b"
@@ -3605,6 +3630,11 @@ is-stream@^2.0.0:
36053630
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
36063631
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
36073632

3633+
is-stream@^3.0.0:
3634+
version "3.0.0"
3635+
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
3636+
integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
3637+
36083638
is-string@^1.0.5, is-string@^1.0.7:
36093639
version "1.0.7"
36103640
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@@ -4121,6 +4151,11 @@ mimic-fn@^2.1.0:
41214151
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
41224152
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
41234153

4154+
mimic-fn@^4.0.0:
4155+
version "4.0.0"
4156+
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
4157+
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
4158+
41244159
mimic-response@^3.1.0:
41254160
version "3.1.0"
41264161
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
@@ -4258,6 +4293,13 @@ node-releases@^2.0.18:
42584293
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f"
42594294
integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
42604295

4296+
npm-run-path@^5.1.0:
4297+
version "5.3.0"
4298+
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f"
4299+
integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==
4300+
dependencies:
4301+
path-key "^4.0.0"
4302+
42614303
nth-check@^2.0.1:
42624304
version "2.1.1"
42634305
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
@@ -4375,6 +4417,13 @@ onetime@^5.1.0:
43754417
dependencies:
43764418
mimic-fn "^2.1.0"
43774419

4420+
onetime@^6.0.0:
4421+
version "6.0.0"
4422+
resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
4423+
integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
4424+
dependencies:
4425+
mimic-fn "^4.0.0"
4426+
43784427
optionator@^0.8.3:
43794428
version "0.8.3"
43804429
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
@@ -4569,6 +4618,11 @@ path-key@^3.1.0:
45694618
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
45704619
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
45714620

4621+
path-key@^4.0.0:
4622+
version "4.0.0"
4623+
resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
4624+
integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
4625+
45724626
path-parse@^1.0.7:
45734627
version "1.0.7"
45744628
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@@ -4629,6 +4683,13 @@ picomatch@^2.3.1:
46294683
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
46304684
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
46314685

4686+
pid-port@^1.0.2:
4687+
version "1.0.2"
4688+
resolved "https://registry.yarnpkg.com/pid-port/-/pid-port-1.0.2.tgz#23e4dd2780b122edba3c8ff97473472225a105e5"
4689+
integrity sha512-Khqp07zX8IJpmIg56bHrLxS3M0iSL4cq6wnMq8YE7r/hSw3Kn4QxYS6QJg8Bs22Z7CSVj7eSsxFuigYVIFWmjg==
4690+
dependencies:
4691+
execa "^8.0.1"
4692+
46324693
pkg-dir@^4.1.0, pkg-dir@^4.2.0:
46334694
version "4.2.0"
46344695
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
@@ -5763,7 +5824,7 @@ signal-exit@^3.0.2:
57635824
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
57645825
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
57655826

5766-
signal-exit@^4.0.1:
5827+
signal-exit@^4.0.1, signal-exit@^4.1.0:
57675828
version "4.1.0"
57685829
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
57695830
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
@@ -6063,6 +6124,11 @@ strip-bom@^4.0.0:
60636124
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
60646125
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
60656126

6127+
strip-final-newline@^3.0.0:
6128+
version "3.0.0"
6129+
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
6130+
integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
6131+
60666132
strip-json-comments@^3.0.1, strip-json-comments@^3.1.1:
60676133
version "3.1.1"
60686134
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"

0 commit comments

Comments
 (0)