From f8c030d3a25b5be594ed144b4f6421b6f3343a4e Mon Sep 17 00:00:00 2001 From: Sean Lee Date: Tue, 20 Jun 2023 16:45:26 -0400 Subject: [PATCH] Use unique socket path per user. --- src/node/vscodeSocket.ts | 2 +- test/unit/node/vscodeSocket.test.ts | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/node/vscodeSocket.ts b/src/node/vscodeSocket.ts index df1d8406ca51..96e917959a9f 100644 --- a/src/node/vscodeSocket.ts +++ b/src/node/vscodeSocket.ts @@ -8,7 +8,7 @@ import { listen } from "./app" import { canConnect } from "./util" // Socket path of the daemonized code-server instance. -export const DEFAULT_SOCKET_PATH = path.join(os.tmpdir(), "code-server-ipc.sock") +export const DEFAULT_SOCKET_PATH = path.join(os.tmpdir(), `code-server-ipc-${os.userInfo().username}.sock`) export interface EditorSessionEntry { workspace: { diff --git a/test/unit/node/vscodeSocket.test.ts b/test/unit/node/vscodeSocket.test.ts index 75357c76bf08..09a2d8b24178 100644 --- a/test/unit/node/vscodeSocket.test.ts +++ b/test/unit/node/vscodeSocket.test.ts @@ -1,8 +1,18 @@ import { logger } from "@coder/logger" +import * as os from "os" import * as app from "../../../src/node/app" -import { EditorSessionManager, makeEditorSessionManagerServer } from "../../../src/node/vscodeSocket" +import { + DEFAULT_SOCKET_PATH, + EditorSessionManager, + makeEditorSessionManagerServer, +} from "../../../src/node/vscodeSocket" import { clean, tmpdir, listenOn, mockLogger } from "../../utils/helpers" +describe("DEFAULT_SOCKET_PATH", () => { + it("should be a unique path per user", () => { + expect(DEFAULT_SOCKET_PATH).toBe(`${os.tmpdir()}/code-server-ipc-${os.userInfo().username}.sock`) + }) +}) describe("makeEditorSessionManagerServer", () => { let tmpDirPath: string