From a2296bd41ca551b8a23cc343cae7f98ac7663148 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ba=C5=9Far?= <35398147+b68h4@users.noreply.github.com> Date: Sun, 11 Aug 2024 04:31:18 +0300 Subject: [PATCH 1/2] fix: add condition to websocketPort parameter --- src/index.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 8ff20e1..1ec4c5e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -30,7 +30,10 @@ export async function start (params: GeckodriverParameters) { // User might pass a port for custom runs but they should modify them for each worker // For remaining use cases, to enable parallel instances we need to set the port to 0 (random) // Otherwise all instances try to connect to the default port and fail - startArgs.websocketPort = startArgs.websocketPort ?? 0 + if (!startArgs.connectExisting) { + startArgs.websocketPort = startArgs.websocketPort ?? 0 + } + const args = parseParams(startArgs) log.info(`Starting Geckodriver at ${geckoDriverPath} with params: ${args.join(' ')}`) From 4c817ecd24373112e7fdcd0ce487386f75df945b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ba=C5=9Far?= <35398147+b68h4@users.noreply.github.com> Date: Thu, 15 Aug 2024 03:53:47 +0300 Subject: [PATCH 2/2] fix: throw an error if both parameters --- src/index.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/index.ts b/src/index.ts index 1ec4c5e..bcb6f01 100644 --- a/src/index.ts +++ b/src/index.ts @@ -26,12 +26,18 @@ export async function start (params: GeckodriverParameters) { startArgs.host = startArgs.host || DEFAULT_HOSTNAME - // By default, Geckodriver uses port 9222 - // User might pass a port for custom runs but they should modify them for each worker - // For remaining use cases, to enable parallel instances we need to set the port to 0 (random) - // Otherwise all instances try to connect to the default port and fail - if (!startArgs.connectExisting) { - startArgs.websocketPort = startArgs.websocketPort ?? 0 + // By default, Geckodriver uses port 9222. + // Users may specify a custom port for individual runs, but they need to modify it for each worker. + // For other cases, to enable parallel instances, we need to set the port to 0 (random). + // Otherwise, all instances will attempt to connect to the default port and fail. + // If both --connect-existing and --websocket-port are used together, an error is thrown. + // However, if --connect-existing is not used and --websocket-port is not specified, the websocketPort is set to 0. + if (startArgs.connectExisting && startArgs.websocketPort) { + throw new Error( + "Cannot use --connect-existing and --websocket-port together" + ); + } else if (!startArgs.connectExisting && !startArgs.websocketPort) { + startArgs.websocketPort = 0; }