fix(desktop): set default WebSocket username and prevent repeated calling of terminal spawn properly closing the terminal (#17061)

This commit is contained in:
OpeOginni 2026-03-12 07:48:44 +01:00 committed by GitHub
parent d481f64bde
commit c9c0318e0e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 5 deletions

View File

@ -16,6 +16,8 @@ import { usePlatform } from "@/context/platform"
import { normalizeServerUrl, ServerConnection, useServer } from "@/context/server"
import { checkServerHealth, type ServerHealth } from "@/utils/server-health"
const DEFAULT_USERNAME = "opencode"
interface ServerFormProps {
value: string
name: string
@ -178,7 +180,7 @@ export function DialogSelectServer() {
addServer: {
url: "",
name: "",
username: "",
username: DEFAULT_USERNAME,
password: "",
adding: false,
error: "",
@ -201,7 +203,7 @@ export function DialogSelectServer() {
setStore("addServer", {
url: "",
name: "",
username: "",
username: DEFAULT_USERNAME,
password: "",
adding: false,
error: "",
@ -362,8 +364,8 @@ export function DialogSelectServer() {
http: { url: normalized },
}
if (store.addServer.name.trim()) conn.displayName = store.addServer.name.trim()
if (store.addServer.username) conn.http.username = store.addServer.username
if (store.addServer.password) conn.http.password = store.addServer.password
if (store.addServer.password && store.addServer.username) conn.http.username = store.addServer.username
const result = await checkServerHealth(conn.http, fetcher)
setStore("addServer", { adding: false })
if (!result.healthy) {
@ -441,7 +443,7 @@ export function DialogSelectServer() {
showForm: true,
url: "",
name: "",
username: "",
username: DEFAULT_USERNAME,
password: "",
error: "",
status: undefined,

View File

@ -452,7 +452,7 @@ export const Terminal = (props: TerminalProps) => {
url.searchParams.set("directory", sdk.directory)
url.searchParams.set("cursor", String(start !== undefined ? start : restore ? -1 : 0))
url.protocol = url.protocol === "https:" ? "wss:" : "ws:"
url.username = server.current?.http.username ?? ""
url.username = server.current?.http.username ?? "opencode"
url.password = server.current?.http.password ?? ""
const socket = new WebSocket(url)