1607 Commits

Author SHA1 Message Date
Diego Rodrigues de Sa e Souza
08f1f05d58 Merge pull request #947 from diegosouzapw/release/v3.4.9
chore(release): v3.4.9
v3.4.9
2026-04-03 03:56:21 -03:00
diegosouzapw
c40b67fe77 fix(security): resolve github advanced security code scanning alerts for multi-character regex and password hash heuristics 2026-04-03 03:51:49 -03:00
diegosouzapw
81ebcc9a72 build(lint): fix false-positive any matching in comments and add t11 validator to husky pre-commit hook 2026-04-03 03:42:02 -03:00
diegosouzapw
9ccc7feb58 chore: add .data directory to gitignore 2026-04-03 03:38:24 -03:00
diegosouzapw
7706adc444 chore(changelog): include PR 946 2026-04-03 03:28:27 -03:00
diegosouzapw
7c76f7443e Merge branch 'pr-946' into release/v3.4.9
# Conflicts:
#	open-sse/utils/stream.ts
2026-04-03 03:28:10 -03:00
diegosouzapw
314ef361b6 chore(release): v3.4.9 — stabilize dashboard and integrated PRs 2026-04-03 03:25:39 -03:00
diegosouzapw
ef401a1a2c Merge remote-tracking branch 'origin/main' into release/v3.4.9 2026-04-03 03:21:40 -03:00
Diego Rodrigues de Sa e Souza
a0877e484d Merge pull request #939 from rdself/coder/fix-claude-localhost-callback
Restore Claude OAuth localhost callback handling
2026-04-03 03:21:03 -03:00
Diego Rodrigues de Sa e Souza
067e0220bd Merge pull request #941 from oyi77/fix/nvidia-credentials-v2
refactor(auth): improve NVIDIA alias lookup + add LKGP error logging
2026-04-03 03:20:59 -03:00
Diego Rodrigues de Sa e Souza
da6481f96b Merge pull request #942 from rdself/coder/fix-cc-compatible-cache
Fix cc-compatible cache markers
2026-04-03 03:20:56 -03:00
Diego Rodrigues de Sa e Souza
7dea0441ac Merge pull request #943 from rdself/coder/fix-github-copilot-body
fix: restore GitHub Copilot combo requests
2026-04-03 03:20:52 -03:00
Diego Rodrigues de Sa e Souza
34c41d5f3d Merge pull request #944 from xiaoge1688/fix/gemini-thought-signatures-927-upstream
fix(gemini): preserve thought signatures across antigravity tool calls
2026-04-03 03:20:49 -03:00
diegosouzapw
77d8dce81c feat(ui): standardize auto-combo layout and global routing strategies 2026-04-03 03:20:28 -03:00
dalbit-mir
d3058cbe07 fix: preserve Claude Code rendering on responses translation 2026-04-03 15:09:52 +09:00
xiaoge1688
587bab3eb1 fix(gemini): preserve thought signatures across antigravity tool calls 2026-04-03 12:55:57 +08:00
Diego Rodrigues de Sa e Souza
a36a38bd8d Merge pull request #940 from diegosouzapw/release/v3.4.8
chore(release): v3.4.8 — security and vulnerability patches
v3.4.8
2026-04-03 01:48:18 -03:00
R.D.
629a6936fa fix(github): use copilot token and materialize tls responses 2026-04-03 00:46:41 -04:00
oyi77
4e7e50754d refactor(auth): improve NVIDIA alias lookup + add LKGP error logging 2026-04-03 10:55:58 +07:00
R.D.
0288bc681b fix cc-compatible cache markers 2026-04-02 23:55:53 -04:00
diegosouzapw
d46e3f07c3 chore(release): v3.4.8 — security compliance and fix algorithms 2026-04-03 00:15:35 -03:00
R.D.
d512ab5ddf fix claude oauth localhost callback 2026-04-02 22:14:04 -04:00
Diego Rodrigues de Sa e Souza
86030a0fab Merge pull request #938 from diegosouzapw/release/v3.4.7
chore(release): v3.4.7 — OmniRoute Stability Release
v3.4.7
2026-04-02 22:50:20 -03:00
diegosouzapw
954c40067e chore(release): merge PR 937 and fix catalog models context length types 2026-04-02 22:32:52 -03:00
diegosouzapw
6a36606bd5 chore(release): v3.4.7 — Finalize bug fixes and cryptography check 2026-04-02 22:25:51 -03:00
diegosouzapw
20a72a0f45 feat(health): add cryptography health check node (#798) 2026-04-02 22:22:03 -03:00
R.D.
bcc374eb31 fix claude oauth and cc-compatible regressions 2026-04-02 20:54:19 -04:00
diegosouzapw
f0e1f18c79 fix(auth): fix NVIDIA credential lookup failure (#931)
Co-authored-by: oyi77 <oyi77@users.noreply.github.com>
2026-04-02 21:07:07 -03:00
diegosouzapw
61b7203062 fix: resolve phase 2 bug issues (#935, #927, #867, #936) 2026-04-02 21:04:42 -03:00
diegosouzapw
a7e95d00cf fix(mcp): resolve ERR_MODULE_NOT_FOUND in global npm installs (#936) 2026-04-02 21:02:44 -03:00
Diego Rodrigues de Sa e Souza
83c358deb1 Merge pull request #932 from oyi77/feat/lkgp-strategy-919
feat(routing): implement Last Known Good Provider (LKGP) strategy (#919)
2026-04-02 20:46:38 -03:00
Diego Rodrigues de Sa e Souza
7dd214f3db Merge pull request #933 from christopher-s/gemini-google-ai-studio-audit
fix(gemini): API field casing, safety finish reasons, pagination timeout
2026-04-02 20:46:05 -03:00
Chris Staley
6698d33f04 fix(tests): update T28/T31 for gemini dynamic model sync
Gemini AI Studio no longer has a hardcoded model registry — models come
from API sync. Updated tests:
- T28: assert gemini registry is empty (API sync), check gemini-cli instead
- T31: check antigravity static catalog for pro-high/pro-low model IDs
2026-04-02 17:29:03 -06:00
Chris Staley
6dcd5b77aa chore: restore .agents/workflows — actively used upstream 2026-04-02 17:13:15 -06:00
Chris Staley
80f2c797c9 chore: restore .agents/ tracking — do not gitignore
The .agents/ directory exists in upstream and is actively used.
Only docs/superpowers/ should be excluded.
2026-04-02 17:10:12 -06:00
Chris Staley
910471a26f chore: remove .data/ from tracking (call_logs, db_backups, storage)
Runtime data should never have been committed. Added .data/ to .gitignore.
2026-04-02 17:09:15 -06:00
Chris Staley
ccab588948 chore: remove superpowers plans/specs from tracking, add to .gitignore
The .agents/ and docs/superpowers/ directories contain internal tooling
artifacts (plans, specs, workflows) that should not be in the repo.
2026-04-02 17:07:40 -06:00
Chris Staley
50683e6600 fix(gemini): correct misleading SAFETY comment — partial SSE content is unavoidable
The comment claimed "leave no text content" but any text chunks streamed
before the SAFETY finish reason have already been emitted. Updated to
accurately describe the behavior.
2026-04-02 16:41:10 -06:00
Chris Staley
75daf98112 fix(gemini): correct API field casing, add safety finish reasons, pagination timeout
Stability fixes for the Gemini provider — no new features:
- Map SAFETY/RECITATION/BLOCKLIST finish reasons (gemini-to-openai → content_filter)
- Add 15s per-page timeout on models sync pagination to prevent indefinite hangs
- Fix mime_type → mimeType in inlineData to match Gemini v1beta API (camelCase)
- Fix include_thoughts → includeThoughts to match Gemini API (camelCase)
- Add inlineData/mime_type fallback in gemini-to-openai request translator
2026-04-02 16:37:58 -06:00
diegosouzapw
9a681a27ad fix(sidebar): remove duplicate memory and skills tabs from primary section 2026-04-02 19:03:24 -03:00
Chris Staley
25c63c8b10 merge: sync with upstream origin/main (v3.4.5+v3.4.6)
Merges upstream changes including: circuit breaker fixes, Claude Code
compatible streaming, CLIProxyAPI routing, GitHub Copilot token refresh,
qoder PAT support, streaming timeouts, OpenAI response sanitization,
memory/skills sidebar, and i18n improvements.

Resolves conflicts in:
- providers/[id]/page.tsx: merged providerSupportsPat + Gemini synced models
- providers/route.ts: kept normalizeQoderPatProviderData, removed auto-sync
  (now handled client-side with progress dialog)
- i18n files: upstream already includes modelsImported/close keys
2026-04-02 15:55:18 -06:00
Chris Staley
a069df41b8 fix: address PR review — timeouts, pagination safety, standardized cooldowns
- Add 30s AbortSignal timeout to sync-models fetch in progress dialog
- Add duplicate nextPageToken detection to prevent infinite pagination
- Standardize retry-after defaults to COOLDOWN_MS.rateLimit (120s)
- Add connection metadata update (lastErrorType/lastError) for
  per-model lockout early return in auth.ts
- Clarify lockModel race safety in single-threaded Node.js
2026-04-02 15:48:36 -06:00
Chris Staley
b1183c2c9d feat(models): add pageSize=1000 and nextPageToken pagination for Gemini
Google AI Studio defaults to 50 models per page. Set pageSize=1000
to maximize per-page results and follow nextPageToken to fetch all
available models across pages. Also fixes query param separator when
base URL already contains query string.
2026-04-02 15:40:05 -06:00
oyi77
b777b15ee8 feat(routing): implement Last Known Good Provider (LKGP) strategy (#919) 2026-04-03 04:31:02 +07:00
Chris Staley
35061dfc53 refactor: consolidate per-model quota logic into shared helpers
Replace inline `provider === "gemini"` checks in chatCore.ts and auth.ts
with shared hasPerModelQuota() and lockModelIfPerModelQuota() from
accountFallback.ts. Also adds max-cooldown preservation to lockModel()
to prevent race conditions from overwriting longer lockouts.
2026-04-02 15:29:01 -06:00
diegosouzapw
a65bca6e49 chore(release): v3.4.6 - memory, skills, circuit breaker, & translation patches v3.4.6 2026-04-02 18:25:31 -03:00
diegosouzapw
72203f2721 feat(i18n): translation strings for memory and skills namespaces 2026-04-02 18:21:49 -03:00
Chris Staley
03ff03ed52 fix(gemini): filter out locked models during credential selection
isModelLocked() was called to lock models on 429 but never checked
when selecting connections. Requests to a locked model would still
route to it, causing unnecessary repeated 429s.
2026-04-02 15:18:36 -06:00
diegosouzapw
488d50b97e Merge remote-tracking branch 'origin/release/v3.4.6' into fix/memory-skills-cache-providers 2026-04-02 18:16:08 -03:00
Diego Rodrigues de Sa e Souza
88cbd1bd83 Merge pull request #929 from dheerajsharma2399/fix/openai-responses-sanitization
fix: Claude code fix for codex OAUTH2 login
2026-04-02 18:15:05 -03:00