From fb5580a50ade6cdafc12f4da8a2c60710ebb4d69 Mon Sep 17 00:00:00 2001 From: Jinwoo Hong <73622457+Jinwoo-H@users.noreply.github.com> Date: Sat, 30 May 2026 15:49:42 -0400 Subject: [PATCH] fix: use platform separators for default workspace dir (#3873) --- src/shared/constants.test.ts | 7 +++++++ src/shared/constants.ts | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/shared/constants.test.ts b/src/shared/constants.test.ts index 8566aa828..ea87e2e33 100644 --- a/src/shared/constants.test.ts +++ b/src/shared/constants.test.ts @@ -2,6 +2,13 @@ import { describe, expect, it } from 'vitest' import { getDefaultPrimarySelectionMiddleClickPaste, getDefaultSettings } from './constants' describe('getDefaultSettings', () => { + it('uses platform-consistent separators for the default workspace directory', () => { + expect(getDefaultSettings('/Users/alice').workspaceDir).toBe('/Users/alice/orca/workspaces') + expect(getDefaultSettings('C:\\Users\\alice').workspaceDir).toBe( + 'C:\\Users\\alice\\orca\\workspaces' + ) + }) + it('enables gitignored file decorations by default', () => { expect(getDefaultSettings('/tmp').showGitIgnoredFiles).toBe(true) }) diff --git a/src/shared/constants.ts b/src/shared/constants.ts index de4097899..a568774ac 100644 --- a/src/shared/constants.ts +++ b/src/shared/constants.ts @@ -154,9 +154,15 @@ export function getDefaultOnboardingState(): OnboardingState { } } +function getDefaultWorkspaceDir(homeDir: string): string { + const separator = homeDir.includes('\\') ? '\\' : '/' + const trimmedHomeDir = homeDir.replace(/[\\/]+$/, '') + return [trimmedHomeDir, 'orca', 'workspaces'].join(separator) +} + export function getDefaultSettings(homedir: string): GlobalSettings { return { - workspaceDir: `${homedir}/orca/workspaces`, + workspaceDir: getDefaultWorkspaceDir(homedir), nestWorkspaces: true, workspaceDirHistory: [], refreshLocalBaseRefOnWorktreeCreate: false,