beerbottle90 stops the assistant from going blank

A fork-wide fix for empty replies and a chat spinner that never stops spinning.

chat-ui

If you have used Mike's chat assistant and watched it sit on a "Thinking" indicator that never resolved, or pop up an empty reply bubble with nothing in it, beerbottle90 chased down why. The culprit: the assistant was spending its entire response budget on internal reasoning before it ever got around to writing anything you could read. The fix gives it far more room, so the thinking step no longer starves the actual answer.

The same work cleans up two related annoyances. When the backend hits an error mid-response, you now see the error instead of a blank bubble, and the spinner clears itself when a turn ends without producing text. These are small changes in plain terms but they sit in the core chat path, not a side feature, so they touch every conversation.

So what Anyone running a Mike fork with a chat assistant should care, because this is the difference between users trusting the tool and assuming it is broken.

View this fork on GitHub →

Spotted something wrong? Or know the PR text has fresher detail than the writeup above?

Commits in this thread

2 commits from beerbottle90/mike-oss, oldest first. Source extracted verbatim from the harvested git log.

SHA Subject Author Date
036a4350 fix(frontend): clear thinking placeholder and handle error events in streaming beerbottle90 2026-06-07 ↗ GitHub
commit body
Clear streaming placeholders at stream end so the Thinking spinner does
not persist when reasoning ends without producing text. Add handler for
backend error SSE events so users see the message instead of an empty
response bubble. Add @modelcontextprotocol/sdk as backend dependency
(peer dep of @google/genai, missing caused VS Code red indicator).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
b439473e fix(backend): fix blank responses, VS Code warnings, and tsconfig beerbottle90 2026-06-07 ↗ GitHub
commit body
- Increase MAX_TOKENS from 16384 to 64000 in claude.ts to prevent
  extended thinking consuming entire token budget with no text output
- Add error event handler in useAssistantChat.ts for backend SSE errors
- Clear streaming placeholders at stream end to remove stuck spinner
- Add @modelcontextprotocol/sdk dependency (peer dep of @google/genai)
- Add baseUrl to tsconfig.json to resolve VS Code JSON badge on paths
- Remove dead code: buildTabularContext, replaceBody, colCount variable
- Prefix unused route params with _ to suppress TS6133 warnings

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Capture this thread into my fork

Download a single Markdown prompt that tells Claude how to port every commit above into your working tree — adapting paths and structure to match your repo. Run it via claude -p < capture-thread-639.md from inside the repo you want the changes in.

⬇ Download capture-thread-639.md