Skip to content

fix(assistant): restore follow-ups and refine history and voice - #268

Merged
chaxus merged 3 commits into
mainfrom
fix/assistant-stop-reuse
Oct 14, 2026
Merged

chaxus merged 3 commits into
mainfrom
fix/assistant-stop-reuse

Conversation

@chaxus

@chaxus chaxus commented Oct 14, 2026

Copy link
Copy Markdown
Member

Summary

Stopping a browser-local assistant response could make every later question fail: WebLLM retained its interruption flag and returned empty content during the next JSON routing request. Use the SDK streaming path for all WebLLM calls, collect complete results for chat/JSON callers, and preserve tool IDs, usage and cancellation cleanup.

  • Replace the history picker with local title/message search, date groups, current-conversation identification and row deletion with a named confirmation. Keep storage controls in a secondary disclosure and reveal errors when persistence fails.
  • Keep voice controls and the composer stable through starting, listening and finalization. Reuse r-popover for explanations, retain icons, and keep the transcript editable with explicit Send and cancellation.

Commits

  • 46b3c77 — Stop/follow-up recovery and SDK regression coverage.
  • 641226c — Searchable conversation browsing and safe data management.
  • 23d999f — Stable voice controls and timed explanations.

Validation

  • Full Vitest suite: 5,412 tests across 183 files passed.
  • Integrated Chromium regression: 15 tests passed across composer UX, sidebar alignment, conversation browsing, dictation and Stop/follow-up suites.
  • Production build, full format check, lint and workspace/application TypeScript checks passed.
  • Speech coverage includes actual Word, Excel, PowerPoint and PDF editor layouts, 320px status readability, portal stacking/hover, keyboard focus, Escape, three-second inactive dismissal, persistent errors, long drafts and final transcript delivery.
  • History coverage includes 400-message restoration, title/message search, inactive-row deletion, conflict/IndexedDB failure feedback, focus restoration and light/dark/narrow layouts.

Regression evidence: restoring the original WebLLM provider makes both installed-SDK Stop/follow-up cases fail with empty JSON. The SDK test uses real generation/cancellation control flow with a synthetic GPU boundary. Removing history filtering makes the search regression fail. Speech geometry reproduced a 46.375px composer expansion before the fix.

Review and limits

Independent review identified and resolved streamed Hermes tool IDs and hidden history deletion errors. Browser E2E uses real editor frames and controlled speech events/loopback responses. Physical microphone transcription, OS permission prompts and physical GPU inference/Worker latency are not claimed as verified.

@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying document with  Cloudflare Pages  Cloudflare Pages

Latest commit: 23d999f
Status: ✅  Deploy successful!
Preview URL: https://15cee029.document-7hm.pages.dev
Branch Preview URL: https://fix-assistant-stop-reuse.document-7hm.pages.dev

View logs

@chaxus
chaxus enabled auto-merge (rebase) October 14, 2026 13:34
@chaxus
chaxus merged commit baf3c98 into main Oct 14, 2026
19 checks passed
@chaxus
chaxus deleted the fix/assistant-stop-reuse branch October 14, 2026 13:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant