Commit Graph

2264 Commits

Author SHA1 Message Date
diegosouzapw
df916f177d Resolve conflicts 2026-04-29 08:55:12 -03:00
Dao Bao Ngoc
a07d9b62a8 fix(kiro): support organization IDC OAuth with regional endpoints and refresh (#1754)
* fix(kiro): support organization IDC OAuth with regional endpoints and refresh

* fix(kiro): refresh IDC tokens with stored region

---------

Co-authored-by: ngocdb <ngocdb@ngocdb.local>
2026-04-29 08:53:35 -03:00
Randi
d39e5fb48f Move DB health to management API (#1757)
* Move DB health to management API

* Address DB health review feedback
2026-04-29 08:53:31 -03:00
backryun
e12df00c40 chore(xiaomi): Update Xiaomi provider model list (#1759) 2026-04-29 08:53:28 -03:00
ivan-mezentsev
7148656652 fix(codex): stabilize copilot responses reasoning and tool replay (#1750) 2026-04-29 08:53:23 -03:00
Randi
e6a0fd104d Fix model sync import handling (#1755)
* Fix model sync import handling

* Align model import storage semantics

* Address model review feedback
2026-04-29 08:53:20 -03:00
wucm667
c20d0599d5 fix(sse): propagate AbortSignal to pre-fetch semaphore and rate-limit awaits (#1771)
When a combo target takes too long, the request-level deadline fires
and calls abortController.abort() on the stream controller, but the
abort signal never reaches pending awaits in acquireAccountSemaphore()
or withRateLimit(). These awaits sit between stream controller creation
and executor.execute(), causing requests to hang indefinitely past the
600s deadline.

Pass streamController.signal to both functions so they can respond to
abort events and terminate early when the request deadline expires.

Signed-off-by: wucm667 <stevenwucongmin@gmail.com>
2026-04-29 08:53:16 -03:00
cloudy
c4736f3130 fix(antigravity): normalize Gemini bridge payloads (#1769)
* fix(antigravity): normalize Gemini bridge payloads

Clamp Claude bridge output tokens, use Gemini-valid system roles and tool names, and serialize antigravity requests from a cloned body so Cloud Code payload shaping stays valid.

* fix(cli): stop fallback after unsafe known paths

Preserve known-path security checks by stopping command discovery when a configured CLI path is suspicious or non-executable, instead of falling through to PATH discovery.

* test(memory): make query result assertion deterministic

Avoid relying on database result ordering when checking filtered memory keys so the unit suite remains stable across runs.

* fix(review): preserve safe cloning and CLI reasons

Handle non-cloneable antigravity request bodies without throwing and preserve specific CLI known-path failure reasons instead of masking them as not_found.
2026-04-29 08:53:13 -03:00
clousky2020
2aaba386ec fix: resolve build issues and implement memory UPSERT logic (#1763)
* fix: resolve build issues for v3.7.5 and apply memory/translation fixes

1. antigravityHeaders.ts: restore ANTIGRAVITY_LOAD_CODE_ASSIST_* exports for oauth.ts compatibility
2. next.config.mjs: add @ngrok/ngrok to serverExternalPackages and webpack externals to handle native .node modules
3. Memory system: UPSERT logic to prevent duplicate entries with same apiKeyId + key
4. Chinese translations: complete CLI tools and memory dashboard localizations
5. Test fixes: unique keys for pagination tests to comply with unique constraint

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* fix: address Gemini Code Assist review feedback

1. store.ts: add expires_at to UPDATE statement in UPSERT logic
   - Previously, expires_at was not being persisted to database on update
   - This caused state mismatch between returned Memory object and actual DB row

2. package-lock.json: revert react-markdown registry to official npmjs.org
   - Mirror-specific registry URL (npmmirror.com) should not be in lockfile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-29 08:53:02 -03:00
R.D.
c7298ef1b1 Add endpoint loading model translations 2026-04-29 03:36:48 -04:00
R.D.
fc65cb4368 Address endpoint review feedback 2026-04-29 03:20:43 -04:00
R.D.
d2d83acd5a Speed up endpoint initial render 2026-04-29 02:51:09 -04:00
diegosouzapw
3c63566d57 chore(release): update changelog format for v3.7.5 2026-04-29 01:20:20 -03:00
diegosouzapw
5fd56207cf chore(release): v3.7.5 — integrate ngrok tunnel and fix models filter (#1753, #1752) 2026-04-29 01:11:33 -03:00
diegosouzapw
b96b85f675 fix(models): apply blocked providers filter to non-chat catalog models (#1752) 2026-04-29 00:45:18 -03:00
diegosouzapw
38d89c519c docs(changelog): record PR #1748 for next release 2026-04-28 23:04:21 -03:00
Raxxoor
6d6a4abb8a fix(antigravity): stabilize streaming and usage refresh (#1748)
Integrated into release/v3.7.5 (PR #1748)
2026-04-28 23:01:23 -03:00
Diego Rodrigues de Sa e Souza
9e0d2f6a70 Set active status to false in news.json v3.7.4 2026-04-28 20:48:08 -03:00
Diego Rodrigues de Sa e Souza
0cd388efb8 Release v3.7.4 (#1730)
* chore(release): v3.7.4 — version bump, openapi and changelog sync

* fix: preserve previous_response_id and conversation_id fields on empty input array (#1729)

* fix: bypass UI validation block for optional API keys and fix string fallback typing (#1721)

* fix(proxy): disable HTTP keep-alive and pipelining in Undici proxy dispatcher to prevent socket hang up

* feat(proxy): implement bulk proxy import via pipe-delimited parser with update-or-create logic

* docs: update changelog for v3.7.4 fixes and proxy features

* test: update responses store expectations for empty input arrays

* feat(pwa): add fullscreen installable PWA with manifest, service worker, and cross-platform app icons. (#1728)

Integrated into release/v3.7.4

* Fix image provider validation and Stability image requests (#1726)

Integrated into release/v3.7.4

* docs: add PR 1726 and PR 1728 to v3.7.4 changelog

* fix(security): replace insecure Math.random with crypto.getRandomValues for fallback UUID generation

* fix(migrations): intercept 007 migration to use IF NOT EXISTS logic on fresh installs

Fixes #1733

* test: fix typescript compilation errors in unit tests

* fix(db): reconcile legacy reasoning cache migration

* chore(release): bump to v3.7.4 — changelog, docs, version sync

* fix(cc-compatible): preserve Claude Code system skeleton (#1740)

Integrated into release/v3.7.4

* docs(changelog): update for PR #1740 merge

* docs(changelog): include workflow updates

* fix(db): reconcile legacy reasoning cache migration (#1734)

Integrated into release/v3.7.4

* Add endpoint tunnel visibility settings (#1743)

Integrated into release/v3.7.4

* Normalize max reasoning effort for Codex routing (#1744)

Integrated into release/v3.7.4

* Fix Claude Code gateway config helper (#1745)

Integrated into release/v3.7.4

* Refresh CLI fingerprint provider profiles (#1746)

Integrated into release/v3.7.4

* Integrated into release/v3.7.4 (PR #1742)

* docs(changelog): update for PRs 1742-1746

---------

Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com>
Co-authored-by: Yash Ghule <y.ghule77@gmail.com>
Co-authored-by: backryun <bakryun0718@proton.me>
Co-authored-by: dhaern <manker_lol@hotmail.com>
Co-authored-by: Randi <55005611+rdself@users.noreply.github.com>
Co-authored-by: Duncan L <leungd@gmail.com>
2026-04-28 20:46:25 -03:00
diegosouzapw
4cdd0dfd1a feat: add remote news.json configuration 2026-04-28 17:29:18 -03:00
backryun
57e55268e5 Fix image provider validation and Stability image requests (#1726)
Integrated into release/v3.7.4
2026-04-28 13:59:03 -03:00
diegosouzapw
1292465a5b chore(workflow): add phase 4 release monitoring to generate-release 2026-04-28 10:32:12 -03:00
Diego Rodrigues de Sa e Souza
ae8a7d2dc5 Release v3.7.3 (#1724)
* Update image-model list

* docs: update CHANGELOG.md with merged PR entries for v3.7.3

* chore(release): bump to v3.7.3 — changelog, docs, version sync

* chore(workflow): update generate-release with Phase 2 validation step

---------

Co-authored-by: backryun <bakryun0718@proton.me>
Co-authored-by: diegosouzapw <diegosouzapw@users.noreply.github.com>
v3.7.3
2026-04-28 10:03:39 -03:00
Randi
2f1c904d74 Fix light mode active request payload modal (#1714)
Integrated into release/v3.7.3 — fixes light mode payload modal transparency
2026-04-28 08:31:48 -03:00
Slavic Kozyuk
aa535748ef fix(combo): avoid false ALL_ACCOUNTS_INACTIVE on quality failures (#1710)
Integrated into release/v3.7.3 — quality validation regression tests (production fix was already applied)
2026-04-28 08:30:49 -03:00
Randi
42952ee42f fix(combo): fall back across targets on all 400 responses (#1713)
Integrated into release/v3.7.3 — simplifies combo fallback by treating all non-ok responses as target-local failures
2026-04-28 08:28:09 -03:00
Randi
8a0ca60e4b [Urgent] fix: add neutral instructions for bare chat in Codex provider (#1709)
Integrated into release/v3.7.3 — adds neutral instructions fallback for bare Codex chat requests
2026-04-28 08:25:54 -03:00
vanminhph
e6e7f8d402 fix(codex): restore namespace MCP tools + hosted-tool whitelist (regression from #1581) (#1715)
Integrated into release/v3.7.3 — restores Codex namespace MCP tools and hosted-tool whitelist
2026-04-28 08:23:33 -03:00
diegosouzapw
edd6941de4 fix: resolve 5 bugs (#1712 #1719 #1707 #1706 #1704)
- #1712: Strip existing billing headers before injecting to fix prompt cache misses
- #1719: Strip output_config.format for non-Anthropic Claude endpoints
- #1707: Set terminal error state on quality validation failure (false ALL_ACCOUNTS_INACTIVE)
- #1706: Wrap proxy_assignments queries in try-catch for missing table on Electron
- #1704: Fix Windows file URL path resolution in migration runner with cwd fallback
2026-04-28 07:48:19 -03:00
diegosouzapw
dc103318ab fix: remove duplicate LOAD_CODE_ASSIST exports from merge artifact v3.7.2 2026-04-28 03:14:45 -03:00
Diego Rodrigues de Sa e Souza
1194a1a5a5 Merge pull request #1672 from diegosouzapw/release/v3.7.2
Release v3.7.2
2026-04-28 02:56:33 -03:00
diegosouzapw
70d7fc71b3 fix: remove duplicate GEMINI_CLI_VERSION/SDK_VERSION exports from merge 2026-04-28 02:54:42 -03:00
diegosouzapw
96fa89052b chore: resolve merge conflicts from main into release/v3.7.2 2026-04-28 02:53:34 -03:00
diegosouzapw
97505e200a chore(release): v3.7.2 — finalize changelog with community PRs #1700, #1701, #1702 2026-04-28 02:49:30 -03:00
backryun
a16e47c593 fix(providers): refresh web client user agents (#1699)
Integrated release/v3.7.2 changes — refreshed web client user agents, env docs, Gemini OAuth fix
2026-04-28 02:41:19 -03:00
Raxxoor
4080eb9312 fix(codex): avoid blocking quota with ten percent remaining (#1697)
Integrated into release/v3.7.2 — raises Codex quota threshold from 90% to 99%
2026-04-28 02:30:43 -03:00
Nam Hoang
c9538194aa feat(email-privacy): integrate email visibility toggle in RequestLoggerV2 (#1700)
Integrated into release/v3.7.2 — email privacy toggle in RequestLoggerV2
2026-04-28 02:29:09 -03:00
Nam Hoang
73022ff3b3 fix(oauth): target specific connection by id on re-auth token exchange (#1702)
Integrated into release/v3.7.2 — fixes OAuth re-auth targeting specific connection by ID
2026-04-28 02:28:50 -03:00
Hernan Javier Ardila Sanchez
58fb988c52 fix(combo): complete context truncation hotfix from PR #1480 (#1685)
Integrated into release/v3.7.2 — completes context truncation hotfix (PR #1480 follow-up)
2026-04-28 02:28:26 -03:00
diegosouzapw
95f7c69e36 fix(memory): use user role for GLM/ZAI/Qianfan providers (#1701)
GLM/ZhipuAI rejects system role messages with 422 'Input should be
user or assistant'. When memory injection adds a system-role message,
GLM combo targets fail because the system message survives into the
upstream request.

Fix:
- injection.ts: add glm, glmt, glm-cn, zai, qianfan to
  PROVIDERS_WITHOUT_SYSTEM_MESSAGE so memory is injected as user role
- roleNormalizer.ts: add exact 'glm' model match to
  MODELS_WITHOUT_SYSTEM_ROLE for Pollinations and bare model ids

Test: 22 new unit tests covering all GLM variants + regression checks
for openai/anthropic providers.

Closes #1701
2026-04-28 02:16:16 -03:00
diegosouzapw
b3d928c593 fix(build): replace undefined execSync with execFileSync in prepublish script 2026-04-28 00:42:39 -03:00
diegosouzapw
ea691bfd41 docs(i18n): sync CHANGELOG.md to 39 languages 2026-04-28 00:26:01 -03:00
diegosouzapw
00ae48f58d fix(combo): trigger fallback on Anthropic thinking block signature errors (#1696)
Add 'Invalid signature in thinking block' to COMBO_BAD_REQUEST_FALLBACK_PATTERNS
so combo routing falls through to the next target instead of returning 400 directly.

This error occurs when extended thinking signatures expire between turns,
which is a model-specific issue that won't be fixed by retrying the same provider.

Closes #1696
2026-04-28 00:22:08 -03:00
diegosouzapw
d5ea907d69 docs: add PR #1697 codex quota threshold to CHANGELOG 2026-04-28 00:19:37 -03:00
diegosouzapw
8100b53fd7 fix(codex): raise default quota threshold from 90% to 99% to avoid premature account blocking (#1697)
The previous 90% default treated Codex accounts as unavailable while they
still had ~10% quota remaining. A 99% threshold reserves only a minimal
safety margin near true exhaustion while preserving usable quota.

- Export DEFAULT_QUOTA_THRESHOLD_PERCENT=99 from quotaCache.ts
- Replace CODEX_QUOTA_THRESHOLD_PERCENT in auth.ts with shared constant
- Update quota policy tests to match new default

Co-authored-by: dhaern <manker_lol@hotmail.com>
2026-04-28 00:18:30 -03:00
diegosouzapw
f23f301547 docs: add PR #1685 context truncation hotfix to CHANGELOG 2026-04-28 00:09:22 -03:00
diegosouzapw
bda1f290ac fix(combo): complete context truncation hotfix — cache getCombos(), resolve nested combos, deduplicate context overflow patterns (#1685)
- Add getCombosCached() with 10s TTL in chatCore.ts to avoid per-request DB lookups
- Pass allCombosData to resolveComboTargets() instead of null for nested combo resolution
- Consolidate COMBO_BAD_REQUEST_FALLBACK_PATTERNS with CONTEXT_OVERFLOW_REGEX from errorClassifier.ts
- Remove 10 duplicated context overflow patterns from combo.ts
- Export clearCombosCache() for cache invalidation
- Fix rebase artifact (>) from contributor's branch

Co-authored-by: Javier Ardila <hjasgr@gmail.com>
Closes #1470
2026-04-28 00:08:30 -03:00
diegosouzapw
2f905598e8 fix(tests): resolve stream readiness regression in chatcore translation tests
The stream readiness gate from PR #1693 validates SSE body content.
The test harness checked only `headers.accept` (lowercase) but executors
set `Accept` (capital A), causing the harness to return JSON instead of
SSE for streaming requests. Fixed by checking both header casings.
2026-04-27 23:36:47 -03:00
diegosouzapw
f769ce93cc docs: update CHANGELOG with merged PRs #1692 and #1693 2026-04-27 23:30:44 -03:00
Raxxoor
9c9ba8f2bd fix(stream): fail zombie streams before accepting response (#1693)
Integrated into release/v3.7.2
2026-04-27 23:30:01 -03:00