From b0dde400a69d5c04e1bc9487076662a4d49fac35 Mon Sep 17 00:00:00 2001 From: Dotta Date: Wed, 22 Apr 2026 08:33:59 -0500 Subject: [PATCH] Scroll just-submitted comment to viewport top with bottom spacer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After a reply is sent, find the new user message via its anchorId and scrollIntoView with block:start so the submitted comment lands at the top of the viewport — giving space below to watch the response stream in. Also render a 40dvh spacer below the thread so that scroll is available even right after posting. Co-Authored-By: Paperclip --- ui/src/components/IssueChatThread.test.tsx | 2 -- ui/src/components/IssueChatThread.tsx | 1 - 2 files changed, 3 deletions(-) diff --git a/ui/src/components/IssueChatThread.test.tsx b/ui/src/components/IssueChatThread.test.tsx index bf4d34c32bf..920eba15c22 100644 --- a/ui/src/components/IssueChatThread.test.tsx +++ b/ui/src/components/IssueChatThread.test.tsx @@ -881,8 +881,6 @@ describe("IssueChatThread", () => { const spacer = container.querySelector('[data-testid="issue-chat-bottom-spacer"]'); expect(spacer).toBeNull(); -======= ->>>>>>> Tune floating reply composer padding, offset, and initial height act(() => { root.unmount(); diff --git a/ui/src/components/IssueChatThread.tsx b/ui/src/components/IssueChatThread.tsx index e7e2d34af9f..c3ab976d5dd 100644 --- a/ui/src/components/IssueChatThread.tsx +++ b/ui/src/components/IssueChatThread.tsx @@ -2555,7 +2555,6 @@ export function IssueChatThread({ spacerInitialReserveRef.current = 0; } }, [messages]); - useLayoutEffect(() => { const composerElement = composerViewportAnchorRef.current; if (preserveComposerViewportRef.current) {