From bc12e01fd9b9cfc7464bbd90c7a0ab4fa7d2d755 Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Mon, 24 Aug 2026 19:29:51 -0700 Subject: [PATCH] fix(composer): restore project group reset effect Revert read-side mask back to the merge-base state clear so a momentarily unavailable host permanently drops the folder group instead of silently retargeting Create when the host reappears. --- .../composer-state/initial-target-state.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/src/renderer/src/hooks/composer-state/initial-target-state.ts b/src/renderer/src/hooks/composer-state/initial-target-state.ts index 32584d6992b..407bb2cd0df 100644 --- a/src/renderer/src/hooks/composer-state/initial-target-state.ts +++ b/src/renderer/src/hooks/composer-state/initial-target-state.ts @@ -131,11 +131,15 @@ export function useComposerInitialTargetState(input: ComposerInitialTargetStateI [actionableHostIds, projectGroups, selectedProjectGroupId] ) - const effectiveSelectedProjectGroupId = selectedProjectGroup ? selectedProjectGroupId : null + useEffect(() => { + if (selectedProjectGroupId && !selectedProjectGroup) { + setSelectedProjectGroupId(null) + } + }, [selectedProjectGroup, selectedProjectGroupId]) useEffect(() => { if ( - effectiveSelectedProjectGroupId || + selectedProjectGroupId || !initialFolderProjectGroupId || initialProjectGroupAppliedRef.current ) { @@ -150,12 +154,7 @@ export function useComposerInitialTargetState(input: ComposerInitialTargetStateI initialProjectGroupAppliedRef.current = true setSelectedProjectGroupId(nextGroup.id) } - }, [ - actionableHostIds, - effectiveSelectedProjectGroupId, - initialFolderProjectGroupId, - projectGroups - ]) + }, [actionableHostIds, initialFolderProjectGroupId, projectGroups, selectedProjectGroupId]) return { draftRepoId, @@ -173,7 +172,7 @@ export function useComposerInitialTargetState(input: ComposerInitialTargetStateI setSelectedProjectHostSetupOverrideId, initialFolderProjectGroupId, initialFolderProjectGroup, - selectedProjectGroupId: effectiveSelectedProjectGroupId, + selectedProjectGroupId, setSelectedProjectGroupId, initialProjectGroupAppliedRef, projectError,