diegosouzapw
df23162e9d
chore(release): v3.3.5 - all changes in ONE commit
v3.3.5
2026-03-30 17:35:51 -03:00
dependabot[bot]
2c12f18b44
deps: bump the production group with 8 updates
...
Bumps the production group with 8 updates:
| Package | From | To |
| --- | --- | --- |
| [@lobehub/icons](https://github.com/lobehub/lobe-icons ) | `5.0.1` | `5.2.0` |
| [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk ) | `1.27.1` | `1.29.0` |
| [@swc/helpers](https://github.com/swc-project/swc/tree/HEAD/packages/helpers ) | `0.5.19` | `0.5.20` |
| [jose](https://github.com/panva/jose ) | `6.2.1` | `6.2.2` |
| [next](https://github.com/vercel/next.js ) | `16.1.7` | `16.2.1` |
| [recharts](https://github.com/recharts/recharts ) | `3.8.0` | `3.8.1` |
| [undici](https://github.com/nodejs/undici ) | `7.24.4` | `7.24.6` |
| [wreq-js](https://github.com/sqdshguy/wreq-js ) | `2.2.0` | `2.2.2` |
Updates `@lobehub/icons` from 5.0.1 to 5.2.0
- [Release notes](https://github.com/lobehub/lobe-icons/releases )
- [Changelog](https://github.com/lobehub/lobe-icons/blob/master/CHANGELOG.md )
- [Commits](https://github.com/lobehub/lobe-icons/compare/v5.0.1...v5.2.0 )
Updates `@modelcontextprotocol/sdk` from 1.27.1 to 1.29.0
- [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases )
- [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/v1.27.1...v1.29.0 )
Updates `@swc/helpers` from 0.5.19 to 0.5.20
- [Release notes](https://github.com/swc-project/swc/releases )
- [Changelog](https://github.com/swc-project/swc/blob/main/CHANGELOG-CORE.md )
- [Commits](https://github.com/swc-project/swc/commits/HEAD/packages/helpers )
Updates `jose` from 6.2.1 to 6.2.2
- [Release notes](https://github.com/panva/jose/releases )
- [Changelog](https://github.com/panva/jose/blob/main/CHANGELOG.md )
- [Commits](https://github.com/panva/jose/compare/v6.2.1...v6.2.2 )
Updates `next` from 16.1.7 to 16.2.1
- [Release notes](https://github.com/vercel/next.js/releases )
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js )
- [Commits](https://github.com/vercel/next.js/compare/v16.1.7...v16.2.1 )
Updates `recharts` from 3.8.0 to 3.8.1
- [Release notes](https://github.com/recharts/recharts/releases )
- [Changelog](https://github.com/recharts/recharts/blob/main/CHANGELOG.md )
- [Commits](https://github.com/recharts/recharts/compare/v3.8.0...v3.8.1 )
Updates `undici` from 7.24.4 to 7.24.6
- [Release notes](https://github.com/nodejs/undici/releases )
- [Commits](https://github.com/nodejs/undici/compare/v7.24.4...v7.24.6 )
Updates `wreq-js` from 2.2.0 to 2.2.2
- [Release notes](https://github.com/sqdshguy/wreq-js/releases )
- [Commits](https://github.com/sqdshguy/wreq-js/compare/v2.2.0...v2.2.2 )
---
updated-dependencies:
- dependency-name: "@lobehub/icons"
dependency-version: 5.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@modelcontextprotocol/sdk"
dependency-version: 1.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: "@swc/helpers"
dependency-version: 0.5.20
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: jose
dependency-version: 6.2.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: next
dependency-version: 16.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: recharts
dependency-version: 3.8.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: undici
dependency-version: 7.24.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: wreq-js
dependency-version: 2.2.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-30 17:32:55 -03:00
dependabot[bot]
eaeb28b4e1
deps: bump the development group with 7 updates
...
Bumps the development group with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss ) | `4.2.1` | `4.2.2` |
| [@types/keytar](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/keytar ) | `4.4.0` | `4.4.2` |
| [eslint-config-next](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next ) | `16.1.6` | `16.2.1` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss ) | `4.2.1` | `4.2.2` |
| [typescript](https://github.com/microsoft/TypeScript ) | `5.9.3` | `6.0.2` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint ) | `8.57.1` | `8.58.0` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ) | `4.1.0` | `4.1.2` |
Updates `@tailwindcss/postcss` from 4.2.1 to 4.2.2
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/@tailwindcss-postcss )
Updates `@types/keytar` from 4.4.0 to 4.4.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/keytar )
Updates `eslint-config-next` from 16.1.6 to 16.2.1
- [Release notes](https://github.com/vercel/next.js/releases )
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js )
- [Commits](https://github.com/vercel/next.js/commits/v16.2.1/packages/eslint-config-next )
Updates `tailwindcss` from 4.2.1 to 4.2.2
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases )
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.2/packages/tailwindcss )
Updates `typescript` from 5.9.3 to 6.0.2
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.2 )
Updates `typescript-eslint` from 8.57.1 to 8.58.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases )
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md )
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/typescript-eslint )
Updates `vitest` from 4.1.0 to 4.1.2
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.2/packages/vitest )
---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
dependency-version: 4.2.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development
- dependency-name: "@types/keytar"
dependency-version: 4.4.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development
- dependency-name: eslint-config-next
dependency-version: 16.2.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development
- dependency-name: tailwindcss
dependency-version: 4.2.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development
- dependency-name: typescript
dependency-version: 6.0.2
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: development
- dependency-name: typescript-eslint
dependency-version: 8.58.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development
- dependency-name: vitest
dependency-version: 4.1.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: development
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-30 17:32:51 -03:00
Chris Staley
d5647eab33
fix: remove dead userDismissed ref after auto-open removal
...
The userDismissed ref was only read by the removed auto-open useEffect.
Remove the ref declaration and the three onClose assignments that set it.
2026-03-30 17:32:49 -03:00
Chris Staley
89eb8885b1
fix: remove unnecessary comment from previous commit
2026-03-30 17:32:49 -03:00
Chris Staley
a5dc5687f8
fix: remove auto-opening OAuth/API key modal on provider detail page
...
Auto-opening the "Add Connection" dialog when navigating to a provider
with zero connections was a poor UX pattern. It surprised users who were
simply browsing provider details (e.g. after deleting a connection or
checking settings). The page already displays a clear empty state with
an "Add Connection" button — users should click it when ready.
2026-03-30 17:32:49 -03:00
oyi77
6780485051
feat(cache): persistent metrics, cache entry browser, settings UI, MCP tools, prefix analyzer
...
Implements remaining features from #813 :
Phase 1 - Persistent Metrics:
- Add cache_metrics table for persistent hit/miss tracking
- Semantic cache stats now survive server restarts
Phase 2 - Cache Entry Browser:
- /api/cache/entries endpoint with search, pagination, delete
- CacheEntriesTab component for browsing cached entries
Phase 3 - Settings UI:
- CacheSettingsTab for semantic/prompt cache configuration
- /api/settings/cache-config endpoint
Phase 4 - Prefix Analyzer:
- src/lib/promptCache/prefixAnalyzer.ts for intelligent caching
- Analyzes message arrays to find stable prefixes
Phase 5 - Provider Support:
- Added deepseek to CACHING_PROVIDERS
Phase 6 - MCP Tools:
- omniroute_cache_stats tool
- omniroute_cache_flush tool
Phase 7 - Retention:
- cleanOldMetrics() for auto-purge of old entries
Closes #813
2026-03-30 17:32:45 -03:00
oyi77
d043e7a242
feat(cache): fix cache page to display prompt cache metrics and trend data
...
Closes #813
2026-03-30 17:32:45 -03:00
Chris Staley
c5d9b5f51d
fix: apply PR review feedback for Gemini CLI quota
...
- Add early return guard for missing accessToken in getGeminiUsage
- Add 10s fetch timeout (AbortSignal.timeout) on retrieveUserQuota calls
- Clamp used value with Math.max(0, ...) for non-negative display
- Use full accessToken as cache key instead of truncated prefix
- Replace catch(err: any) with instanceof Error check in models route
2026-03-30 17:32:42 -03:00
Chris Staley
35e2892b98
feat: add real Gemini CLI quota tracking via retrieveUserQuota API
...
Replace stub getGeminiUsage() with per-model quota fetching from Google
Cloud Code Assist's retrieveUserQuota endpoint (same API the official
Gemini CLI /stats command uses). Fixes OAuth env var name, aligns model
list with official Gemini CLI VALID_GEMINI_MODELS, and makes "Import
from /models" discover new models via the quota endpoint.
2026-03-30 17:32:42 -03:00
diegosouzapw
11dfdbb7a3
feat(analytics): add diversity score card UI and diversity API route
...
Implement DiversityScoreCard component to fetch and display provider diversity score with loading state and conditional styling, integrate it into AnalyticsPage overview, and add a new API route at src/app/api/analytics/diversity/route.ts to return the diversity report using getDiversityReport
2026-03-30 16:37:49 -03:00
diegosouzapw
a864258cb8
feat(ui): integrate FSM, adaptive routing, and provider diversity
v3.3.4
2026-03-30 12:58:45 -03:00
Diego Rodrigues de Sa e Souza
8a9c15c874
Merge pull request #819 from diegosouzapw/release/v3.3.4
...
Release v3.3.4
2026-03-30 11:26:17 -03:00
diegosouzapw
7a666526b7
chore(release): bump version to 3.3.4
2026-03-30 11:23:59 -03:00
diegosouzapw
3fc1cac015
docs(i18n): update CHANGELOG, README and sync multi-language FEATURES docs
2026-03-30 11:21:47 -03:00
Diego Rodrigues de Sa e Souza
04a0b07bf6
Merge pull request #793 from igormorais123/feat/provider-diversity-scoring
...
feat(sse): add provider diversity scoring via Shannon entropy
2026-03-30 11:07:03 -03:00
Diego Rodrigues de Sa e Souza
59e48ca91a
Merge pull request #794 from igormorais123/feat/adaptive-volume-routing
...
feat(sse): add adaptive volume/complexity detector for routing strategy override
2026-03-30 11:07:00 -03:00
Diego Rodrigues de Sa e Souza
8ff562c5af
Merge pull request #795 from igormorais123/feat/provider-expiration-tracking
...
feat(domain): add provider expiration tracking with proactive alerts
2026-03-30 11:06:56 -03:00
Diego Rodrigues de Sa e Souza
b502a93728
Merge pull request #796 from igormorais123/feat/config-audit-trail
...
feat(domain): add configuration audit trail with diff detection and rollback
2026-03-30 11:06:53 -03:00
Diego Rodrigues de Sa e Souza
b6afa6c2c7
Merge pull request #803 from igormorais123/feat/graceful-degradation-wrapper
...
feat(domain): add graceful degradation framework with multi-layer fallback
2026-03-30 11:06:50 -03:00
Diego Rodrigues de Sa e Souza
5887da0229
Merge pull request #805 from igormorais123/feat/fsm-workflow-orchestrator
...
feat(sse): add deterministic FSM orchestrator for multi-step workflows
2026-03-30 11:06:46 -03:00
Diego Rodrigues de Sa e Souza
a7d833d96a
Merge pull request #817 from diegosouzapw/feat/auto-disable-banned-accounts-setting
...
Feat/auto disable banned accounts setting
2026-03-30 11:06:42 -03:00
Diego Rodrigues de Sa e Souza
db3753d611
Merge PR 811: fix UI fallbacks and Electron release workflow
...
fix: UI fallbacks and Electron release workflow
2026-03-30 11:04:02 -03:00
diegosouzapw
f810b13bca
fix: complete bugfixes for UI, OAuth fallbacks, cliRuntime Windows constraints and Codex non-streaming integration
2026-03-30 11:01:55 -03:00
diegosouzapw
5ad687c6d8
fix(ui/ci): use ProviderIcon for Provider header breadcrumbs and add permissions to electron-release.yml ( #745 , #761 )
...
- Use ProviderIcon for internal .png paths solving SVG provider 404 images (#745 ).
- Add id-token: write and packages: write permissions to .github/workflows/electron-release.yml to fix permissions denied failure when calling the reusable workflow npm-publish.yml (#761 ).
- Fix tests and ESM resolution for autoUpdate.ts override logic.
2026-03-30 07:38:30 -03:00
Diego Rodrigues de Sa e Souza
6ad0910790
Merge pull request #810 from oyi77/main
...
feat(settings): add debug toggle and sidebar visibility toggle
2026-03-30 07:07:54 -03:00
Diego Rodrigues de Sa e Souza
4d8c0546cf
Merge pull request #783 from rdself/coder/cloudflared-exit1-fix
...
Fix cloudflared quick tunnel startup in Docker
2026-03-30 07:07:39 -03:00
oyi77
35f96d4a40
feat(settings): add debug toggle and sidebar visibility toggle
...
feat(ui): replace hide-sidebar toggle with dynamic visibility toggle
2026-03-30 15:15:02 +07:00
igormorais123
ae96fb6f63
feat(sse): add deterministic FSM orchestrator for multi-step workflows
...
Risk-based phase skipping: high=all 9 phases, medium=skip planner, low=execute+test.
Veto authority, pause/resume, retry limits, full audit trail.
Closes #800 , closes #802
2026-03-30 01:28:45 -03:00
igormorais123
67592d80aa
feat(domain): add graceful degradation framework with multi-layer fallback
...
Add a standardized degradation pattern for services depending on external
systems. withDegradation() tries primary → fallback → safe default,
tracking status in a global registry for dashboard visibility.
Features:
- Async and sync variants
- Global registry with per-feature status tracking
- Degradation levels: full → reduced → minimal → default
- Summary and report APIs for dashboard integration
- Reason tracking for debugging
Example: Rate limiting degrades from Redis → in-memory → permissive
instead of crashing when Redis is unavailable.
Closes #799
2026-03-30 01:23:10 -03:00
igormorais123
94a5e43e5d
feat(domain): add configuration audit trail with diff detection and rollback
...
Add configAudit module that records every change to provider connections,
combos, and routing policies with:
- Before/after state snapshots
- Structured diff (added, removed, changed keys)
- Source tracking (dashboard, API, sync, auto-healing)
- Filtered retrieval with pagination
- Rollback state extraction
- Configuration snapshot export for backup
Enables traceability and quick rollback when config changes cause issues.
Closes #791
2026-03-30 00:49:22 -03:00
igormorais123
26958f8f70
feat(domain): add provider expiration tracking with proactive alerts
...
Add providerExpiration module to track OAuth token, subscription, and
API credit expiration dates per provider connection. Provides:
- setExpiration() / getExpiration() for CRUD operations
- getExpiringSoon() for proactive alerts
- getExpirationSummary() for dashboard health display
- detectExpirationFromResponse() for auto-detection from HTTP headers
- Status classification: active → expiring_soon → expired
Prevents silent failures from expired credentials by alerting operators
before tokens/subscriptions expire.
Closes #790
2026-03-30 00:48:06 -03:00
igormorais123
a427d215e3
feat(sse): add adaptive volume/complexity detector for routing strategy override
...
Add volumeDetector module that analyzes request characteristics (batch
size, token count, tool usage, browser signals, complexity keywords)
and recommends routing strategy overrides.
Rules:
- Batch >= 50 items → round-robin with economy models
- Critical complexity (many tools, browser, deploy) → priority premium-first
- Browser/UI interaction → force premium priority
- Short requests (<200 tokens) → flag for economy tier
Closes #789
2026-03-30 00:46:55 -03:00
igormorais123
271cf37b8a
feat(sse): add provider diversity scoring via Shannon entropy
...
Add a providerDiversity module that tracks provider usage distribution
using a rolling time window and calculates Shannon entropy normalized
to [0..1]. This enables the auto-combo scoring engine to factor in
provider diversity — boosting underrepresented providers to reduce
single-point-of-failure risk.
Key features:
- Rolling window with configurable size and TTL
- Shannon entropy calculation normalized to [0..1]
- Per-provider diversity boost for auto-combo integration
- Diversity report for dashboard display
- Full test coverage
Closes #788
2026-03-30 00:45:17 -03:00
R.D.
179c03e79d
Isolate cloudflared runtime environment
2026-03-29 22:30:07 -04:00
Diego Rodrigues de Sa e Souza
0a1b68639b
Merge pull request #782 from diegosouzapw/release/v3.3.3
...
chore(release): v3.3.3 — UI bugfixes and AutoUpdate repairs
2026-03-29 22:51:52 -03:00
diegosouzapw
d69e7ec850
chore(release): v3.3.3 — Core UI bugfixes and AutoUpdate repairs
2026-03-29 21:18:07 -03:00
Diego Rodrigues de Sa e Souza
76a6d8292c
Merge pull request #780 from diegosouzapw/release/v3.3.2
...
chore(release): v3.3.2 — bug fixes and feature enhancements
v3.3.2
2026-03-29 20:04:58 -03:00
diegosouzapw
8f09c444b6
chore(release): v3.3.2 — bug fixes and feature enhancements
2026-03-29 20:01:06 -03:00
Diego Rodrigues de Sa e Souza
9032e6abb8
Merge pull request #779 from diegosouzapw/fix/batch-bugs-748-769
...
fix: missing i18n keys and streaming fetch timeout (#748 , #769 )
2026-03-29 19:45:45 -03:00
diegosouzapw
1c070d16a6
fix: add missing i18n keys for windsurf/copilot and apply fetch timeout to streaming requests ( #748 , #769 )
...
- Add windsurf and copilot entries to toolDescriptions in all 33 locale files
to fix MISSING_MESSAGE errors on the CLI Tools page (#748 )
- Apply FETCH_TIMEOUT_MS to streaming requests' initial fetch() call to prevent
300s TCP default timeout causing silent failures on long-running requests (#769 )
- Previously only non-streaming requests had timeout protection; streaming requests
relied solely on stream idle detection which doesn't cover initial connection hangs
2026-03-29 19:43:21 -03:00
Diego Rodrigues de Sa e Souza
7837fcc657
Merge pull request #772 from rdself/coder/cloudflared-tunnel-endpoint
...
Add Cloudflare Quick Tunnel controls to endpoint page
2026-03-29 19:37:03 -03:00
Diego Rodrigues de Sa e Souza
f9690d40d3
Merge pull request #778 from christopher-s/glm-coding-audit
...
feat: GLM Coding provider enhancements and fixes
2026-03-29 19:36:52 -03:00
Diego Rodrigues de Sa e Souza
5de6cd77dc
Merge pull request #773 from rdself/codex/fix-combo-live-test-no-cache
...
Bypass semantic cache in combo live tests
2026-03-29 19:36:40 -03:00
Diego Rodrigues de Sa e Souza
aa5ab55b14
Merge pull request #777 from diegosouzapw/release/v3.3.1
...
chore(release): v3.3.1 — bug fixes and schema adjustments
2026-03-29 19:36:11 -03:00
Chris Staley
9195b18981
fix: resolve t11 any-budget lint failures and remove audit doc from tracking
...
Pre-existing any-budget violations in chatCore.ts (6), combo.ts (2), and
embeddings.ts (1 false positive in comment) — none introduced by GLM work.
Replace `as any` with `Record<string, unknown>` casts and reword comment.
Also removes docs/superpowers audit worksheet from git tracking (not part
of GLM Coding provider changes).
2026-03-29 15:35:55 -06:00
Chris Staley
b812d6efb8
fix: use relative paths in audit doc and correct Indonesian translations in in.json
2026-03-29 15:17:39 -06:00
Chris Staley
231a02eb10
fix: correct GLM context windows for glm-4.6v (128K) and glm-4.5v (16K) per Z.AI docs
2026-03-29 15:13:07 -06:00
Chris Staley
6736806361
i18n: add proper translations for model import dialog keys in all locales
...
Add allModelsAlreadyImported, noNewModelsToImport, and
skippingExistingModels translations for all 32 non-English locales.
2026-03-29 15:13:07 -06:00
Chris Staley
8e17756bf8
fix: filter registry models from auto-sync to prevent duplicates
...
The model sync scheduler and sync-models endpoint were blindly
replacing custom models with all fetched models, including ones
already in the built-in registry. Now filters out registry models
before saving to custom models.
2026-03-29 15:13:07 -06:00