From ff5fcb3a65659b22edfb92a9e81b8c50a53b6218 Mon Sep 17 00:00:00 2001
From: David Kaya
Date: Tue, 24 Mar 2026 19:14:35 +0100
Subject: [PATCH] fix: exclude scratchpad from the new-session modal
The modal is now only used for project sessions, so filter out the
scratchpad project from the dropdown and remove scratchpad-specific
hints and pattern restrictions.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---
src/renderer/components/NewSessionModal.tsx | 27 ++++++---------------
1 file changed, 8 insertions(+), 19 deletions(-)
diff --git a/src/renderer/components/NewSessionModal.tsx b/src/renderer/components/NewSessionModal.tsx
index 8eb9556..e82f5a9 100644
--- a/src/renderer/components/NewSessionModal.tsx
+++ b/src/renderer/components/NewSessionModal.tsx
@@ -21,21 +21,21 @@ export function NewSessionModal({
onCreate,
onTogglePatternFavorite,
}: NewSessionModalProps) {
- const [projectId, setProjectId] = useState(defaultProjectId ?? projects[0]?.id ?? '');
+ const userProjects = useMemo(
+ () => projects.filter((p) => !isScratchpadProject(p)),
+ [projects],
+ );
+ const [projectId, setProjectId] = useState(defaultProjectId ?? userProjects[0]?.id ?? '');
const availablePatterns = useMemo(
() =>
patterns
- .filter(
- (pattern) =>
- pattern.availability !== 'unavailable'
- && (!isScratchpadProject(projectId) || pattern.mode === 'single'),
- )
+ .filter((pattern) => pattern.availability !== 'unavailable')
.sort((a, b) => {
if (a.isFavorite && !b.isFavorite) return -1;
if (!a.isFavorite && b.isFavorite) return 1;
return 0;
}),
- [patterns, projectId],
+ [patterns],
);
const [patternId, setPatternId] = useState(availablePatterns[0]?.id ?? '');
@@ -71,18 +71,12 @@ export function NewSessionModal({
onChange={(e) => setProjectId(e.target.value)}
value={projectId}
>
- {projects.map((p) => (
+ {userProjects.map((p) => (
))}
- {isScratchpadProject(projectId) && (
-
- Scratchpad is a projectless 1-on-1 chat for ad-hoc questions. It should behave like
- pure Q&A rather than repo automation.
-
- )}
)}
- {isScratchpadProject(projectId) && (
-
- Scratchpad supports single-agent chat patterns only.
-
- )}