summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/utils/terminal-websocket-url.ts
diff options
context:
space:
mode:
authorKit Langton <[email protected]>2026-05-03 17:13:42 -0400
committerGitHub <[email protected]>2026-05-03 21:13:42 +0000
commitca6150d6f092cc8761d6072b0b07b6a7de8748cf (patch)
tree2e62b173530b8bb8f1d0d9583764217d3b7a888b /packages/app/src/utils/terminal-websocket-url.ts
parent825ab2e38d1f41074bb536b6ba5771f30594b197 (diff)
downloadopencode-ca6150d6f092cc8761d6072b0b07b6a7de8748cf.tar.gz
opencode-ca6150d6f092cc8761d6072b0b07b6a7de8748cf.zip
fix(app): preserve auth token credentials (#25636)
Diffstat (limited to 'packages/app/src/utils/terminal-websocket-url.ts')
-rw-r--r--packages/app/src/utils/terminal-websocket-url.ts10
1 files changed, 8 insertions, 2 deletions
diff --git a/packages/app/src/utils/terminal-websocket-url.ts b/packages/app/src/utils/terminal-websocket-url.ts
index d364762d7..c1c7abad4 100644
--- a/packages/app/src/utils/terminal-websocket-url.ts
+++ b/packages/app/src/utils/terminal-websocket-url.ts
@@ -1,3 +1,5 @@
+import { authTokenFromCredentials } from "@/utils/server"
+
export function terminalWebSocketURL(input: {
url: string
id: string
@@ -6,12 +8,16 @@ export function terminalWebSocketURL(input: {
sameOrigin: boolean
username: string
password?: string
+ authToken?: boolean
}) {
const next = new URL(`${input.url}/pty/${input.id}/connect`)
next.searchParams.set("directory", input.directory)
next.searchParams.set("cursor", String(input.cursor))
next.protocol = next.protocol === "https:" ? "wss:" : "ws:"
- if (!input.sameOrigin && input.password)
- next.searchParams.set("auth_token", btoa(`${input.username}:${input.password}`))
+ if (input.password && (!input.sameOrigin || input.authToken))
+ next.searchParams.set(
+ "auth_token",
+ authTokenFromCredentials({ username: input.username, password: input.password }),
+ )
return next
}