From 04ceb1f61992f14d209dc9a43fa6ca4bb9f76f68 Mon Sep 17 00:00:00 2001 From: Dotta Date: Mon, 16 Mar 2026 18:26:06 -0500 Subject: [PATCH] Fix codebase Save button not closing form after update The updateWorkspace mutation's onSuccess handler only invalidated the project query but didn't reset the form state (close the edit mode, clear inputs). This made it look like Save did nothing when editing an existing workspace. Now matches createWorkspace's onSuccess behavior. Also added updateWorkspace.isPending to the Save button disabled state for both local folder and repo inputs. Co-Authored-By: Paperclip Co-Authored-By: Claude Opus 4.6 --- ui/src/components/ProjectProperties.tsx | 134 +++++++++++++----------- 1 file changed, 75 insertions(+), 59 deletions(-) diff --git a/ui/src/components/ProjectProperties.tsx b/ui/src/components/ProjectProperties.tsx index edbded33..95c49246 100644 --- a/ui/src/components/ProjectProperties.tsx +++ b/ui/src/components/ProjectProperties.tsx @@ -230,7 +230,13 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa const updateWorkspace = useMutation({ mutationFn: ({ workspaceId, data }: { workspaceId: string; data: Record }) => projectsApi.updateWorkspace(project.id, workspaceId, data), - onSuccess: invalidateProject, + onSuccess: () => { + setWorkspaceCwd(""); + setWorkspaceRepoUrl(""); + setWorkspaceMode(null); + setWorkspaceError(null); + invalidateProject(); + }, }); const removeGoal = (goalId: string) => { @@ -528,47 +534,83 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa {formatRepoUrl(codebase.repoUrl)} - +
+ + +
) : ( -
Not set.
+
+
Not set.
+ +
)}
Local folder
- {codebase.localFolder ? ( -
- {codebase.localFolder} +
+
+
+ {codebase.effectiveLocalFolder} +
+ {codebase.origin === "managed_checkout" && ( +
Paperclip-managed folder.
+ )} +
+
+ {codebase.localFolder ? ( + + ) : null}
- ) : ( -
-
Not set.
-
Paperclip will use a managed checkout instead.
-
- )} -
- -
-
Effective working folder
-
{codebase.effectiveLocalFolder}
-
- {codebase.origin === "local_folder" ? "Using your local folder." : "Paperclip-managed folder."}
@@ -624,32 +666,6 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa
) : null}
-
- - -
{workspaceMode === "local" && (
@@ -666,7 +682,7 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa variant="outline" size="xs" className="h-6 px-2" - disabled={!workspaceCwd.trim() || createWorkspace.isPending} + disabled={!workspaceCwd.trim() || createWorkspace.isPending || updateWorkspace.isPending} onClick={submitLocalWorkspace} > Save @@ -699,7 +715,7 @@ export function ProjectProperties({ project, onUpdate, onFieldUpdate, getFieldSa variant="outline" size="xs" className="h-6 px-2" - disabled={!workspaceRepoUrl.trim() || createWorkspace.isPending} + disabled={!workspaceRepoUrl.trim() || createWorkspace.isPending || updateWorkspace.isPending} onClick={submitRepoWorkspace} > Save