What's New
Fixed
- Model list fetch errors no longer spam notifications — when the MiMo API key is invalid/expired (401) or the model list endpoint is unreachable, the error is now silently logged to the MiMo Output Channel during background fetches instead of showing a popup every time the chat panel loads.
- The popup notification is now reserved for manual refresh only (via the Refresh Models command), so users are still alerted when they explicitly request a refresh.
- Robust stream abort mechanism —
abort()now also callsreader.cancel()directly as a fallback. In Electron/Node.js fetch,controller.abort()on an already-received response body sometimes does not propagate to the stream reader, leavingreader.read()stuck forever. - First-event timeout (90s) — a dedicated timer fires when the server returns
200 OKwithtext/event-streambut never sends any SSE data. Catches "server accepted but silently stalled" faster than stream-idle timeout. - Default request timeout reduced 300s → 120s — maximum 2 minutes before a failing request surfaces an error.
- Removed speculative error messages — timeout errors report facts only (duration and phase).
- Smart retry with body pruning on empty-stream timeout — when the server accepts a request but sends no data, the extension automatically retries once with a pruned payload body (keeping ~50% most recent messages + system prompt). Compatible with OpenAI Chat, Anthropic Messages, Google GenerateContent, and Responses API body formats.
Changed
MAX_RETRIES:1→2(one for transient connection errors, one for empty-stream with pruned body).
Installation
Download xiaomi-mimo-copilot-chat-0.1.3.vsix below, then:
code --install-extension xiaomi-mimo-copilot-chat-0.1.3.vsixOr via VS Code: Extensions → ⋯ → Install from VSIX...
What's Changed
- release: v0.1.3 — suppress model list error popups, robust stream abort, smart retry by @ltmoerdani in #12
Full Changelog: v0.1.2...v0.1.3