Summary
In the expanded Live Reasoning panel, the corner X (close) button does not dismiss the panel. Clicking it does nothing; the panel only disappears when the parent "Your AI Assistant" window is closed (which unmounts it).
Steps to reproduce
- Start a solution build and open the details to watch the live building.
- In the Live Reasoning popup, click the X in the top corner.
- Observe: the panel stays open. Closing the "Your AI Assistant" window does hide it.
Root cause
In app/src/demo_prompt_generator/ui/components/project/chat-panel.tsx, the expanded Live Reasoning panel's header div is the drag handle: onPointerDown={handleDragStart}, and handleDragStart calls e.preventDefault() + setPointerCapture (~lines 672–673, 699).
The sibling header buttons Minimize and Show details each defensively add onPointerDown={(e) => e.stopPropagation()} (~lines 928, 940) so the drag handler doesn't swallow their interaction. The Close (X) button (~lines 946–952) is missing this guard, so pressing X starts a drag / captures the pointer instead of firing the click, and handleClose never runs.
(The minimized-pill close button at ~lines 886–893 already has the guard and works — consistent with only the expanded-panel corner X failing.)
Suggested fix
Add the same guard to the close button so it matches its siblings:
<button
onPointerDown={(e) => e.stopPropagation()}
onClick={handleClose}
...
>
Environment
Partner-facing deployment of Solution Builder (React 19 + Vite). Reported by a beta tester.
Summary
In the expanded Live Reasoning panel, the corner X (close) button does not dismiss the panel. Clicking it does nothing; the panel only disappears when the parent "Your AI Assistant" window is closed (which unmounts it).
Steps to reproduce
Root cause
In
app/src/demo_prompt_generator/ui/components/project/chat-panel.tsx, the expanded Live Reasoning panel's headerdivis the drag handle:onPointerDown={handleDragStart}, andhandleDragStartcallse.preventDefault()+setPointerCapture(~lines 672–673, 699).The sibling header buttons Minimize and Show details each defensively add
onPointerDown={(e) => e.stopPropagation()}(~lines 928, 940) so the drag handler doesn't swallow their interaction. The Close (X) button (~lines 946–952) is missing this guard, so pressing X starts a drag / captures the pointer instead of firing the click, andhandleClosenever runs.(The minimized-pill close button at ~lines 886–893 already has the guard and works — consistent with only the expanded-panel corner X failing.)
Suggested fix
Add the same guard to the close button so it matches its siblings:
Environment
Partner-facing deployment of Solution Builder (React 19 + Vite). Reported by a beta tester.