Parcourir la source

fix(ui): prevent tool status blank frame (#34547)

Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
Luke Parker il y a 1 mois
Parent
commit
2fe68b5e91
1 fichiers modifiés avec 10 ajouts et 13 suppressions
  1. 10 13
      packages/session-ui/src/components/tool-status-title.tsx

+ 10 - 13
packages/session-ui/src/components/tool-status-title.tsx

@@ -59,24 +59,21 @@ export function ToolStatusTitle(props: {
 
   const animate = () => {
     const first = contentWidth(widthRef)
+    const next = props.active
     finish()
-    setState("animating", true)
-    setState("active", props.active)
-    const last = contentWidth(props.active ? activeRef : doneRef)
-    if (!first || !last) {
-      finish()
-      return
-    }
+    setState("active", next)
+    if (!first) return
 
+    setState("animating", true)
     setState("width", first)
-    if (first === last) {
-      finishTimer = setTimeout(finish, 600)
-      return
-    }
-
     frame = requestAnimationFrame(() => {
       frame = undefined
-      setState("width", last)
+      const last = contentWidth(next ? activeRef : doneRef)
+      if (!last) {
+        finish()
+        return
+      }
+      if (first !== last) setState("width", last)
       finishTimer = setTimeout(finish, 600)
     })
   }