diff --git a/packages/app/src/panels/agent-panel.tsx b/packages/app/src/panels/agent-panel.tsx index 3c4a51a02..33bce0da6 100644 --- a/packages/app/src/panels/agent-panel.tsx +++ b/packages/app/src/panels/agent-panel.tsx @@ -367,16 +367,24 @@ export function useDraftPanelDescriptor( target: { kind: "draft"; draftId: string }, context: { serverId: string }, ) { - const pendingCreate = useCreateFlowStore((state) => { - const pending = state.pendingByDraftId[target.draftId]; - return pending?.serverId === context.serverId && pending.lifecycle === "active" - ? pending - : null; - }); + const createDescriptorState = useCreateFlowStore( + useShallow((state) => { + const pending = state.pendingByDraftId[target.draftId]; + if (pending?.serverId !== context.serverId || pending.lifecycle !== "active") { + return { + isCreating: false, + pendingPrompt: null, + }; + } + return { + isCreating: true, + pendingPrompt: pending.text, + }; + }), + ); return buildDraftPanelDescriptor({ - isCreating: Boolean(pendingCreate), - pendingPrompt: pendingCreate?.text, + ...createDescriptorState, icon: SquarePen, }); }