Commit Graph

762 Commits

Author SHA1 Message Date
Cita b3387dfba7 [codex] fix cross-database JSON boundary handling (#283)
* fix: normalize cross-database json boundaries

* fix: address json boundary review comments

---------

Co-authored-by: apple <apple@appledeMacBook-Pro.local>
2026-03-26 20:21:19 +08:00
Cita 7e1fb8eb1b [codex] HTTP-first Codex upstream websocket settings (#280)
* http-first codex upstream websocket settings

* address websocket runtime review comments

---------

Co-authored-by: apple <apple@appledeMacBook-Pro.local>
2026-03-25 21:01:01 +08:00
Cita 5d2596285b fix: truncate collapsed route group regex badge (#279)
Co-authored-by: apple <apple@appledeMacBook-Pro.local>
2026-03-25 20:37:53 +08:00
Cita 639c387532 [codex] fix responses lifecycle parity and codex session serialization (#278)
* fix responses lifecycle parity

* remove websocket test debug logging

* fix responses proxy stream typecheck

* update compact upstream response expectations

* add community and deepwiki badges

* update linuxdo banner link

* fix responses review follow-ups

* preserve whitespace in responses terminal deltas

* fix responses stream reconciliation edges

* fix responses lifecycle parity and codex session serialization

* fix review follow-up edge cases

---------

Co-authored-by: apple <apple@appledeMacBook-Pro.local>
2026-03-25 18:56:36 +08:00
Sean Lee 9ba4369a83 fix: auto-detect Feishu webhook format and validate response body (#271)
* feat: Preserve manual models during discovery and refresh, and add Claude configuration files and project documentation.feat: Preserve manual models during discovery and refresh, and add Claude configuration and project documentation files.

* fix: fix Feishu and Larksuite webhook support to the notification service with updated UI and tests.

---------

Co-authored-by: Xiang Li <xiangli>
2026-03-25 18:30:32 +08:00
ZhengYiTao dc40edf8e8 fix: case-insensitive model merging and disabled model matching (#251)
* fix: MySQL-compatible case-insensitive model merge and disabled model matching

Root cause: MySQL uses utf8mb4_general_ci collation by default, making the
unique index on (account_id, model_name) case-insensitive. When different
tokens discover the same model with different casing (e.g., 'GPT-4o' vs
'gpt-4o'), the case-sensitive JavaScript Set allowed both, but the MySQL
batch INSERT failed with a duplicate key error — causing the entire model
refresh to silently fail and leaving stale routes (including disabled models).

Fixes:
1. mergeDiscoveredModels: change Set<string> to Map<lowercase, original>
   for cross-scan dedup, matching normalizeModels' existing behavior.
2. isModelDisabledForSite: compare with toLowerCase() so disabled models
   are filtered regardless of case variants across discovery sources.
3. tokens.ts /api/routes/rebuild: add missing await on
   rebuildTokenRoutesFromAvailability() so errors propagate correctly
   instead of being silently swallowed.

* fix: add missing await on rebuildTokenRoutesFromAvailability in stats.ts

The POST handler for /api/models/check/:accountId called
rebuildTokenRoutesFromAvailability() without await, returning a Promise
object in the response instead of the actual rebuild result.
2026-03-25 11:22:37 +08:00
Cita 709f528bd2 fix responses lifecycle parity (#272)
* fix responses lifecycle parity

* remove websocket test debug logging

* fix responses proxy stream typecheck

* update compact upstream response expectations

* add community and deepwiki badges

* update linuxdo banner link

* fix responses review follow-ups

* preserve whitespace in responses terminal deltas

* fix responses stream reconciliation edges

---------

Co-authored-by: apple <apple@appledeMacBook-Pro.local>
2026-03-24 23:12:35 +08:00
Sean Lee 3e0083582e feat: Preserve manual models during discovery and refresh, and add Claude configuration files and project documentation.feat: Preserve manual models during discovery and refresh, and add Claude configuration and project documentation files. (#270)
Co-authored-by: Xiang Li <xiangli>
2026-03-24 20:01:48 +08:00
Bainily 9cf3dd1904 feat(proxy): improve channel failover stability and sticky session coordination / 优化代理通道故障切换与粘滞会话协调 (#268)
* wip: preserve local changes before upstream merge

* Improve proxy routing stability and add stable-first strategy

* Sync explicit-group routing strategy to eligible source routes

* Fix proxy retry and runtime health review issues

* fix: make proxy channel retry attempts configurable

* fix: harden proxy retry recovery and bookkeeping

* fix: address pr 257 review comments

* feat(proxy): add sticky session channel coordination

---------

Co-authored-by: Cita <juricek.chen@gmail.com>
2026-03-24 19:40:44 +08:00
Cita 5b9c83f830 fix: default downstream key access selections to all (#263)
* fix: default downstream key access selections to all

* test: fix downstream keys test renderer typing
2026-03-23 22:48:15 +08:00
Cita 4a3b4a8bb6 fix: preserve protocol parity across compatibility hops (#259)
* wip: preserve local changes before upstream merge

* Improve proxy routing stability and add stable-first strategy

* Sync explicit-group routing strategy to eligible source routes

* Fix proxy retry and runtime health review issues

* fix: make proxy channel retry attempts configurable

* fix: harden proxy retry recovery and bookkeeping

* fix: address pr 257 review comments

* fix: preserve oe tool_result structure

* fix: preserve protocol parity across compatibility hops

* fix: satisfy server build and typecheck

* fix: preserve codex and mcp fallback semantics

* fix: address ci and review follow-ups

---------

Co-authored-by: bnvnvnv <bnvnvnv@gmail.com>
2026-03-23 20:25:20 +08:00
Cita b3869c4f55 fix: avoid armv7 desktop postinstall in docker build (#262) 2026-03-23 20:24:37 +08:00
Cita b07b16c942 fix: restore docker builder install deps (#261)
* fix: exclude runtime db config from backup and migration

* fix: restore docker builder install deps
2026-03-23 20:12:16 +08:00
Cita c838e3263b fix: exclude runtime db config from backup and migration (#260) 2026-03-23 20:05:00 +08:00
Bainily 1449f08e6c fix: stabilize Codex continuation and proxy retry recovery / 修复 Codex 续传与代理重试稳定性 (#257)
* wip: preserve local changes before upstream merge

* Improve proxy routing stability and add stable-first strategy

* Sync explicit-group routing strategy to eligible source routes

* Fix proxy retry and runtime health review issues

* fix: make proxy channel retry attempts configurable

* fix: harden proxy retry recovery and bookkeeping

* fix: address pr 257 review comments

---------

Co-authored-by: Cita <juricek.chen@gmail.com>
2026-03-23 19:17:22 +08:00
Cita 5be5e2eb07 fix: preserve protocol parity across Claude fallbacks (#256)
* fix: preserve protocol parity across claude fallbacks

* fix: tighten protocol parity across responses and anthropic fallbacks

* fix: preserve stricter tool contracts across fallbacks

* fix: unblock anthropic stream server build
2026-03-23 17:29:49 +08:00
Cita 2940b003af Merge pull request #255 from cita-777/codex/ci-typecheck-pr
fix: tighten CI typecheck coverage
2026-03-23 16:40:52 +08:00
Cita 653b7557a7 fix: address review followups 2026-03-23 16:24:31 +08:00
Cita 4b903fdd3b fix: tighten ci typecheck coverage 2026-03-23 16:02:13 +08:00
Cita 40c8c1c7ad Merge pull request #244 from cita-777/codex/single-source-consolidation
refactor: consolidate single-source routing and protocol helpers
2026-03-23 15:28:44 +08:00
Cita 764b9aa0e6 fix: address latest coderabbit review findings 2026-03-23 15:24:00 +08:00
Cita 426d9a538d test: relax token selection count assertion 2026-03-23 14:51:57 +08:00
Cita 4686c558aa Merge origin/main into codex/single-source-consolidation 2026-03-23 14:44:52 +08:00
Cita bf969c136a docs: capture full-scope consolidation finish 2026-03-23 14:32:11 +08:00
Cita f9316784aa fix: align final verification scripts and expectations 2026-03-23 14:29:44 +08:00
Cita 7cc0a04b8b refactor: share responsive filter panel scaffold 2026-03-23 14:29:11 +08:00
Cita dd914b327c refactor: extract downstream key drawer 2026-03-23 14:28:37 +08:00
Cita 8e001508bf refactor: extract model tester composer and tighten shared types 2026-03-23 13:44:52 +08:00
Cita 8f14540549 refactor: extract model tester debug panel 2026-03-23 13:35:42 +08:00
Cita 9b21ed3fed refactor: extract account model management modal 2026-03-23 13:32:55 +08:00
Cita c3e3985b6e refactor: extract remaining settings modals 2026-03-23 13:29:39 +08:00
Cita 62eca41bc2 refactor: extract settings portal modals 2026-03-23 13:18:37 +08:00
Cita f7a7084278 refactor: share responsive batch actions across admin pages 2026-03-23 13:12:06 +08:00
Cita b82d7c31d9 refactor: derive legacy schema compat from feature specs 2026-03-23 13:04:09 +08:00
Cita 55aea6afc4 refactor: separate brand registry from BrandIcon 2026-03-23 12:44:38 +08:00
Cita 8b3653c7c9 refactor: share schema metadata normalization rules 2026-03-23 12:23:04 +08:00
Cita 86518202fa refactor: move platform discovery out of model service 2026-03-23 12:14:22 +08:00
Cita 50c34b8866 refactor: keep downstream client metadata on cli profiles 2026-03-23 12:02:44 +08:00
Cita 3877f3a3f1 refactor: centralize oauth identity and route refresh workflow 2026-03-23 11:53:59 +08:00
Cita 328b492ab3 fix: finish review-driven single-source cleanup 2026-03-23 11:26:01 +08:00
Cita a3b061b60f Merge pull request #245 from cita-777/codex/site-binding-conflict
fix: handle duplicate site binding conflicts
2026-03-23 09:20:58 +08:00
Cita f5892b9656 Merge pull request #241 from Hureru/feat/model-filter-system
feat: add model filter system and route page performance optimization
2026-03-23 00:19:29 +08:00
Cita 90e9140c70 fix: preserve site disabled models on partial load failure 2026-03-22 23:58:43 +08:00
Cita 29c9fcbd29 fix: resolve remaining review follow-ups 2026-03-22 23:53:41 +08:00
Cita 5d78658af9 fix: address review feedback and code scanning alerts 2026-03-22 23:41:45 +08:00
Hureru 9a5e2bbc60 fix: prevent brand list loading indicator from hanging on API failure 2026-03-22 23:13:51 +08:00
Cita daa6a01ccf fix: handle duplicate site binding conflicts 2026-03-22 22:18:44 +08:00
Cita 32d7037629 refactor: share platform file and route helpers 2026-03-22 22:17:50 +08:00
Cita 9290e51ecc refactor: consolidate single-source routing and protocol helpers 2026-03-22 21:27:09 +08:00
Cita 96e7614835 fix: trust proxy headers and align proxy file mysql indexes 2026-03-22 21:17:56 +08:00