From e19e59271cbb50b191905ee00afb9e60f1af7c50 Mon Sep 17 00:00:00 2001 From: Kainoa Newton Date: Thu, 12 Mar 2026 21:08:58 -0700 Subject: [PATCH] Redesign default thread mode selector in chat settings - Replace the thread mode switch with selectable Local/New worktree option cards - Refresh the Threads settings panel styling and copy for clearer mode selection - Update mock service worker asset version to 2.12.10 --- apps/web/public/mockServiceWorker.js | 2 +- apps/web/src/routes/_chat.settings.tsx | 138 ++++++++++++++++++------- 2 files changed, 102 insertions(+), 38 deletions(-) diff --git a/apps/web/public/mockServiceWorker.js b/apps/web/public/mockServiceWorker.js index 85e901012..daa58d0f1 100644 --- a/apps/web/public/mockServiceWorker.js +++ b/apps/web/public/mockServiceWorker.js @@ -7,7 +7,7 @@ * - Please do NOT modify this file. */ -const PACKAGE_VERSION = '2.12.9' +const PACKAGE_VERSION = '2.12.10' const INTEGRITY_CHECKSUM = '4db4a41e972cec1b64cc569c66952d82' const IS_MOCKED_RESPONSE = Symbol('isMockedResponse') const activeClientIds = new Set() diff --git a/apps/web/src/routes/_chat.settings.tsx b/apps/web/src/routes/_chat.settings.tsx index b4afcdefa..35400a8de 100644 --- a/apps/web/src/routes/_chat.settings.tsx +++ b/apps/web/src/routes/_chat.settings.tsx @@ -62,6 +62,19 @@ const TIMESTAMP_FORMAT_LABELS = { "24-hour": "24-hour", } as const; +const THREAD_ENV_MODE_OPTIONS = [ + { + value: "local", + label: "Local", + description: "Start new threads in the main project working tree.", + }, + { + value: "worktree", + label: "New worktree", + description: "Start new threads in worktree mode so the first send creates a new worktree.", + }, +] as const; + function getCustomModelsForProvider( settings: ReturnType["settings"], provider: ProviderKind, @@ -502,47 +515,98 @@ function SettingsRouteView() { -
-
-

Threads

-

- Choose the default workspace mode for newly created draft threads. -

-
- -
-
-

Default to New worktree

-

- New threads start in New worktree mode instead of Local. +

+