diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx
index 496f0487d..1a922d725 100644
--- a/packages/app/src/pages/session.tsx
+++ b/packages/app/src/pages/session.tsx
@@ -1098,6 +1098,7 @@ export default function Page() {
comments.clear()
resumeScroll()
}}
+ onResponseSubmit={resumeScroll}
setPromptDockRef={(el) => {
promptDock = el
}}
diff --git a/packages/app/src/pages/session/composer/session-composer-region.tsx b/packages/app/src/pages/session/composer/session-composer-region.tsx
index ccf39f797..cfd78ece8 100644
--- a/packages/app/src/pages/session/composer/session-composer-region.tsx
+++ b/packages/app/src/pages/session/composer/session-composer-region.tsx
@@ -16,6 +16,7 @@ export function SessionComposerRegion(props: {
newSessionWorktree: string
onNewSessionWorktreeReset: () => void
onSubmit: () => void
+ onResponseSubmit: () => void
setPromptDockRef: (el: HTMLDivElement) => void
}) {
const params = useParams()
@@ -57,7 +58,7 @@ export function SessionComposerRegion(props: {
{(request) => (
-
+
)}
@@ -68,7 +69,10 @@ export function SessionComposerRegion(props: {
{
+ props.onResponseSubmit()
+ props.state.decide(response)
+ }}
/>
)}
diff --git a/packages/app/src/pages/session/composer/session-question-dock.tsx b/packages/app/src/pages/session/composer/session-question-dock.tsx
index 97c81a49a..1ccac937c 100644
--- a/packages/app/src/pages/session/composer/session-question-dock.tsx
+++ b/packages/app/src/pages/session/composer/session-question-dock.tsx
@@ -8,7 +8,7 @@ import type { QuestionAnswer, QuestionRequest } from "@opencode-ai/sdk/v2"
import { useLanguage } from "@/context/language"
import { useSDK } from "@/context/sdk"
-export const SessionQuestionDock: Component<{ request: QuestionRequest }> = (props) => {
+export const SessionQuestionDock: Component<{ request: QuestionRequest; onSubmit: () => void }> = (props) => {
const sdk = useSDK()
const language = useLanguage()
@@ -115,6 +115,7 @@ export const SessionQuestionDock: Component<{ request: QuestionRequest }> = (pro
const reply = async (answers: QuestionAnswer[]) => {
if (store.sending) return
+ props.onSubmit()
setStore("sending", true)
try {
await sdk.client.question.reply({ requestID: props.request.id, answers })
@@ -128,6 +129,7 @@ export const SessionQuestionDock: Component<{ request: QuestionRequest }> = (pro
const reject = async () => {
if (store.sending) return
+ props.onSubmit()
setStore("sending", true)
try {
await sdk.client.question.reject({ requestID: props.request.id })