The thinking bubble now shows real-time status instead of a static spinner: ⚡ Round 1 — thinking… ⚡ Round 1 — web_search ⚡ Round 2 — thinking… ⚡ Generating response… Implementation: async on_progress callback passed from _run_job into both orchestrators (_run_from_messages / _run_from_contents). Callback writes to job["progress"] under the jobs lock; poll responses include the field; app.js displays it in the thinking bubble when present. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
106 KiB
106 KiB