fix: buffer SSH readiness confirmation

This commit is contained in:
2026-08-04 00:17:13 +02:00
parent 1943435225
commit e2c698d553
2 changed files with 27 additions and 1 deletions
+6 -1
View File
@@ -256,8 +256,13 @@ export function createConcreteDiagnosticAdapters(
dependencies.sshForwardConfirmed
? dependencies.sshForwardConfirmed(tunnel, signal)
: new Promise<void>((resolve, reject) => {
let stderrBuffer = "";
const confirmation = new RegExp(`Local forwarding listening on 127\\.0\\.0\\.1 port ${port}\\.?`);
const confirm = (data: Buffer | string) => {
if (new RegExp(`Local forwarding listening on 127\\.0\\.0\\.1 port ${port}\\.?`).test(data.toString())) {
stderrBuffer = `${stderrBuffer}${data.toString()}`.slice(-4096);
const lines = stderrBuffer.split(/\r?\n/);
stderrBuffer = lines.pop() ?? "";
if (lines.some((line) => confirmation.test(line))) {
child.stderr?.off?.("data", confirm);
resolve();
}