From 6fa76a6b48f3d6f9424cba06fe5d8c6324b1b656 Mon Sep 17 00:00:00 2001 From: Harry Pierson Date: Wed, 18 Feb 2026 13:49:58 -0800 Subject: [PATCH] Revert "update how conductor handles domains (#285)" This reverts commit 8ce07bfc931c9568c30d8916d78b913a36e46c69. --- .../dbos/transact/conductor/Conductor.java | 24 ++++++------------- .../transact/conductor/ConductorTest.java | 5 ++-- 2 files changed, 9 insertions(+), 20 deletions(-) diff --git a/transact/src/main/java/dev/dbos/transact/conductor/Conductor.java b/transact/src/main/java/dev/dbos/transact/conductor/Conductor.java index a379bea1..32bb6af4 100644 --- a/transact/src/main/java/dev/dbos/transact/conductor/Conductor.java +++ b/transact/src/main/java/dev/dbos/transact/conductor/Conductor.java @@ -155,31 +155,21 @@ private Conductor(Builder builder) { String appName = dbosExecutor.appName(); Objects.requireNonNull(appName, "App Name must not be null to use Conductor"); - var hostname = builder.domain; - if (hostname == null) { + String domain = builder.domain; + if (domain == null) { String dbosDomain = System.getenv("DBOS_DOMAIN"); if (dbosDomain == null || dbosDomain.trim().isEmpty()) { - hostname = "cloud.dbos.dev"; + domain = "wss://cloud.dbos.dev"; } else { - hostname = dbosDomain.trim(); + domain = "wss://" + dbosDomain.trim(); } + domain += "/conductor/v1alpha1"; } else { // ensure there is no trailing slash - hostname = hostname.replaceAll("/$", ""); + domain = domain.replaceAll("/$", ""); } - // Determine protocol based on hostname (use ws for localhost, wss for others) - boolean isLocalHost = - "localhost".equals(hostname) - || hostname.startsWith("localhost:") - || "127.0.0.1".equals(hostname) - || hostname.startsWith("127.0.0.1:"); - var protocol = isLocalHost ? "ws" : "wss"; - - this.url = - String.format( - "%s://%s/conductor/v1alpha1/websocket/%s/%s", - protocol, hostname, appName, builder.conductorKey); + this.url = domain + "/websocket/" + appName + "/" + builder.conductorKey; this.pingPeriodMs = builder.pingPeriodMs; this.pingTimeoutMs = builder.pingTimeoutMs; diff --git a/transact/src/test/java/dev/dbos/transact/conductor/ConductorTest.java b/transact/src/test/java/dev/dbos/transact/conductor/ConductorTest.java index ba374eef..c3273d51 100644 --- a/transact/src/test/java/dev/dbos/transact/conductor/ConductorTest.java +++ b/transact/src/test/java/dev/dbos/transact/conductor/ConductorTest.java @@ -91,7 +91,7 @@ void beforeEach() throws Exception { int port = testServer.getPort(); assertTrue(port != 0, "Invalid Web Socket Server port"); - String domain = String.format("localhost:%d", port); + String domain = String.format("ws://localhost:%d", port); mockDB = mock(SystemDatabase.class); mockExec = mock(DBOSExecutor.class); @@ -126,8 +126,7 @@ public void onOpen(WebSocket conn, ClientHandshake handshake) { try (Conductor conductor = builder.build()) { conductor.start(); assertTrue(listener.latch.await(10, TimeUnit.SECONDS), "latch timed out"); - assertEquals( - "/conductor/v1alpha1/websocket/test-app-name/conductor-key", listener.resourceDescriptor); + assertEquals("/websocket/test-app-name/conductor-key", listener.resourceDescriptor); } }