Skip to content

Releases: ltmoerdani/xiaomi-mimo-copilot-chat

v0.1.3 — Suppress error popups, robust stream abort, smart retry

Choose a tag to compare

@ltmoerdani ltmoerdani released this 13 Jun 20:51
95d1b51

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 mechanismabort() now also calls reader.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, leaving reader.read() stuck forever.
  • First-event timeout (90s) — a dedicated timer fires when the server returns 200 OK with text/event-stream but 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: 12 (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.vsix

Or 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

Choose a tag to compare

@github-actions github-actions released this 30 May 07:00
18e477f

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.debugLogging setting for verbose logs.
  • Model filter to exclude TTS/voice variants.

Other Changes

  • Extension renamed to Xiaomi MiMo GitHub Copilot Chat.
  • Default requestTimeoutSeconds: 600300 (minimum raised to 30s).
  • Default streamIdleTimeoutSeconds: 12090 (minimum raised to 10s).

Contributors

Full Changelog: v0.1.1...v0.1.2

v0.1.1 — Fix MiMo model registration and quiet routine logs

Choose a tag to compare

@github-actions github-actions released this 30 May 07:00
fb8b98e

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.debugLogging setting (off by default).
  • Eager activation — added "*" to activationEvents so 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

Choose a tag to compare

@ltmoerdani ltmoerdani released this 30 May 07:03

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.5 and mimo-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