Releases: ltmoerdani/xiaomi-mimo-copilot-chat
Releases · ltmoerdani/xiaomi-mimo-copilot-chat
Release list
v0.1.3 — Suppress error popups, robust stream abort, smart retry
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
v0.1.2 — Phased timeout, auto-retry, and PR #8 merge
What's New
Phased Timeout Architecture
- 60s connection timeout — fails fast if the MiMo server is unreachable (previously could hang for 10 minutes).
- 5 min overall timeout — reduced from 10 minutes (MiMo is consistently <2s TTFB).
- 90s stream idle timeout — reduced from 2 minutes to detect stalled streams sooner.
Auto-Retry on Transient Errors
- Requests automatically retry once (with 1s backoff) on
ECONNRESET,ECONNREFUSED, socket hang up, and other recoverable network errors.
Improved Error Messages
- Timeout errors now indicate whether the failure occurred during the connection or streaming phase, with actionable suggestions.
Incorporates v0.1.1 Fixes
- Corrected MiMo model IDs to lowercase (
mimo-v2.5,mimo-v2.5-pro). - SecretStorage API key fallback.
xiaomi-mimo.debugLoggingsetting for verbose logs.- Model filter to exclude TTS/voice variants.
Other Changes
- Extension renamed to Xiaomi MiMo GitHub Copilot Chat.
- Default
requestTimeoutSeconds:600→300(minimum raised to 30s). - Default
streamIdleTimeoutSeconds:120→90(minimum raised to 10s).
Contributors
Full Changelog: v0.1.1...v0.1.2
v0.1.1 — Fix MiMo model registration and quiet routine logs
What's Fixed
- Corrected MiMo model IDs to Xiaomi's lowercase API identifiers (
mimo-v2.5,mimo-v2.5-pro) — the previous PascalCase IDs were rejected by Xiaomi's API. - Filtered live model list to chat-capable MiMo models only, excluding TTS/voice variants.
- SecretStorage API key fallback — the extension now reuses the stored API key when VS Code does not pass provider configuration into model discovery or chat requests.
- Quieted routine logs — verbose request/model metadata output is now gated behind the
xiaomi-mimo.debugLoggingsetting (off by default). - Eager activation — added
"*"toactivationEventsso the provider registers early after VS Code starts.
New Setting
| Setting | Type | Default | Description |
|---|---|---|---|
xiaomi-mimo.debugLogging |
boolean |
false |
Write verbose transport and model registration diagnostics to the MiMo output channel |
Contributors
Thanks to our first community contributor 🎉
Full Changelog: v0.1.0...v0.1.1
v0.1.0 - Initial Release
Xiaomi MiMo Copilot Chat — Initial Release
First release of the Xiaomi MiMo GitHub Copilot Chat extension for VS Code.
Added
- Forked from opencode-copilot-chat and adapted for Xiaomi MiMo AI models.
- MiMo provider registration with Xiaomi API endpoint (
https://token-plan-sgp.xiaomimimo.com/v1). - Simplified transport layer — all models route through OpenAI-compatible
/chat/completions. - Updated bundled model catalog to MiMo models only:
mimo-v2.5andmimo-v2.5-pro. - Updated all VS Code settings to
xiaomi-mimo.*prefix. - Updated all commands to
MiMo:*.
Full Changelog: https://github.com/ltmoerdani/xiaomi-mimo-copilot-chat/commits/v0.1.0
Full Changelog: https://github.com/ltmoerdani/xiaomi-mimo-copilot-chat/commits/v0.1.0