Commit Graph

4578 Commits

Author SHA1 Message Date
Jan Leon
6a5971663a chore: remove unused command-code auth cleanup export (#5371)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 70 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:18:43 -03:00
Jan Leon
7a8cdf2a90 chore: remove unused agent skills repo URL (#5369)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 70 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:18:40 -03:00
Jan Leon
d37f05c3bc chore: remove unused settings fallback schema (#5368)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 70 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:18:36 -03:00
Jan Leon
4c1a3998a9 chore: remove unused webhook example payload helper (#5366)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 70 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:18:33 -03:00
Jan Leon
48f56e0680 chore: remove unused search validator wrapper (#5365)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 70 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:18:29 -03:00
Jan Leon
722d82942c chore: remove unused encryption config validator (#5364)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 70 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:18:26 -03:00
Diego Rodrigues de Sa e Souza
1acf7ee127 docs(changelog): reconcile [3.8.41] after batch-5 squash-merges
Restores the grok-web (#5350) and cli-serve HTTPS (#5242 Bug 1C) bullets
eaten by sequential squash-merges, and dedups the duplicate '### Bug Fixes'
header. All code landed correctly; additive restore — single header, 11 bullets.
2026-06-29 12:07:49 -03:00
Diego Rodrigues de Sa e Souza
a11141b10c fix(cors): permissive Access-Control-Allow-Origin for token-auth API surface (#5242) (#5360)
Integrated into release/v3.8.41 — permissive Allow-Origin for token-auth API surface (#5242 Bug 2).
2026-06-29 12:06:35 -03:00
Diego Rodrigues de Sa e Souza
b7f6d3fd04 feat(cli): opt-in native HTTPS/TLS for omniroute serve (#5242) (#5361)
Integrated into release/v3.8.41 (#5242/#5350 fixes). Tests green per PR.
2026-06-29 12:06:01 -03:00
Diego Rodrigues de Sa e Souza
e174e90f14 fix(grok-web): forward cf_clearance/__cf_bm + honest IP-reputation message (#5350) (#5358)
Integrated into release/v3.8.41 (#5242/#5350 fixes). Tests green per PR.
2026-06-29 12:05:54 -03:00
Jan Leon
5e6735a3a1 chore: remove unused build profile exports (#5362)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 102 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:05:36 -03:00
Jan Leon
f56fb31bfa chore: remove unused api key format helpers (#5359)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 102 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:05:32 -03:00
Jan Leon
ad6b83738f chore: remove unused authz class helpers (#5357)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 102 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:05:28 -03:00
Jan Leon
7486a60ee7 chore: remove unused models.dev context export (#5356)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 102 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:05:25 -03:00
Jan Leon
605c4d4ece chore: remove unused embedding cache export (#5355)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 102 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:05:21 -03:00
Jan Leon
fc173c5857 chore: remove unused provider limits scheduler export (#5354)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 102 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:05:18 -03:00
Jan Leon
0f83402665 chore: remove unused semantic cache expiry export (#5353)
Integrated into release/v3.8.41 — dead-code removal (typecheck:core EXIT 0, 102 affected tests green, fabricated-docs clean). Thanks @JxnLexn.
2026-06-29 12:05:15 -03:00
Diego Rodrigues de Sa e Souza
580e0f018d docs(changelog): reconcile [3.8.41] Bug Fixes after batch-4 squash-merges
The sequential squash-merges of #5351/#5349/#5347 onto release/v3.8.41
auto-resolved the CHANGELOG and progressively ate sibling bullets — the
section was left with only the oauth (#5326) bullet + a duplicate
'### Bug Fixes' header, dropping routing/cli/dashboard/rerank (batch 3) and
opencode (#5217) / chatgpt-web (#5240). All code landed correctly; this
restores every bullet verbatim under a single header. Additive restore.
2026-06-29 11:23:39 -03:00
Diego Rodrigues de Sa e Souza
cd9a9abbf5 fix(oauth): set tokenExpiresAt at creation + surface no-refresh-token as expired (#5326) (#5347)
Integrated into release/v3.8.41 — Antigravity Token Expired badge: set tokenExpiresAt at creation + surface no-refresh-token as expired (#5326). Tests green (2 + 3).
2026-06-29 11:21:57 -03:00
Diego Rodrigues de Sa e Souza
98c9f5b136 fix(chatgpt-web): wire tool/function calling via shared webTools shim (#5240) (#5349)
Integrated into release/v3.8.41 — wire tool/function calling into chatgpt-web via shared webTools shim (#5240). Test: chatgpt-web-tools-5240 green (4/4).
2026-06-29 11:21:47 -03:00
Diego Rodrigues de Sa e Souza
aa299720ee fix(opencode): visible rotation logs + ProxyEgress + callLogs SQL-vars (#5217 Stage 1) (#5351)
Integrated into release/v3.8.41 — OpenCode rotation logs (info) + ProxyEgress applied-proxy sink + callLogs SQL-vars chunking (#5217 Stage 1). Tests green (apply-executor-proxy-info, call-log-trim-sql-vars, opencode-proxy-rotation).
2026-06-29 11:21:37 -03:00
wild-feather
5189e3011b fix(translator): suppress </think> close marker for clients that render it verbatim (#5348)
Integrated into release/v3.8.41 — suppress </think> close marker for clients that render it verbatim (OpenCode), opt-out by UA allowlist; #4633 preserved for Claude Code/Cursor. Test: think-close-marker-suppress-5245 green (3/3). Thanks @wild-feather.
2026-06-29 11:21:11 -03:00
Diego Rodrigues de Sa e Souza
cc8a85c6fc docs(changelog): restore routing/cli/dashboard bullets eaten by sequential squash-merge
The squash-merges of #5346/#5345/#5344 onto release/v3.8.41 auto-resolved the
CHANGELOG and dropped the routing (#5239), cli (#5238) and dashboard-badge (#5264)
bullets — only the rerank (#5343) bullet survived. The code for all three landed
correctly; this restores the matching CHANGELOG entries verbatim. Additive only.
2026-06-29 11:10:04 -03:00
Jan Leon
04dbf1b0e7 chore: ratchet dead-code baseline (#5339)
Integrated into release/v3.8.41 — dead-code baseline ratchet 346→310 (verified DEAD_TOTAL=310 on the release tip after the granular cleanup + this batch landed). Thanks @JxnLexn.
2026-06-29 11:07:31 -03:00
Diego Rodrigues de Sa e Souza
1875dcda80 fix(rerank): register SiliconFlow + DeepInfra reranker providers (#5332) (#5343)
Integrated into release/v3.8.41 (register SiliconFlow + DeepInfra rerankers, #5332). Test: rerank-providers-5332 green (7/7).
2026-06-29 11:06:51 -03:00
Diego Rodrigues de Sa e Souza
619e925002 fix(dashboard): restore active/total model count badge in Available Models (#5264) (#5344)
Integrated into release/v3.8.41 (restore active/total model badge, #5264). Test: modelVisibilityToolbarActiveCount green (2/2).
2026-06-29 11:06:41 -03:00
Diego Rodrigues de Sa e Souza
48983fcf31 fix(cli): preserve user NODE_OPTIONS heap flag in omniroute serve (#5238) (#5345)
Integrated into release/v3.8.41 (preserve user NODE_OPTIONS heap, #5238 Defect C). Tests: serve-node-options-preserve-5238 green (5/5).
2026-06-29 11:06:19 -03:00
Diego Rodrigues de Sa e Souza
c06bf68ac1 fix(routing): auto-disable depleted API key on upstream 402 (#5239) (#5346)
Integrated into release/v3.8.41 (auto-disable depleted API key on 402, #5239). Tests: key-health-402-disable-5239 + account-fallback-service green.
2026-06-29 11:05:59 -03:00
wild-feather
890ca5a40c fix(translator): guard against empty Claude messages from all-system OpenAI requests (#5342)
Integrated into release/v3.8.41. Guards against empty Claude messages from all-system OpenAI requests. Thanks @wild-feather (first contribution).
2026-06-29 10:35:12 -03:00
backryun
fa31b14bb1 fix(providers): drop retired Gemini AI Studio models, align catalog to live API (#5337)
Integrated into release/v3.8.41. Drops retired Gemini AI Studio models + gemma-4 deprecation alias.
2026-06-29 10:32:49 -03:00
Diego Rodrigues de Sa e Souza
c50033f393 fix(authz): accept direct LAN/loopback-IP host as a valid mutation origin (#5340) (#5341)
Integrated into release/v3.8.41. Accepts direct LAN/loopback-IP host as a valid mutation origin (#5340); origin trust gated on the server-stamped peer, not the spoofable Host. 6 security-boundary tests incl. DNS-rebinding.
2026-06-29 10:31:36 -03:00
Jan Leon
ec8ad1a7ac chore: remove unused service registry export (#5338)
Verified dead-code removal: typecheck:core clean + affected unit tests + check-fabricated-docs gate green. All 'external references' were false positives (negative-assertion guards / doc comments). Integrated into release/v3.8.41. Thanks @JxnLexn!
2026-06-29 10:31:30 -03:00
Jan Leon
2b3f2c8eb6 chore: remove unused MCP scope helper exports (#5336)
Verified dead-code removal: typecheck:core clean + affected unit tests + check-fabricated-docs gate green. All 'external references' were false positives (negative-assertion guards / doc comments). Integrated into release/v3.8.41. Thanks @JxnLexn!
2026-06-29 10:31:27 -03:00
KooshaPari
604397ec0f fix service console failures (#5299)
Integrated into release/v3.8.41. Service-console fixes + Tailscale CGNAT LAN range; dropped the regressive context/page.tsx stub (release version retained).
2026-06-29 10:15:00 -03:00
KooshaPari
e0bd7a519f add relay routing backend selection (#5315)
Integrated into release/v3.8.41. Relay routing backend selection (ts/bifrost/auto), env-gated and merge-result-validated.
2026-06-29 10:11:33 -03:00
Jan Leon
6e66df78ae chore: remove unused correlation middleware exports (#5333)
Verified dead-code removal: typecheck + tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn!
2026-06-29 10:07:27 -03:00
Jan Leon
105f0c84da chore: remove unused request timeout fetch wrapper (#5331)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:07:07 -03:00
Jan Leon
8e3a110fb6 chore: remove unused event bus exports (#5335)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:07:03 -03:00
Jan Leon
699b34401b chore: remove unused semantic cache maintenance exports (#5334)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:06:59 -03:00
Jan Leon
80545a5a94 chore: remove unused runtime test helper exports (#5330)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:06:55 -03:00
Jan Leon
00b640f186 chore: remove unused formatting helper exports (#5329)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:06:51 -03:00
Jan Leon
1c3c0ac871 chore: remove unused static constant exports (#5328)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:06:48 -03:00
Jan Leon
0a2195e764 chore: remove unused domain helper exports (#5325)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:06:44 -03:00
Jan Leon
aad63f213e chore: remove unused utility exports (#5324)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:06:40 -03:00
Jan Leon
8d56238685 chore: drop unused validation schema exports (#5322)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:06:37 -03:00
Jan Leon
e0bfd509cf chore: trim unused exported helpers (#5321)
Verified dead-code removal: merged result passes typecheck:core + 194 affected unit tests + ESLint clean. Integrated into release/v3.8.41. Thanks @JxnLexn for the cleanup!
2026-06-29 10:06:33 -03:00
Diego Rodrigues de Sa e Souza
264f8a2aec chore(release): open v3.8.41 cycle
Bump 3.8.40 -> 3.8.41, add CHANGELOG [3.8.41] placeholder (+ 42 i18n mirrors),
finalize [3.8.40] release date, sync openapi.yaml + electron/open-sse manifests.
2026-06-29 09:07:30 -03:00
Diego Rodrigues de Sa e Souza
7c23dab64d Release v3.8.40
v3.8.40 cycle integration → main. All test gates green (Unit/Integration/Coverage/Node-compat/Quality-Ratchet). The only red check, 'PR Test Policy', is the test-masking heuristic firing on the cumulative ~57-commit release diff (legitimate assert consolidations already reviewed per-PR — Gemini CLI removal #5246, retired GPT models #5280, provider catalog refreshes); overridden with --admin per the documented release-PR convention. CodeQL/SonarQube advisory scans non-blocking; #5278's code already passed CodeQL on main. Homologated on VPS 192.168.0.15 (v3.8.40 healthy).
v3.8.40
2026-06-29 08:40:06 -03:00
Arthur Bodera
1c18be4f8f fix: centralize public origin checks for proxied dashboards (#5278)
Centralizes browser-mutation origin validation into `src/server/origin/publicOrigin.ts` and wires it through the authz pipeline, replacing the per-route same-origin-only check that 403'd dashboard mutations when served behind a reverse proxy on a different public origin. The new module resolves the allowed public origin from configured base-URL env vars or trusted forwarded headers (only when OMNIROUTE_TRUST_PROXY is set AND the peer is loopback/LAN via peer-stamp), validates Sec-Fetch-Site metadata, and sanitizes Host/Forwarded inputs (rejects control chars, userinfo, path/query in Host).

Reviewed sound; validated locally: authz/public-origin + pipeline suites 27/27 green (incl. invalid-origin reject + configured-origin accept), typecheck clean. Maintainer fix-up: moved the new test from tests/unit/server/ (not collected by any runner — orphan-test gate fail) into tests/unit/authz/. Remaining red CI shards are the pre-existing #4076 Dockerfile heap base-red on `main` (unrelated; de-brittled in the v3.8.40 release line).

Co-authored-by: Thinkscape <Thinkscape@users.noreply.github.com>
2026-06-29 01:43:14 -03:00
Diego Rodrigues de Sa e Souza
bc9d18457d chore(ci): Trivy advisory scan ignores unfixed CVEs (Security-tab noise) (#5234)
The advisory Trivy image scan uploaded every HIGH/CRITICAL into the
Security tab without ignore-unfixed, flooding it with ~150 unfixable
base-image OS CVEs (Debian trixie packages with no upstream patch,
overwhelmingly local-only and not reachable from the proxy request
surface). Operators cannot act on those, so they are pure noise.

Add ignore-unfixed:true to the advisory step so it mirrors the existing
CRITICAL blocking gate and surfaces only actionable, fixable
vulnerabilities. Wire trivyignores to a new repo-root .trivyignore that
documents the accepted-risk policy and is the single auditable home for
the rare fixable CVE we must temporarily accept (none at present).

Takes effect on the next release image build (Trivy only runs on tag
builds, not main pushes); fixed CVEs drop out of the SARIF and GitHub
auto-resolves the corresponding alerts.
2026-06-28 12:31:41 -03:00