Commit Graph

3363 Commits

Author SHA1 Message Date
Halil Tezcan KARABULUT
2fd5275833 fix(claude): omit context-1m beta for Sonnet (#2568)
Integrated into release/v3.8.2
2026-05-22 09:46:59 -03:00
Diego Rodrigues de Sa e Souza
e23a93eb3b Merge pull request #2569 from diegosouzapw/fix/bugfix-batch-v3.8.2-r8
fix: round-8 bug batch (#2456, #2334, #2541, #2544, #2460) + pre-existing test-suite repairs
2026-05-22 09:18:08 -03:00
diegosouzapw
578109615c test: repair pre-existing test-suite failures (batch 1)
Pre-existing failures on release/v3.8.2 (unrelated to the round-8 bug batch,
confirmed against a clean base). First batch repaired:

- test(apikey-policy): rewrite apikey-policy-default-rate-limits for the #2289
  contract — buildDefaultRateLimits was removed when implicit API-key request
  caps were dropped, leaving the test importing a nonexistent function. Now
  asserts the current behavior (no implicit default rate limits) via the
  now-exported DEFAULT_RATE_LIMITS.
- test(antigravity): reconcile antigravity-model-aliases with the current model
  catalog — gemini-3.5-flash-preview now resolves to gemini-3.5-flash-high
  ("Gemini 3.5 Flash (High)"), and Claude models were removed from the public
  catalog (the back-compat alias still resolves upstream).
- chore(test): add --test-force-exit to the test:unit script so the suite
  reliably exits despite module-load timer handles (e.g. importing chatCore).

More pre-existing test repairs follow on this branch.
2026-05-22 09:08:46 -03:00
diegosouzapw
5adaf0ce53 docs(changelog): add round-5 PR entries (8 PRs merged) 2026-05-22 08:02:01 -03:00
Paijo
e8df0acd9e feat(smart-pipeline): add multi-stage pipeline for auto combo routing (#2551)
feat(smart-pipeline): multi-stage pipeline for auto combo routing — integrated into release/v3.8.2
2026-05-22 08:00:35 -03:00
AgentAlexAI
a60a44a73d fix(i18n): comprehensive Russian translation update (#2550)
Integrated into release/v3.8.2
2026-05-22 08:00:24 -03:00
HALDRO
17e19fda8c feat(fireworks): add new models with modelIdPrefix support (#2560)
Integrated into release/v3.8.2
2026-05-22 07:59:43 -03:00
Hernan Javier Ardila Sanchez
e62e7564be fix(qoder): route PAT tokens to Qoder native API instead of DashScope (#2559)
Integrated into release/v3.8.2
2026-05-22 07:59:33 -03:00
mi
c63080489e fix: auto-start reasoning cache cleanup on module load (#2552)
Integrated into release/v3.8.2
2026-05-22 07:59:24 -03:00
mi
50f1e9e009 fix: cache compiled RegExp in RTK compression hot path (#2553)
Integrated into release/v3.8.2
2026-05-22 07:59:21 -03:00
mi
0f36e77ae0 feat: add OMNIROUTE_SKIP_DB_HEALTHCHECK env var to skip quick_check (#2554)
Integrated into release/v3.8.2
2026-05-22 07:59:17 -03:00
Leonid Bondarenko
e8aa447de7 fix(freetheai): add /chat/completions to baseUrl to resolve 404 errors (#2557)
Integrated into release/v3.8.2
2026-05-22 07:59:06 -03:00
diegosouzapw
8099181f9a fix: round-8 bug batch (#2456, #2334, #2541, #2544, #2460)
- fix(proxy): resolveProxyForProvider now falls back to the legacy
  per-provider/global proxy config when no registry assignment exists, so
  the Claude OAuth token exchange + token refresh stop going out direct on
  VPS hosts and tripping Anthropic's rate limit. (#2456)
- fix(antigravity): auto-discover a missing Cloud Code projectId via
  loadCodeAssist before returning 422, recovering freshly re-added accounts
  whose stored projectId is empty. (#2334, #2541)
- fix(stream): keep the /v1/responses SSE connection warm for strict clients
  — early keepalive while the upstream produces its first token, plus a 4s
  heartbeat cadence — so Codex CLI's reqwest (~5s idle) no longer drops the
  stream on slow/reasoning models. (#2544)
- fix(electron): longer first-launch readiness wait, probe the auth-exempt
  health endpoint, and reload the window once the server responds, so a long
  post-upgrade migration no longer leaves the desktop app on "Server starting". (#2460)
- test: update stale refreshCredentials assertion to include the
  providerSpecificData field added in #2480.
2026-05-22 03:50:39 -03:00
diegosouzapw
193a8580c9 chore: ignore port-upstream-features workflow 2026-05-22 02:37:22 -03:00
Diego Rodrigues de Sa e Souza
e07d95ea31 Merge pull request #2549 from diegosouzapw/fix/bugfix-batch-v3.8.2-r7
fix: bug-fix batch round 7 (#2545, #2539, #2540)
2026-05-22 00:05:33 -03:00
diegosouzapw
f44c865e4a docs(changelog): record #2545, #2539, #2540 fixes 2026-05-22 00:00:57 -03:00
diegosouzapw
dc4e0b6aa1 fix(i18n): replace leftover Portuguese with English on Quota dashboards (#2540) 2026-05-21 23:59:58 -03:00
diegosouzapw
5ae727bd72 fix(cloudflare-ai): flatten content-part arrays to strings for Workers AI (#2539) 2026-05-21 23:59:02 -03:00
diegosouzapw
fd7bafe392 fix(validation): strip trailing /models in Gemini validator to avoid /models/models 404 (#2545) 2026-05-21 23:58:02 -03:00
Diego Rodrigues de Sa e Souza
942185302c chore(repo): remove Akamai/both VPS deploy files re-introduced by #2538 (#2548)
Remove VPS infra files re-introduced by #2538. Integrated into release/v3.8.2.
2026-05-21 23:52:04 -03:00
Diego Rodrigues de Sa e Souza
b957a04340 fix(tests,translator): repair post-merge regressions on release/v3.8.2 (#2547)
Post-merge regression fixes (broken unit suite from #2536 + developer-role drop from #2474). Integrated into release/v3.8.2.
2026-05-21 23:50:09 -03:00
Diego Rodrigues de Sa e Souza
e3ba13bd09 fix(opencode-plugin): honor geminiSanitization & fetchInterceptor feature flags (#2546)
Follow-up fix for #2529 feature-flag gating. Integrated into release/v3.8.2.
2026-05-21 23:21:41 -03:00
diegosouzapw
c96ba2d7eb docs(changelog): add round-4 PR entries (9 PRs merged) 2026-05-21 23:20:37 -03:00
Diego Rodrigues de Sa e Souza
863ce271d4 docs: redesign README — marketing-first layout, accurate counts & combos flagship (#2490)
Integrated into release/v3.8.2
2026-05-21 23:18:43 -03:00
Owen
89b3dc71c6 feat(executors): forward OpenCode client headers to upstream providers (#2538)
Integrated into release/v3.8.2
2026-05-21 23:18:06 -03:00
Diego Rodrigues de Sa e Souza
c9e52397a5 fix(antigravity): fail over stalled sessions before response headers (port #2464 to v3.8.2) (#2537)
Integrated into release/v3.8.2
2026-05-21 23:17:04 -03:00
Diego Rodrigues de Sa e Souza
d0133bc5b9 chore(ci): auto-lock release branch when a version is published (#2542)
Integrated into release/v3.8.2
2026-05-21 23:17:01 -03:00
M.M
8ffbb47624 feat(@omniroute/opencode-plugin): introducing the OmniRoute OpenCode plugin (live models, combos, Gemini sanitize, multi-instance) (#2529)
feat(@omniroute/opencode-plugin): introducing the OmniRoute OpenCode plugin — integrated into release/v3.8.2
2026-05-21 23:16:42 -03:00
Apostol Apostolov
4d7b091c28 feat(home): Automatic refresh of Provider Quota (#2532)
Integrated into release/v3.8.2
2026-05-21 23:16:30 -03:00
Apostol Apostolov
c2d4d6755c feat(home): Add Home page customization options for experienced users (#2531)
Integrated into release/v3.8.2
2026-05-21 23:15:48 -03:00
janeza2
363ecc4024 fix(codex): accept auth.json without auth_mode field on import (#2536)
Integrated into release/v3.8.2
2026-05-21 23:15:00 -03:00
Ronaldo Davi
129b05741c feat(i18n): Complete and fix Brazilian Portuguese (pt-BR) translation (#2543)
feat(i18n): Complete pt-BR translation — integrated into release/v3.8.2
2026-05-21 23:14:42 -03:00
diegosouzapw
46adf35500 chore(repo): untrack _ideia/ — private draft dir, local-only repo
_ideia/ holds feature-triage drafts and is already matched by the /_*/
gitignore rule (like _tasks/). It was tracked from before that rule existed;
this removes the 66 files from the index (kept on disk) so they stop syncing
to OmniRoute. Managed locally as its own isolated git repo.
2026-05-21 23:09:31 -03:00
Gi99lin
7215731444 refactor(dashboard): Provider Quota grouped layout with vertical rail (#2528)
Integrated into release/v3.8.2 (#2528 — thanks @Gi99lin)
2026-05-21 23:04:59 -03:00
Diego Rodrigues de Sa e Souza
aa6278da08 Merge pull request #2495 from diegosouzapw/worktree-fix-batch-v3.8.2-r3
fix: bug-fix batch round 3 (#2469, #2470, #2468, #2467, #2480, #2483)
2026-05-21 23:04:57 -03:00
diegosouzapw
29c12f029f Merge remote-tracking branch 'origin/worktree-fix-batch-v3.8.2-r3' into worktree-fix-batch-v3.8.2-r3 2026-05-21 23:03:48 -03:00
diegosouzapw
7049246411 Merge remote-tracking branch 'origin/release/v3.8.2' into worktree-fix-batch-v3.8.2-r3
# Conflicts:
#	CHANGELOG.md
#	tests/unit/translator-openai-to-gemini.test.ts
2026-05-21 22:57:56 -03:00
Diego Rodrigues de Sa e Souza
a1f14a76aa Merge pull request #2535 from diegosouzapw/fix/bugfix-batch-v3.8.2-r5
fix: bug-fix batch round 5 (#2504, #2515, #2520)
2026-05-21 22:53:37 -03:00
HALDRO
99c3cc6f16 fix(combo): detect invalid model errors via structured error codes + regex fallback (#2534)
Integrated into release/v3.8.2 (#2534 — thanks @HALDRO)
2026-05-21 22:49:05 -03:00
Diego Rodrigues de Sa e Souza
292d36b7a9 Merge pull request #2474 from Tentoxa/fix/memory-system-role-semantic-passthrough
fix: extract system role messages in semantic passthrough path to prevent 400 on memory injection
2026-05-21 22:48:45 -03:00
diegosouzapw
9f47cccccf Merge remote-tracking branch 'origin/release/v3.8.2' into fix/memory-system-role-semantic-passthrough
# Conflicts:
#	open-sse/executors/claudeIdentity.ts
#	open-sse/handlers/chatCore.ts
2026-05-21 22:43:52 -03:00
diegosouzapw
e70b276b30 docs(changelog): record STORAGE_ENCRYPTION_KEY DATA_DIR/guard fix (#1622) 2026-05-21 22:18:21 -03:00
diegosouzapw
04d8884e09 fix(cli): persist STORAGE_ENCRYPTION_KEY in DATA_DIR + guard against destructive regen (#1622)
The CLI key bootstrap wrote to ~/.omniroute/.env ignoring DATA_DIR, so users with a
custom DATA_DIR (incl. Docker-style setups) lost the key across restarts. It also
regenerated a fresh key whenever STORAGE_ENCRYPTION_KEY was unset — even when an encrypted
storage.sqlite already existed — locking users out. Now writes to DATA_DIR and refuses to
auto-generate when a database is already present (mirrors server bootstrapEnv guard).
Reported by Daniel Nach; original key persistence by @Chewji9875.
2026-05-21 22:17:22 -03:00
diegosouzapw
2c24265783 docs(changelog): record #2504, #2515, #2520 fixes 2026-05-21 20:31:59 -03:00
diegosouzapw
83ba78cbcd fix(gemini): re-attach thoughtSignature (#2504) + normalize PDF content parts (#2515)
#2504: thread _signatureNamespace through the FORMATS.GEMINI and FORMATS.GEMINI_CLI
request translators so a cached Gemini thoughtSignature is re-attached to the
functionCall on the follow-up turn (was 400 'missing thought_signature').
#2515: accept input_file (Responses API) on the Gemini path and document (Gemini-style)
on the Responses/Codex path so PDFs reach the model regardless of content-part name.
2026-05-21 20:30:40 -03:00
diegosouzapw
50d549ac4e fix(stream): count thinking/reasoning_details as useful stream output (#2520) 2026-05-21 20:29:20 -03:00
Diego Rodrigues de Sa e Souza
a886f09b3d Merge pull request #2533 from diegosouzapw/fix/release-v3.8.2-prep
fix(release): repair broken v3.8.2 release-prep (providers.ts build + CHANGELOG/version/i18n)
2026-05-21 19:48:36 -03:00
diegosouzapw
7dc5c1f6d2 fix(release): repair v3.8.2 release-prep — providers.ts syntax + CHANGELOG/i18n/version sync
- providers.ts: close the unterminated `dify` APIKEY_PROVIDERS entry (Wave-1b #2488
  merge artifact) that broke the entire build (esbuild 'Expected }').
- CHANGELOG.md: restore the `# Changelog` header and an empty `[Unreleased]` section
  (docs-sync requires the first section to be Unreleased); remove the duplicated
  `[3.8.1]` block.
- Bump package.json / electron / open-sse / openapi.yaml to 3.8.2 to match the
  CHANGELOG release header.
- Mirror the `[3.8.2]` section into all 41 i18n CHANGELOGs so docs-sync passes.

Unblocks all commits on release/v3.8.2-based branches.
2026-05-21 19:37:54 -03:00
diegosouzapw
7977d57efc docs(changelog): add round-3 PR entries (5 PRs merged) 2026-05-21 18:27:25 -03:00
Mr. Meowgi
d99b98b20d fix(deepseek-web): fix SSE parser, prompt format, and error handling (#2502)
fix(deepseek-web): fix SSE parser, prompt format, and error handling — integrated into release/v3.8.2
2026-05-21 18:25:52 -03:00