Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ _Development cycle in progress — entries are added as work merges into `releas

### 🔧 Bug Fixes

- **fix(catalog):** remove `minimaxai/minimax-m3` from the **NVIDIA NIM** tier — NVIDIA does not host it yet, so every request 404'd (`404 page not found`), while sibling `minimax-m2.7` on the same provider works. MiniMax M3 stays available on the tiers that actually serve it. (#3329 — thanks @mikmaneggahommie)
- **fix(electron):** ship `loginManager.js` in the packaged app — #3292 added it (and a `require("./loginManager")` in `main.js`) without adding it to electron-builder's `build.files`, so the packaged app crashed at startup with "Cannot find module" on the Linux/macOS smoke tests. Plus a regression test asserting every local `require("./x")` in the Electron entry points is shipped. ([#3334](https://github.com/diegosouzapw/OmniRoute/pull/3334) — thanks @diegosouzapw)
- **fix(startup):** correct the #3292 auto-refresh daemon import (`@/open-sse/...` → `@omniroute/open-sse/services/autoRefreshDaemon`); the `@/` alias maps to `src/`, so the daemon silently never ran in the built standalone (non-fatal "Cannot find module", caught at runtime). Adds a regression test banning `@/open-sse/*` imports in `src/`. ([#3335](https://github.com/diegosouzapw/OmniRoute/pull/3335) — thanks @diegosouzapw)
- **fix(electron):** wrap `autoUpdater.checkForUpdates()` so a 404/offline/rate-limited update check can no longer surface as an unhandled rejection (the `error` event still notifies the user); fixes the macOS-intel packaged-app smoke failure. ([#3339](https://github.com/diegosouzapw/OmniRoute/pull/3339) — thanks @diegosouzapw)
Expand Down
5 changes: 3 additions & 2 deletions open-sse/config/providerRegistry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3223,8 +3223,9 @@ const _REGISTRY_EAGER: Record<string, RegistryEntry> = {
authHeader: "bearer",
models: [
{ id: "z-ai/glm-5.1", name: "GLM 5.1" },
// #3110: MiniMax M3 via NVIDIA
{ id: "minimaxai/minimax-m3", name: "MiniMax M3", contextLength: 1048576 },
// #3329: minimaxai/minimax-m3 removed — NVIDIA NIM does not host it yet
// (every request 404s), while minimax-m2.7 on the same provider works.
// Re-add only once NVIDIA actually serves it.
{ id: "minimaxai/minimax-m2.7", name: "MiniMax M2.7" },
{ id: "google/gemma-4-31b-it", name: "Gemma 4 31B" },
{ id: "mistralai/mistral-small-4-119b-2603", name: "Mistral Small 4 2603" },
Expand Down
19 changes: 19 additions & 0 deletions tests/unit/nvidia-minimax-m3-removed-3329.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import test from "node:test";
import assert from "node:assert/strict";

const { getRegistryEntry } = await import("../../open-sse/config/providerRegistry.ts");

// #3329: `minimaxai/minimax-m3` was registered in the nvidia (NVIDIA NIM) tier,
// but NVIDIA NIM does not host it — every request returns `404 page not found`,
// while sibling models on the same provider (e.g. `minimaxai/minimax-m2.7`)
// work. Advertising a model that 404s is a catalog bug; it is removed from the
// nvidia tier until NVIDIA actually serves it. It remains on the tiers that do
// (minimax / minimax-cn / opencode / etc.).
test("nvidia tier does not advertise minimaxai/minimax-m3 (404 upstream) (#3329)", () => {
const nvidia = getRegistryEntry("nvidia");
assert.ok(nvidia, "nvidia registry entry must exist");
const ids = (nvidia.models ?? []).map((m) => m.id);
assert.ok(!ids.includes("minimaxai/minimax-m3"), "minimaxai/minimax-m3 must not be in nvidia");
// sanity: the working sibling stays listed
assert.ok(ids.includes("minimaxai/minimax-m2.7"), "minimaxai/minimax-m2.7 stays available");
});