Skip to content

Commit 9d23f65

Browse files
authored
feat: Default to local mode instead of worktree for new tasks (#957)
1 parent 383d7d9 commit 9d23f65

6 files changed

Lines changed: 9 additions & 10 deletions

File tree

apps/twig/src/main/lib/logger.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { app } from "electron";
22
import log from "electron-log/main";
33

4-
// Initialize electron-log:
5-
// - spyRendererConsole captures all renderer console output via webContents
6-
// console-message events and writes them to the main log file
7-
log.initialize({ spyRendererConsole: true });
4+
// Initialize electron-log. Don't enable spyRendererConsole - it creates duplicate
5+
// log lines because renderer logs already reach main via the IPC transport.
6+
log.initialize();
87

98
// Set levels - use debug in dev (check NODE_ENV since app.isPackaged may not be ready)
109
const isDev = process.env.NODE_ENV === "development" || !app.isPackaged;

apps/twig/src/renderer/features/settings/stores/settingsStore.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,8 @@ export const useSettingsStore = create<SettingsStore>()(
5050
(set) => ({
5151
defaultRunMode: "last_used",
5252
lastUsedRunMode: "local",
53-
lastUsedLocalWorkspaceMode: "worktree",
54-
lastUsedWorkspaceMode: "worktree",
53+
lastUsedLocalWorkspaceMode: "local",
54+
lastUsedWorkspaceMode: "local",
5555
lastUsedAdapter: "claude",
5656
lastUsedModel: null,
5757
desktopNotifications: true,

apps/twig/src/renderer/features/task-detail/components/TaskInput.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export function TaskInput() {
4444
const [isDraggingFile, setIsDraggingFile] = useState(false);
4545

4646
const selectedDirectory = lastUsedDirectory || "";
47-
const workspaceMode = lastUsedLocalWorkspaceMode || "worktree";
47+
const workspaceMode = lastUsedLocalWorkspaceMode || "local";
4848
const adapter = lastUsedAdapter;
4949

5050
const setSelectedDirectory = (path: string) =>

apps/twig/src/renderer/features/task-detail/service/service.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ export class TaskService {
160160

161161
// Derive values from input or output
162162
const workspaceMode =
163-
input?.workspaceMode ?? output.workspace?.mode ?? "worktree";
163+
input?.workspaceMode ?? output.workspace?.mode ?? "local";
164164
const repoPath = input?.repoPath ?? output.workspace?.folderPath;
165165

166166
// Save workspace mode for this task

apps/twig/src/renderer/features/task-detail/stores/taskExecutionStore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const defaultTaskState: TaskExecutionState = {
3535
repoPath: null,
3636
repoExists: null,
3737
runMode: "local",
38-
workspaceMode: "worktree",
38+
workspaceMode: "local",
3939
};
4040

4141
export const useTaskExecutionStore = create<TaskExecutionStore>()(

apps/twig/src/renderer/sagas/task/task-creation.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export class TaskCreationSaga extends Saga<
8585
// Step 3: Resolve workspaceMode - input takes precedence, then derive from task
8686
const workspaceMode =
8787
input.workspaceMode ??
88-
(task.latest_run?.environment === "cloud" ? "cloud" : "worktree");
88+
(task.latest_run?.environment === "cloud" ? "cloud" : "local");
8989

9090
log.info("Task setup resolved", {
9191
taskId: task.id,

0 commit comments

Comments
 (0)