Problem (one or two sentences)
The webview can keep showing actionable approval controls for a tool ask even after that ask has already been resolved. That makes auto-approved read-only asks feel visually unstable.
Context (who is affected and when)
This affects users with read-only auto-approve enabled and contributors reviewing the chat UI behavior. It is the smallest user-facing containment step for issue #102.
Desired behavior (conceptual, not technical)
Once a tool ask is already resolved, the user should not keep seeing active Approve / Reject controls for it.
Constraints / preferences (optional)
Keep this as a frontend-only containment pass. Do not turn it into a broad approval-pipeline rewrite.
Request checklist
Zoo Code Task Links (optional)
Acceptance criteria (optional)
Proposed approach (optional)
Use the extracted ask/footer-state seam from #103 to suppress actionable controls when a tool ask has already been answered/resolved, without changing the backend approval sequencing yet.
Trade-offs / risks (optional)
This is an interim containment step, not the root-cause fix. It should reduce UI inconsistency, but the backend sequencing work in #105 is still needed.
Problem (one or two sentences)
The webview can keep showing actionable approval controls for a tool ask even after that ask has already been resolved. That makes auto-approved read-only asks feel visually unstable.
Context (who is affected and when)
This affects users with read-only auto-approve enabled and contributors reviewing the chat UI behavior. It is the smallest user-facing containment step for issue #102.
Desired behavior (conceptual, not technical)
Once a tool ask is already resolved, the user should not keep seeing active
Approve/Rejectcontrols for it.Constraints / preferences (optional)
Keep this as a frontend-only containment pass. Do not turn it into a broad approval-pipeline rewrite.
Request checklist
Zoo Code Task Links (optional)
Acceptance criteria (optional)
ChatViewcoverage proves the containment behavior.Proposed approach (optional)
Use the extracted ask/footer-state seam from #103 to suppress actionable controls when a tool ask has already been answered/resolved, without changing the backend approval sequencing yet.
Trade-offs / risks (optional)
This is an interim containment step, not the root-cause fix. It should reduce UI inconsistency, but the backend sequencing work in #105 is still needed.