Skip to content

Commit 7b1eda3

Browse files
committed
fix: support finding ssh process by port on macos sequoia
1 parent d6b798e commit 7b1eda3

File tree

3 files changed

+71
-8
lines changed

3 files changed

+71
-8
lines changed

package.json

Lines changed: 1 addition & 0 deletions
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.0.0",
318319
"proxy-agent": "^6.4.0",
319320
"semver": "^7.6.2",

src/remote.ts

Lines changed: 3 additions & 7 deletions
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"
@@ -799,12 +799,8 @@ export class Remote {
799799
if (!port) {
800800
return
801801
}
802-
const processes = await find("port", port)
803-
if (processes.length < 1) {
804-
return
805-
}
806-
const process = processes[0]
807-
return process.pid
802+
const pid = await portToPid(port)
803+
return pid
808804
}
809805
const start = Date.now()
810806
const loop = async (): Promise<number | undefined> => {

yarn.lock

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2539,6 +2539,21 @@ exec@^0.2.1:
25392539
resolved "https://registry.yarnpkg.com/exec/-/exec-0.2.1.tgz#2661f0bfc5532918629117cb9f80c7564af2c51f"
25402540
integrity sha512-lE5ZlJgRYh+rmwidatL2AqRA/U9IBoCpKlLriBmnfUIrV/Rj4oLjb63qZ57iBCHWi5j9IjLt5wOWkFYPiTfYAg==
25412541

2542+
execa@^8.0.1:
2543+
version "8.0.1"
2544+
resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c"
2545+
integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==
2546+
dependencies:
2547+
cross-spawn "^7.0.3"
2548+
get-stream "^8.0.1"
2549+
human-signals "^5.0.0"
2550+
is-stream "^3.0.0"
2551+
merge-stream "^2.0.0"
2552+
npm-run-path "^5.1.0"
2553+
onetime "^6.0.0"
2554+
signal-exit "^4.1.0"
2555+
strip-final-newline "^3.0.0"
2556+
25422557
expand-template@^2.0.3:
25432558
version "2.0.3"
25442559
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
@@ -2881,6 +2896,11 @@ get-package-type@^0.1.0:
28812896
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
28822897
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
28832898

2899+
get-stream@^8.0.1:
2900+
version "8.0.1"
2901+
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2"
2902+
integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==
2903+
28842904
get-symbol-description@^1.0.0:
28852905
version "1.0.0"
28862906
resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
@@ -3153,6 +3173,11 @@ https-proxy-agent@^7.0.2, https-proxy-agent@^7.0.3, https-proxy-agent@^7.0.4:
31533173
agent-base "^7.0.2"
31543174
debug "4"
31553175

3176+
human-signals@^5.0.0:
3177+
version "5.0.0"
3178+
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28"
3179+
integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==
3180+
31563181
hyperdyperid@^1.2.0:
31573182
version "1.2.0"
31583183
resolved "https://registry.yarnpkg.com/hyperdyperid/-/hyperdyperid-1.2.0.tgz#59668d323ada92228d2a869d3e474d5a33b69e6b"
@@ -3477,6 +3502,11 @@ is-stream@^2.0.0:
34773502
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
34783503
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
34793504

3505+
is-stream@^3.0.0:
3506+
version "3.0.0"
3507+
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
3508+
integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
3509+
34803510
is-string@^1.0.5, is-string@^1.0.7:
34813511
version "1.0.7"
34823512
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@@ -3988,6 +4018,11 @@ mimic-fn@^2.1.0:
39884018
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
39894019
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
39904020

4021+
mimic-fn@^4.0.0:
4022+
version "4.0.0"
4023+
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
4024+
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
4025+
39914026
mimic-response@^3.1.0:
39924027
version "3.1.0"
39934028
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
@@ -4130,6 +4165,13 @@ node-releases@^2.0.18:
41304165
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f"
41314166
integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==
41324167

4168+
npm-run-path@^5.1.0:
4169+
version "5.3.0"
4170+
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.3.0.tgz#e23353d0ebb9317f174e93417e4a4d82d0249e9f"
4171+
integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==
4172+
dependencies:
4173+
path-key "^4.0.0"
4174+
41334175
nth-check@^2.0.1:
41344176
version "2.1.1"
41354177
resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
@@ -4247,6 +4289,13 @@ onetime@^5.1.0:
42474289
dependencies:
42484290
mimic-fn "^2.1.0"
42494291

4292+
onetime@^6.0.0:
4293+
version "6.0.0"
4294+
resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
4295+
integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
4296+
dependencies:
4297+
mimic-fn "^4.0.0"
4298+
42504299
optionator@^0.8.3:
42514300
version "0.8.3"
42524301
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
@@ -4441,6 +4490,11 @@ path-key@^3.1.0:
44414490
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
44424491
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
44434492

4493+
path-key@^4.0.0:
4494+
version "4.0.0"
4495+
resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
4496+
integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
4497+
44444498
path-parse@^1.0.7:
44454499
version "1.0.7"
44464500
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@@ -4506,6 +4560,13 @@ picomatch@^2.3.1:
45064560
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
45074561
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
45084562

4563+
pid-port@^1.0.2:
4564+
version "1.0.2"
4565+
resolved "https://registry.yarnpkg.com/pid-port/-/pid-port-1.0.2.tgz#23e4dd2780b122edba3c8ff97473472225a105e5"
4566+
integrity sha512-Khqp07zX8IJpmIg56bHrLxS3M0iSL4cq6wnMq8YE7r/hSw3Kn4QxYS6QJg8Bs22Z7CSVj7eSsxFuigYVIFWmjg==
4567+
dependencies:
4568+
execa "^8.0.1"
4569+
45094570
pkg-dir@^4.1.0, pkg-dir@^4.2.0:
45104571
version "4.2.0"
45114572
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
@@ -5612,7 +5673,7 @@ signal-exit@^3.0.2:
56125673
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
56135674
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
56145675

5615-
signal-exit@^4.0.1:
5676+
signal-exit@^4.0.1, signal-exit@^4.1.0:
56165677
version "4.1.0"
56175678
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
56185679
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
@@ -5912,6 +5973,11 @@ strip-bom@^4.0.0:
59125973
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
59135974
integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==
59145975

5976+
strip-final-newline@^3.0.0:
5977+
version "3.0.0"
5978+
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
5979+
integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
5980+
59155981
strip-json-comments@^3.0.1, strip-json-comments@^3.1.1:
59165982
version "3.1.1"
59175983
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy