Adam vor 1 Monat
Ursprung
Commit
7a42ecdddb

+ 1 - 0
packages/app/src/pages/session.tsx

@@ -1098,6 +1098,7 @@ export default function Page() {
               comments.clear()
               resumeScroll()
             }}
+            onResponseSubmit={resumeScroll}
             setPromptDockRef={(el) => {
               promptDock = el
             }}

+ 6 - 2
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: {
         <Show when={props.state.questionRequest()} keyed>
           {(request) => (
             <div>
-              <SessionQuestionDock request={request} />
+              <SessionQuestionDock request={request} onSubmit={props.onResponseSubmit} />
             </div>
           )}
         </Show>
@@ -68,7 +69,10 @@ export function SessionComposerRegion(props: {
               <SessionPermissionDock
                 request={request}
                 responding={props.state.permissionResponding()}
-                onDecide={props.state.decide}
+                onDecide={(response) => {
+                  props.onResponseSubmit()
+                  props.state.decide(response)
+                }}
               />
             </div>
           )}

+ 3 - 1
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 })