Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
249 commits
Select commit Hold shift + click to select a range
b090b60
fix(deps): bump nanoid, dompurify for 2 new Dependabot alerts (#189, …
diegosouzapw Aug 8, 2026
026e1ca
fix(deps): bump nanoid, dompurify for Dependabot #189, #190
diegosouzapw Aug 8, 2026
918fba5
fix(repo): harden .gitignore to also ignore a _tasks symlink (/_tasks)
diegosouzapw Aug 8, 2026
5f0a394
Hide health-check excluded models from /v1/models catalog (#10026)
ritheshcn25 Aug 13, 2026
ca23eed
fix(models): memoize getModelsDevPricing (event loop / healthz) (#10055)
RaviTharuma Aug 13, 2026
c68cda7
fix(resilience): honor shared passthrough providers (#11075)
yourspraveen Aug 22, 2026
65e8115
fix(ollama): route models by advertised capability (#11088)
yourspraveen Aug 23, 2026
07d1816
fix(providers): hidden models leak into GET /v1/models (#11300) (#11309)
diegosouzapw Aug 24, 2026
ac02c5b
fix(resilience): don't clear an active rate-limit cooldown for non-qu…
diegosouzapw Aug 24, 2026
adca3b8
fix(kie): map remaining google-imagen Market ids to their real KIE up…
diegosouzapw Aug 24, 2026
c3698ee
fix(dashboard): route the Adapta tutorial CTA through the branded sho…
diegosouzapw Aug 24, 2026
8d6f91b
fix(security): refuse proxy-authorization and proxy-authenticate upst…
ntdat812 Aug 24, 2026
24ac714
test(db): make singleton reset survive the full suite and un-skip the…
pacocartones Aug 24, 2026
04b2c47
fix(i18n): restore three placeholders dropped from the pt catalogue (…
ntdat812 Aug 24, 2026
79f8ae9
fix(i18n): add the 3 pt-BR CLI keys that break the locale parity test…
pacocartones Aug 24, 2026
6984676
fix(quality): report the real failure line and stop double-counting c…
pacocartones Aug 24, 2026
5ee646e
fix(github): verify access tokens during health checks (#11320)
RaviTharuma Aug 24, 2026
cb11592
fix(db): judge the proxy URL host by address, not by spelling (#11319)
ntdat812 Aug 24, 2026
29f2629
feat(compression): isolate sync engines in bounded worker pool (#11318)
RaviTharuma Aug 24, 2026
9b14896
feat(api): add Google AI Studio Gemini TTS (#11315)
RaviTharuma Aug 24, 2026
c21460f
fix(lint): drain release-green hard failures on release/v3.8.50 (#998…
jonlwheat2-gif Aug 24, 2026
c3cd1f9
feat(services): expose sanitized CLIProxyAPI account health (#11314)
RaviTharuma Aug 24, 2026
690f684
feat(audio): add native ElevenLabs HTTP compatibility routes (#11312)
RaviTharuma Aug 24, 2026
6945bba
fix(db): escape regex metacharacters in group model patterns (#11311)
ntdat812 Aug 24, 2026
338c05d
fix(models): expose Ollama Cloud native effort tiers (#11307)
ekinnee Aug 24, 2026
dafb4ae
fix(deps): keep unused pnpm peers out of production (#11342)
diegosouzapw Aug 24, 2026
38969ad
fix(video-bridge): render timestamped contact sheets
diegosouzapw Aug 24, 2026
2f18a85
docs(changelog): link Video Bridge contact-sheet fix
diegosouzapw Aug 24, 2026
d2cea08
fix(video): harden result cache identity and bounds
diegosouzapw Aug 24, 2026
e2e48fd
docs(changelog): link Video Bridge cache fix PR
diegosouzapw Aug 24, 2026
f54c93c
fix(video): key download flights with process HMAC
diegosouzapw Aug 24, 2026
d4ade9d
fix(video): separate tenant scope from download hash
diegosouzapw Aug 24, 2026
22086a7
fix(video-bridge): validate structural segment sampling
diegosouzapw Aug 24, 2026
93135f8
feat(guardrails): add focused video analysis mode
diegosouzapw Aug 24, 2026
05e76d6
docs(changelog): link FU-07 pull request
diegosouzapw Aug 24, 2026
38d21af
docs(changelog): link FU-04 pull request
diegosouzapw Aug 24, 2026
12b8df0
fix(catalog): keep large builds event-loop responsive (#11367)
diegosouzapw Aug 24, 2026
fdcd15e
docs(openapi): document try proxy operation (#11363)
diegosouzapw Aug 24, 2026
b010d8b
docs(readme): reconcile v3.8.50 metrics and contributors (#11356)
diegosouzapw Aug 24, 2026
c6963ca
fix(changelog): require verified reconciliation ledger (#11345)
diegosouzapw Aug 24, 2026
761d38f
fix(video): harden result cache identity and coalescing (#11362)
diegosouzapw Aug 24, 2026
7715825
fix(video): harden visual frame deduplication (#11382)
diegosouzapw Aug 24, 2026
c83116e
fix(video): isolate drill-down cache by principal (#11369)
diegosouzapw Aug 24, 2026
c8ad44e
merge #11350 onto updated tip
hartmark Aug 24, 2026
d23bfef
merge #11383 onto updated tip
hartmark Aug 24, 2026
04d2a60
fix(video): make one-frame scene sampling deterministic (#11344)
diegosouzapw Aug 24, 2026
e589831
sync with tip before push
hartmark Aug 24, 2026
9fedc1c
merge #11381 onto updated tip
hartmark Aug 24, 2026
0b7ac87
sync with tip before push
hartmark Aug 24, 2026
9df3f89
fix(build): stop bundling the better-sqlite3 stub at runtime (#11343)…
diegosouzapw Aug 24, 2026
644dd32
fix(cli): resolve tray runtime import to a file:// URL so --tray work…
pacocartones Aug 24, 2026
2af1326
fix(catalog): add Stealth Ox Alpha (stealth/ox-alpha) to the openrout…
stanleytejakusuma Aug 24, 2026
028f1b9
fix(release): count sweep-stale matches by their real category in the…
pacocartones Aug 24, 2026
8301984
fix(i18n): complete zh-CN/zh-TW CLI locales and guard their parity (#…
pacocartones Aug 24, 2026
f88aa48
test(db): make exclusive-connection-lease uniqueness test self-contai…
pacocartones Aug 24, 2026
e1c2b34
fix(quota): parse absolute ISO datetime reset timestamps in weekly qu…
sprintberlin Aug 24, 2026
315b0a9
fix(resilience): preserve active cooldowns during recovery and probes…
sprintberlin Aug 24, 2026
6de542b
fix(providers): mark Antigravity connects with no Cloud Code projectI…
rqzbeh Aug 24, 2026
378eff0
fix(combo): pre-skip targets with persisted connection cooldown and r…
sprintberlin Aug 24, 2026
077bc1a
fix(compression): use pathToFileURL for workerUrl to prevent bundler …
TheDemonTuan Aug 24, 2026
37e7191
fix(translator): preserve functionCall id in Gemini to OpenAI request…
Siva010 Aug 24, 2026
dfc9257
fix(cli): spawn npm the way Windows needs in `omniroute update` (#11374)
ntdat812 Aug 24, 2026
019ad33
fix(auth): keep the real upstream reason in lastError (#11376)
ntdat812 Aug 24, 2026
9f30b76
fix(live-ws): resolve the public socket URL at runtime (#11377)
ntdat812 Aug 24, 2026
20de0d9
fix(usage): parse CREDIT_LIMIT rows from z.ai coding-plan quota API (…
Neuron-Mr-White Aug 24, 2026
095f424
fix(sse): spare live user message across all aggressive compression s…
HouMinXi Aug 24, 2026
3c2906a
fix(sse): kill entire process tree on Linux for adobe firefly sign-in…
HouMinXi Aug 24, 2026
440113c
fix(dashboard): align sync interval slider ticks via magnetic checkpo…
An0nym0us92 Aug 24, 2026
2544ee9
feat: enable Linux PATH inheritance for autostart & extend loginShell…
ziuus Aug 24, 2026
13e29f2
fix(translator): preserve Claude tool call state
NicolasDuranGarces Aug 24, 2026
243445f
docs(changelog): record Codex tool call fix
NicolasDuranGarces Aug 24, 2026
f58e8be
fix(opencode): close Muse Responses streams at completion
AStupidBear Aug 24, 2026
d732cf6
feat(volcengine): add Ark plan providers
Aug 13, 2026
76ac1c8
feat(volcengine): live model discovery for Ark plan providers
Aug 17, 2026
3415050
fix(volcengine): retain API-callable Agent Plan models
Aug 18, 2026
07a378c
feat(volcengine): switch Agent Plan discovery to ListAgentPlanLatestM…
Aug 19, 2026
8f15b79
feat(volcengine): phone/SMS auto-login for console with MFA + identit…
Aug 21, 2026
815c7c2
fix(volcengine): exempt volcengine-console from the -web naming conve…
Aug 24, 2026
93da24c
fix(providers): reject reserved provider prefixes on compatible-node …
ggdayup Aug 24, 2026
0a53c8a
test(providers): update reserved-prefix count fixture to 391 after up…
ggdayup Aug 24, 2026
dfc5b5e
perf(providers): lazy validate provider schema on demand to reduce st…
hartmark Aug 24, 2026
406f452
chore(quality): rebaseline file-size for #11355/#11344/#11381/#11362/…
hartmark Aug 24, 2026
71eeaf2
fix(combo): reconcile #11360 retry-loop persisted-cooldown recheck re…
hartmark Aug 24, 2026
b1fdfd5
fix(sse): preserve auto-selected first target (#11399)
jacobsparts Aug 24, 2026
ddee064
fix(sse): preserve auto scoring order (#11400)
jacobsparts Aug 24, 2026
7b36e45
fix(dashboard): normalize explicit auto weights (#11402)
jacobsparts Aug 24, 2026
56d64e2
fix(dashboard): expose custom mode-pack option (#11407)
jacobsparts Aug 24, 2026
bbc7bf4
fix(authz): match exact public routes exactly, not as prefixes (#11417)
diegosouzapw Aug 24, 2026
8bbe92c
fix(docker): size the Next build worker pool for a 16 GB runner (#11419)
diegosouzapw Aug 24, 2026
d5d730c
test(kimi): stop drawing the refresh window inside the assertion (#11…
ntdat812 Aug 24, 2026
f93fecd
fix(dashboard): honour the live WebSocket port the handshake reports …
ntdatt812 Aug 24, 2026
11cbd7d
fix(models): normalize media endpoint metadata (#11397)
marcelokarval Aug 24, 2026
9464792
feat(sse): add glm-5.3-max explicit effort tier (#11415)
phuongddx Aug 24, 2026
59dccdd
fix(security): sanitize agent-card topology, anti-spoof login rate-li…
HouMinXi Aug 24, 2026
b24cc53
fix(quality): drain the two Fast Quality Gates base-reds (#11438)
diegosouzapw Aug 24, 2026
1d0c5a3
fix(security): match cookie domains by suffix, not substring (#11429)
diegosouzapw Aug 24, 2026
f95b03d
chore(release): back-merge main into release/v3.8.50 (ours) to unbloc…
backryun Aug 24, 2026
e3e188e
fix(release): restore #10534 quota recovery and validate the volcengi…
diegosouzapw Aug 25, 2026
fc0d619
fix(release): drain the v3.8.50 docs/golden/GLM base-reds and restore…
diegosouzapw Aug 25, 2026
93c798c
test(a2a): call the agent-card route handlers with a NextRequest
diegosouzapw Aug 25, 2026
7de2643
test(router-eval): give spawned CLI children an explicit DATA_DIR
diegosouzapw Aug 25, 2026
80f107d
test(quota): freeze the clock in the GLM absolute-ISO-reset regressio…
diegosouzapw Aug 25, 2026
b4a636c
test(providers): use a non-reserved prefix in the CC-compatible node …
diegosouzapw Aug 25, 2026
ae126da
fix(quality): drain the three v3.8.50 inventory/coverage base-reds
diegosouzapw Aug 25, 2026
e4f730a
fix(release): drain two v3.8.50 base-reds (volcengine vision metadata…
diegosouzapw Aug 25, 2026
1249f71
fix(cli): do not treat a tmpfs mount as proof a config path reaches t…
diegosouzapw Aug 25, 2026
543bf99
chore(docs): commit the next-dev agent-rules block into AGENTS.md
backryun Aug 25, 2026
588c683
docs(changelog): aggregate the 363 changelog.d fragments into [3.8.50]
backryun Aug 25, 2026
1e705fd
docs(changelog): reconcile the v3.8.50 section with the cycle's uncov…
backryun Aug 25, 2026
5e370c2
docs(changelog): date the 3.8.50 header, inject contributors and sync…
backryun Aug 25, 2026
3d59c66
fix(ci): raise the unit-shard heap ceiling to 8192 MB to stop the SIG…
backryun Aug 25, 2026
b6a4739
fix(ci): set NODE_OPTIONS on the unit-shard step and prune stale esli…
backryun Aug 25, 2026
5eccbfa
fix(ci): drain four inherited base-reds in packaging, electron and in…
backryun Aug 25, 2026
dd3a0f0
test(vitest): realign five sibling-test contracts unmasked by the gre…
backryun Aug 25, 2026
486a265
fix(i18n): unstale trafficInspectorSubtitle across 32 locales and reg…
backryun Aug 25, 2026
79478a6
test(vitest): pay heavy module imports at collection time, not out of…
backryun Aug 25, 2026
7790b0d
test(integration): realign three suites to security and version contr…
backryun Aug 25, 2026
c51d742
fix(ci): drain the electron packaging regression, the models-catalog …
backryun Aug 25, 2026
091e2ba
test(ui): unmount before asserting so the auto-sync timer cannot outl…
backryun Aug 25, 2026
37d784b
fix(search): prefer the configured search connection over duckduckgo-…
backryun Aug 25, 2026
45fde4f
fix(api): restore the after() injection point for the /v1/models SWR …
backryun Aug 25, 2026
2dfb730
fix(sse): stop re-summarizing a universal handoff that never parses
backryun Aug 25, 2026
a11930e
fix(sse): honor per-step connection pins instead of rotating accounts…
backryun Aug 25, 2026
01c40d7
fix(ci): point the pack-artifact provenance gate at the branch under …
backryun Aug 25, 2026
b212a5a
test(dashboard): open the proxy toolbar overflow menu before bulk assign
backryun Aug 25, 2026
7cde116
fix(dashboard): restore expert-mode manual model entry in the combo b…
backryun Aug 25, 2026
32470f3
test(api): accept the post-#9320 auth gate on the /v1/models e2e check
backryun Aug 26, 2026
7afacf6
chore(quality): refresh the combos-page eslint suppressions after the…
backryun Aug 26, 2026
3822186
docs(changelog): add fragments for the nine post-reconciliation commits
backryun Aug 26, 2026
fc185d9
docs(changelog): correct the #11552 waste figure to the measured rate
backryun Aug 26, 2026
7448780
fix(cli): restore the full health view for the loopback CLI (check:pa…
backryun Aug 26, 2026
031e765
test(authz): stop skipping the loopback coverage and re-point the Hos…
backryun Aug 26, 2026
ee24799
chore(quality): freeze the 215 pre-existing eslint errors the CI cach…
backryun Aug 26, 2026
0915890
revert(quality): drop the 150 phantom eslint suppressions frozen from…
backryun Aug 26, 2026
b4ec780
Release v3.8.50
diegosouzapw Aug 26, 2026
5458026
docs(changelog): aggregate the ten v3.8.50 fragments into CHANGELOG.m…
diegosouzapw Aug 26, 2026
c44c0a2
docs(changelog): add consolidated v3.8.50 stats, top-25 ranking and a…
diegosouzapw Aug 27, 2026
8778ea7
fix(ci): stamp dist/BUILD_SHA before the npm publish provenance gate …
diegosouzapw Aug 27, 2026
aa52351
fix(docker): decouple the best-effort Bun image from the release mani…
diegosouzapw Aug 27, 2026
925feb2
fix(docker): let the bun digest artifact be absent, not fatal (#11740)
diegosouzapw Aug 27, 2026
2c1c3be
fix(resilience): stop hammering permanently-moved endpoints and billi…
invalid-email-address Aug 27, 2026
b65ef33
fix(ci): size the install-upgrade gate to a measured run, and log the…
diegosouzapw Aug 27, 2026
0ce2123
fix(db): converge the install and upgrade schemas; stop ENOSPC from f…
diegosouzapw Aug 27, 2026
a45e80a
fix(db): skip absent compression telemetry cleanup table (#11802)
RaviTharuma Aug 28, 2026
9be4fd0
fix(models): hide unsupported Gemini Live discovery (#11710)
RaviTharuma Aug 28, 2026
09fa818
fix(docker): make GHA cache exports best effort (#11806)
RaviTharuma Aug 28, 2026
a14a91d
perf(compression): avoid cloning memo misses twice (#11727)
RaviTharuma Aug 28, 2026
321935d
fix(services): separate CLIProxyAPI health and model auth (#11811)
RaviTharuma Aug 28, 2026
d937b52
fix(sse): preserve CLIProxyAPI wrappers per connection (#11797)
RaviTharuma Aug 28, 2026
cfeed51
fix(dashboard): make model auto-fetch order independent (#11805)
RaviTharuma Aug 28, 2026
825f8fe
fix(providers): honor model auto-fetch opt-in on create (#11798)
RaviTharuma Aug 28, 2026
b7c07ed
fix(ci): run the install-upgrade gate on disk, not on the /tmp tmpfs …
diegosouzapw Aug 28, 2026
7c04e75
docs(dedup): correct the CodeQL claim on the tenant-namespace comment…
diegosouzapw Aug 28, 2026
103d0de
chore(assets): prune unused assets with unresolved provenance (#11735)
diegosouzapw Aug 28, 2026
2efe22b
docs(legal): add pinned MIT third-party notices (#11726)
diegosouzapw Aug 28, 2026
e525f1d
docs(assets): retire unproven PicoClaw and Zoo Code rasters (#11736)
diegosouzapw Aug 28, 2026
26a28b0
fix(dashboard): replace unprovenanced notification MP3 (#11731)
diegosouzapw Aug 28, 2026
46b8e7a
fix(video-bridge): preserve fused timeline ordering (#11681)
diegosouzapw Aug 28, 2026
451917f
docs(legal): add pinned provider asset notices (#11737)
diegosouzapw Aug 28, 2026
3f5b08f
fix(providers): correct g4f.space gateway claims (#11738)
diegosouzapw Aug 28, 2026
acb9ba6
chore(quality): gate provider asset provenance (#11743)
diegosouzapw Aug 28, 2026
a818958
fix(sse): retire Gemini Web image generation (#11708)
diegosouzapw Aug 28, 2026
700a735
fix(tests): await async getExecutor() in gemini-web-image-retirement …
diegosouzapw Aug 28, 2026
657d3a4
fix(deepseek-web): replace unlicensed PoW artifacts (#11732)
diegosouzapw Aug 28, 2026
dd8575e
chore(audio): retire EdgeTTS pending provenance review (#11711)
diegosouzapw Aug 28, 2026
890cbfb
fix(sse): retire Microsoft Designer Web runtime (#11720)
diegosouzapw Aug 28, 2026
bb1b011
fix(assets): replace unresolved provider logos with generic icons (#1…
diegosouzapw Aug 28, 2026
84504e3
chore(providers): retire Felo Web on provenance hold (#11698)
diegosouzapw Aug 28, 2026
3026183
refactor(mitm): replace inspector utilities clean-room (#11748)
diegosouzapw Aug 28, 2026
0ad0331
chore(providers): retire GPL-derived Raycast and Hailuo integrations …
diegosouzapw Aug 28, 2026
8e2fb04
fix(build): drop Next trace manifests from the npm tarball (413 on pu…
diegosouzapw Aug 28, 2026
f48e251
fix(providers): retire Qwen Web pending provenance review (#11713)
diegosouzapw Aug 28, 2026
7d57d9f
fix(providers): retire common ChatGPT Web provider (#11754)
diegosouzapw Aug 28, 2026
b45c97d
fix(quality): reconcile provider-assets-provenance manifest to the re…
diegosouzapw Aug 28, 2026
0188685
fix(lint): pin react hooks plugin to 7.0.1 (#11886)
diegosouzapw Aug 28, 2026
0f88b74
feat(oauth): default Antigravity-family connections to model auto-syn…
diegosouzapw Aug 28, 2026
675bca8
feat(models): reactive discovery sync after Antigravity model-not-fou…
diegosouzapw Aug 28, 2026
2c17b77
feat(models): auto-aliases and token limits from synced Antigravity d…
diegosouzapw Aug 28, 2026
f3d9279
refactor(quality): split adobeFireflyClient.ts (2,952 lines) into nin…
MumuTW Aug 28, 2026
394ae23
fix(sse): harden session affinity key extraction (#11746)
MumuTW Aug 28, 2026
9d8f723
fix(ci): surface and clear release-green ESLint failure (#11890)
diegosouzapw Aug 28, 2026
44cb226
fix(quality): ratchet-bank verifier rejects object-valued notes (#11892)
diegosouzapw Aug 28, 2026
dea6bb8
fix(ci): publish npm from a hosted runner so provenance is accepted (…
diegosouzapw Aug 28, 2026
3f35f3a
fix(open-sse): sample stream TTFT/ITL from a monotonic clock (#11873)
pacocartones Aug 28, 2026
dff3f8b
fix(api): return public-safe errors from the tunnel and MITM routes (…
pacocartones Aug 28, 2026
0c3181c
fix(api): bound provider login timeout to the shared browser-login wi…
pacocartones Aug 28, 2026
5c0b68e
fix(ui): expose DataTable loading semantics and hide the decorative s…
pacocartones Aug 28, 2026
49a6336
fix(playground): simulate persisted combo models (#11862)
pacocartones Aug 28, 2026
07541c4
fix(cli): separate node endpoint from server base URL (#11860)
pacocartones Aug 28, 2026
bd4fd89
fix(profile): expose accessible status and progress (#11838)
pacocartones Aug 28, 2026
808992a
fix(antigravity): cap unverified body retry hints (#11823)
pacocartones Aug 28, 2026
db87fb6
fix(providers): honor start day for overnight peak windows (#11718)
pacocartones Aug 28, 2026
e3563d2
fix(search): allow explicit AnySearch web fetch (#11716)
pacocartones Aug 28, 2026
e3caa20
fix(ci): detect stale workspace lockfile entries (#11714)
pacocartones Aug 28, 2026
13afbfa
fix(vision-bridge): honor authoritative live catalogs (#11813)
pacocartones Aug 28, 2026
1b39873
fix(sse): preserve coherent markdown token boundaries across stream t…
HouMinXi Aug 28, 2026
00b7b71
feat(routing): expand connection-aware quota prefilter across combo s…
HouMinXi Aug 28, 2026
495d10d
fix(mcp): avoid async initialization inside sync esm wrappers (#11569…
HouMinXi Aug 28, 2026
cab9cdc
fix(pwa): stop serving the stale shell after deploys (#11779)
HouMinXi Aug 28, 2026
b710214
fix(socks): forward Agent.connectTimeout to SocksClient and TLS, unif…
maxmad64bis Aug 28, 2026
51ca7ed
feat(free): per-model isFree for custom models (catalog + UI) (#11843)
maxmad64bis Aug 28, 2026
d5dfcff
feat(combo): choose sort method for combo models (manual/provider/sco…
maxmad64bis Aug 28, 2026
b68af3f
chore(release): merge release/v3.8.50 tip into release/v3.8.51 — sync…
diegosouzapw Aug 28, 2026
21c488f
chore(release): bring main's post-tag fixes into release/v3.8.51 — sy…
diegosouzapw Aug 28, 2026
70f5d4c
chore(db): renumber model_capabilities migration 163 → 169 (cross-bra…
diegosouzapw Aug 28, 2026
f2825ba
fix(typecheck): guard the optional connectionId before the reactive m…
diegosouzapw Aug 28, 2026
282de84
revert(models): drop the memo reset hook ported from #10055
diegosouzapw Aug 28, 2026
9ec7b72
chore(release): sync main (v3.8.50 close) into release/v3.8.51 — para…
diegosouzapw Aug 28, 2026
a32ba0e
test(security): drop the guard-target set left unused by the sync
diegosouzapw Aug 28, 2026
e70bea3
docs(counts): bring the documented provider and migration counts to t…
diegosouzapw Aug 28, 2026
e4683cd
fix(test): stop the Alibaba allowlist test from expiring with the cat…
diegosouzapw Aug 28, 2026
09de69e
test(config): fail seven days before a dated config pack lapses (#11891)
diegosouzapw Aug 28, 2026
e71be03
chore(ops): make the runner janitor act on what it can prove, not adv…
diegosouzapw Aug 28, 2026
9dc8eab
feat(quality): fail check:workflows on --provenance from a self-hoste…
diegosouzapw Aug 28, 2026
f564b64
fix(ci): give main's build its own lane on the self-hosted pool (#11901)
diegosouzapw Aug 28, 2026
b8c7ee5
fix(translator): keep upstream usage from trailing empty-choices chun…
NoxzRCW Aug 28, 2026
c5ebbb7
fix(skills): expand shorthand property types in injected tool schemas…
NoxzRCW Aug 28, 2026
d846692
fix(dashboard): guard provider icon lookups against prototype collisi…
NoxzRCW Aug 28, 2026
f08f35d
fix(providers): pass xAI reasoning_effort xhigh through to grok-4.6+ …
NoxzRCW Aug 28, 2026
529e441
chore(release): sync main into release/v3.8.51 — the five post-releas…
diegosouzapw Aug 28, 2026
c661e1c
port(playground): specific step warnings from #11882, keep #11862's s…
diegosouzapw Aug 28, 2026
dd35750
fix(sse): defer OpenAI-to-Claude finish emission until real usage arr…
diegosouzapw Aug 28, 2026
cea1baa
fix(ui): guard remaining ProviderIcon lookups against prototype colli…
diegosouzapw Aug 28, 2026
3d2832b
fix(models): suppress static registry models when live catalog is syn…
HouMinXi Aug 28, 2026
dc75a02
fix(models): expose custom node models in canonical prefix mode (#118…
HouMinXi Aug 28, 2026
6b25981
fix(sse): preserve store parameter semantics for openai-compatible re…
HouMinXi Aug 28, 2026
33763f0
chore(changelog): add missing fragments for #11919/#11918/#11916 (#11…
diegosouzapw Aug 28, 2026
5ade9e0
fix(sync): repair the two regressions the v3.8.50 sync-back left on r…
diegosouzapw Aug 28, 2026
5b38ec7
fix(ci): keep the next-build artefact on disk, not on the runner's tm…
diegosouzapw Aug 28, 2026
f907b5e
fix(ci): cap heavy builds at two runners with the omni-build label (#…
diegosouzapw Aug 28, 2026
9968e1c
Merge remote-tracking branch 'origin/release/v3.8.51' into chore/sync…
diegosouzapw Aug 28, 2026
fb7445e
test(check): escape the runs-on fixture with JSON.stringify, not a qu…
diegosouzapw Aug 28, 2026
226538f
feat(ci): publish to npm through Trusted Publishing (OIDC) by default…
diegosouzapw Aug 28, 2026
8dfdd95
test(release): align five suites with the contracts #11933, #11919 an…
diegosouzapw Aug 28, 2026
a94fe23
fix(release): drain the twelve reds every PR against release/v3.8.51 …
diegosouzapw Aug 28, 2026
24c0643
test(check): escape the runs-on fixture with JSON.stringify, not a qu…
diegosouzapw Aug 28, 2026
9661611
Merge remote-tracking branch 'origin/main' into chore/sync-main-into-…
diegosouzapw Aug 28, 2026
777d9d1
test(translator): fix the relative imports of the relocated deferred-…
diegosouzapw Aug 28, 2026
d0f69e4
chore(quality): re-freeze the ESLint suppressions on release/v3.8.51 …
diegosouzapw Aug 29, 2026
3d12564
chore(ci): cap the unit shards at 30 min and stop restoring stale ESL…
diegosouzapw Aug 29, 2026
0343142
docs(agents): sync-back landings are fast-forward, never squash (#11964)
diegosouzapw Aug 29, 2026
d7cdfca
fix(ci): take the two hosted-runner builds off the PR rail (#11946, o…
diegosouzapw Aug 29, 2026
7517106
fix(ci): run the build-bearing nightly jobs on the box's light pool (…
diegosouzapw Aug 29, 2026
3d4f3e4
test(infra): retry recursive temp-dir removal instead of failing a sh…
diegosouzapw Aug 29, 2026
60bbf0f
fix(ci): stop a stalled Codecov upload from cancelling the Coverage j…
diegosouzapw Aug 29, 2026
757cc3b
fix(release): let the Electron workflow start again — grant actions:r…
diegosouzapw Aug 29, 2026
3b752f9
chore(quality): type the 55 no-explicit-any sites frozen under #11924…
diegosouzapw Aug 29, 2026
87b3bdf
fix(resilience): lock permanently retired models instead of short bac…
turbolego Aug 29, 2026
69e0ae5
merge #11774 onto updated tip
hartmark Aug 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
78 changes: 18 additions & 60 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -612,11 +612,9 @@ CLOUD_URL=
# Default: http://localhost:20128
NEXT_PUBLIC_BASE_URL=http://localhost:20128

# Browser-facing OmniRoute origin for generated assets in API responses.
# Highest-priority public origin override; also used by non-dashboard public-origin validation.
# Used by: chatgpt-web image generation cache URLs (/v1/chatgpt-web/image/<id>).
# Set this when OpenWebUI or another relay reaches OmniRoute by an internal URL
# but the user's browser must fetch images from a LAN, tunnel, or public origin.
# Highest-priority OmniRoute public origin override, also used by non-dashboard
# public-origin validation. Set it when external clients reach OmniRoute through
# a stable LAN, tunnel, or public origin that differs from its internal URL.
# Do not include /v1; if included accidentally it will be normalized away.
# OMNIROUTE_PUBLIC_BASE_URL=http://192.168.0.15:20128

Expand All @@ -629,28 +627,6 @@ NEXT_PUBLIC_BASE_URL=http://localhost:20128
# Used by: open-sse/config/providerPluginManifestUrl.ts. Defaults to http.
# OMNIROUTE_PUBLIC_PROTOCOL=http

# Max wait time for an async chatgpt-web image to land via the celsius
# WebSocket, in milliseconds. Default 180000 (3 minutes). Increase during
# upstream queue-deep windows ("Lots of people are creating images right now").
# OMNIROUTE_CGPT_WEB_IMAGE_TIMEOUT_MS=180000

# Total in-memory byte budget for the chatgpt-web image cache (used to serve
# /v1/chatgpt-web/image/<id>), in megabytes. Default 256. Lower this if you
# run OmniRoute on a memory-constrained host; raise it if image generation
# is heavy and clients are racing the 30-minute TTL.
# OMNIROUTE_CGPT_WEB_IMAGE_CACHE_MAX_MB=256

# Overall wait budget for a chatgpt-web GPT-5.5 Pro background-poll handoff,
# in milliseconds. Default 1200000 (20 minutes). Pro reasoning runs are slow
# and complete out-of-band, so OmniRoute polls until the answer lands or this
# budget elapses. Raise it if Pro requests time out before finishing.
# OMNIROUTE_CGPT_WEB_PRO_TIMEOUT_MS=1200000

# Interval between chatgpt-web GPT-5.5 Pro background-poll attempts, in
# milliseconds. Default 4000 (4 seconds). Lower for snappier completion at the
# cost of more upstream polling; raise to reduce request volume.
# OMNIROUTE_CGPT_WEB_PRO_POLL_INTERVAL_MS=4000

# Public cloud URL — client-side mirror of CLOUD_URL.
NEXT_PUBLIC_CLOUD_URL=

Expand Down Expand Up @@ -1037,6 +1013,13 @@ PROVIDER_LIMITS_SYNC_SPACING_MS=1500
# to disable the check. Used by: src/lib/db/migrationRunner.ts. Default: 50.
#OMNIROUTE_MAX_PENDING_MIGRATIONS=50

# Working directory for the check:install-upgrade release gate. It builds two ~3 GB
# install trees plus a ~275 MB tarball, so it needs roughly 12 GB — more than the
# 12 GB RAM-backed tmpfs that /tmp is on the self-hosted runner, where it exhausted
# the tmpfs and npm silently truncated the package. Defaults to <repo>/.install-upgrade
# on real disk. Used by: scripts/check/check-install-upgrade.mjs. Default: <repo>/.install-upgrade.
#OMNIROUTE_INSTALL_UPGRADE_WORKDIR=/var/tmp/omniroute-install-upgrade

# Trust user-managed RTK project filter rules without strict signature checks.
# Used by: open-sse/services/compression/engines/rtk/filterLoader.ts. Default: 0.
#OMNIROUTE_RTK_TRUST_PROJECT_FILTERS=0
Expand Down Expand Up @@ -1256,17 +1239,6 @@ GITHUB_OAUTH_CLIENT_ID=Iv1.b507a08c87ecfe98
# VISION_BRIDGE_BASE_URL=
# VISION_BRIDGE_API_KEY=

# ── Raycast Pro (local auto-import) ──
# Raycast Pro AI is a reverse-engineered, unofficial API — local/personal use
# only (no OAuth client_id/secret; token is captured via macOS Auto-Import
# from the Keychain + local Raycast SQLite DB, or pasted manually). These
# vars are optional manual overrides used by open-sse/services/raycast.ts
# and the direct-probe benchmark script scripts/raycast/usage-benchmark.mjs.
# RAYCAST_BEARER_TOKEN=
# RAYCAST_DEVICE_ID=
# RAYCAST_AID=
# RAYCAST_SIG_SECRET=

# ─────────────────────────────────────────────────────────────────────────────
# ⚠️ GOOGLE OAUTH (Antigravity) & OTHER PROVIDERS — REMOTE SERVERS
# ─────────────────────────────────────────────────────────────────────────────
Expand Down Expand Up @@ -1483,17 +1455,6 @@ CURSOR_USER_AGENT="Cursor/3.4"
# FIRECRAWL_BASE_URL=https://api.firecrawl.dev
# FIRECRAWL_TIMEOUT_MS=30000 # Per-request timeout (default: 30000 = 30s)

# ── ChatGPT TLS sidecar (Firefox-fingerprinted client) ──
# Used by: open-sse/services/chatgptTlsClient.ts — wire-level timeout for
# the bogdanfinn/tls-client koffi binding and the JS-side grace window
# layered on top of it when the native library is wedged.
# OMNIROUTE_CHATGPT_TLS_TIMEOUT_MS=60000
# OMNIROUTE_CHATGPT_TLS_GRACE_MS=10000
# Max wait for the FIRST streamed byte from the ChatGPT TLS sidecar before the
# request is aborted as a dead stream, in milliseconds. Default 30000 (30s).
# Raise it if upstream cold-starts routinely exceed the window.
# OMNIROUTE_CHATGPT_STREAM_FIRST_BYTE_TIMEOUT_MS=30000

# ── Claude TLS sidecar (Chromium-fingerprinted client) ──
# Used by: open-sse/services/claudeTlsClient.ts — wire-level timeout for
# the bogdanfinn/tls-client koffi binding and the JS-side grace window
Expand Down Expand Up @@ -1941,12 +1902,6 @@ APP_LOG_TO_FILE=true
# Base backoff after a transient 408 response (ms); five attempts maximum.
# ADOBE_FIREFLY_SUBMIT_BASE_DELAY_MS=8000

# ── Microsoft Designer Web (Image Generation) ──
# Polling config for the microsoft-designer-web submit-then-poll image job.
# Used by: open-sse/handlers/imageGeneration/providers/designerWeb.ts
# DESIGNER_WEB_POLL_TIMEOUT_MS=60000 # Max wait for job completion (default: 60s)
# DESIGNER_WEB_POLL_INTERVAL_MS=2000 # Poll frequency (default: 2s)

# ── Adobe Firefly (Image Upscale) ──
# Base delay (ms) for the submit-retry exponential backoff when Adobe Firefly's
# upscale job submission is rate-limited. Used by:
Expand Down Expand Up @@ -2566,11 +2521,6 @@ APP_LOG_TO_FILE=true
# Used by: src/lib/jobs/backupScheduleJob.ts
# OMNIROUTE_BACKUP_SCHEDULE_JOB_INTERVAL_MS=30000

# ── TLS sidecar override ──
# Used by: open-sse/services/chatgptTlsClient.ts tests. Production deployments
# should leave this unset; the sidecar is auto-managed.
# OMNIROUTE_TLS_PROXY_URL=

# ── Skills sandbox (experimental) ──
# Used by: src/lib/skills/builtins.ts. All values support comma lists where
# noted in the source.
Expand Down Expand Up @@ -3073,3 +3023,11 @@ QUOTA_STORE_DRIVER=sqlite
# corpus-aware retrieval. Higher values keep more index entries hot.
# Used by: src/lib/localCorpus/configured.ts
# OMNIROUTE_CORPUS_CACHE_SIZE=5

# Service-worker cache-busting id for the PWA shell (#11779). NEXT_PUBLIC_SW_BUILD_ID is
# derived at build time from OMNIROUTE_SW_BUILD_ID, then SOURCE_VERSION (set by some PaaS
# builders), then the git SHA — override only when the build cannot see git. Used by:
# next.config.mjs, scripts/build/assembleStandalone.mjs, src/shared/components/PwaRegister.tsx.
#OMNIROUTE_SW_BUILD_ID=2026-08-28T12-00-00
#SOURCE_VERSION=abcdef0123456789
#NEXT_PUBLIC_SW_BUILD_ID=abcdef0123456789
11 changes: 9 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
name: Build App

# Manual-only since #11946. The hosted 7 GB runner can no longer build this tree — 19 of
# the last 30 runs died with "The runner has received a shutdown signal" (VM out of
# memory) ~8 min into `next build`, release/v3.8.51 itself included, even with the 10 GB
# swapfile below. Triggered on `push: branches: ["**"]` it painted every branch and every
# PR red while producing an artefact nothing downloads. The bundle is validated where a
# build actually fits:
# - main: ci.yml `Build` (self-hosted omni-build pool) on every merge
# - release/**: nightly-release-green.yml (same pool, continuous)
# Dispatch this workflow by hand when a hosted build artefact is genuinely needed.
on:
workflow_dispatch:
push:
branches: ["**"]

permissions:
contents: read
Expand Down
Loading
Loading