Commit Graph

  • d3127b8eb1 refactor: use structured error responses in channel handler erio 2026-04-02 02:32:39 +08:00
  • 6de1d0cb33 refactor: split buildCache into sub-functions, reduce nesting 5→2 erio 2026-04-02 02:28:32 +08:00
  • 6c718578a5 refactor(ui): extract formatCacheTokens and formatMultiplier to shared utils erio 2026-04-02 02:24:05 +08:00
  • 0d241d52eb refactor: replace magic strings with named constants erio 2026-04-02 02:22:15 +08:00
  • 212eaa3a05 fix(ui): show token breakdown when image model uses token billing erio 2026-04-02 01:40:52 +08:00
  • f3ab3fe5e2 fix: billing mode display follows cost calculation result erio 2026-04-02 01:24:17 +08:00
  • b8c56ff940 fix: validate prices must be >= 0, remove debug logs erio 2026-04-02 00:52:19 +08:00
  • 38da737e6c feat: channel token pricing takes priority over per-image billing erio 2026-04-01 23:29:01 +08:00
  • 1b2ea7a1df fix(ui): also fix floating point precision in mTokToPerToken erio 2026-04-01 23:18:03 +08:00
  • a9e5fc8539 fix(ui): floating point precision in perTokenToMTok conversion erio 2026-04-01 23:15:59 +08:00
  • 9b213115e7 fix: address audit findings - cache sync, validation, consistency erio 2026-04-01 23:13:58 +08:00
  • 5534347328 test: add unit tests for channel platform matching, interval validation, credits check erio 2026-04-01 22:41:39 +08:00
  • 2355029dc1 fix: validate empty intervals + antigravity platform pricing match erio 2026-04-01 22:03:00 +08:00
  • 8d25335b01 fix: antigravity groups now match anthropic/gemini channel pricing erio 2026-04-01 21:47:47 +08:00
  • c0b5900a37 feat(ui): display three-level model mapping chain in usage logs erio 2026-04-01 17:57:11 +08:00
  • 35a9290528 fix: add cost nil guard to Anthropic/Antigravity RecordUsage paths erio 2026-04-01 17:13:31 +08:00
  • c9145ad4d8 fix: golangci-lint test assertion and gofmt erio 2026-04-01 16:39:38 +08:00
  • 3851628a43 fix: resolve golangci-lint issues erio 2026-04-01 16:30:47 +08:00
  • d72ac92694 feat: image output token billing, channel-mapped billing source, credits balance precheck erio 2026-04-01 15:08:57 +08:00
  • 2555951be4 feat(channel): 渠道管理全链路集成 — 模型映射、定价、限制、用量统计 erio 2026-04-01 01:51:19 +08:00
  • 669bff78c4 fix(ui): 模型映射改用平台色字体,删除多余的边框色函数 erio 2026-03-31 21:36:45 +08:00
  • c90d1f2527 fix(ui): 模型映射输入框改为平台色字体,保持默认边框 erio 2026-03-31 21:35:31 +08:00
  • 40cebc250f feat(ui): 渠道表单模型标签和映射输入框显示平台对应颜色 erio 2026-03-31 21:27:32 +08:00
  • ddd495fb48 feat(ui): 渠道列表状态列改为 Toggle 开关,支持直接启用/禁用 erio 2026-03-31 21:21:03 +08:00
  • 58f2044637 fix(ui): 渠道定价折叠态模型名完整展示,不再截断 erio 2026-03-31 20:48:18 +08:00
  • dfe3fdc1cc fix(channel): 模型限制以原始请求模型检查定价列表,而非映射后模型 erio 2026-03-31 20:38:02 +08:00
  • 705131e172 fix(channel): 前端重复模型校验改为按平台检查 erio 2026-03-31 19:40:07 +08:00
  • 88759407c7 feat(channel): 模型映射源支持通配符匹配 erio 2026-03-31 19:32:14 +08:00
  • 6c99cc611c fix(channel): 渠道表单校验增强 — 空模型定价报错 + 必填标记 erio 2026-03-31 19:22:48 +08:00
  • 3457bcbfcd fix(channel): 修复 invalidateCache 存入 typed nil 导致 loadCache panic erio 2026-03-31 18:37:30 +08:00
  • eb385457b2 fix(channel): 全平台渠道映射覆盖 + 公共函数抽取 + 死代码清理 erio 2026-03-31 15:26:20 +08:00
  • 4ea8b4cb4f refactor(channel): 抽取渠道映射公共函数 + OpenAI映射到body + 空响应修复 + 清理日志 erio 2026-03-31 02:11:24 +08:00
  • 91bdcf8994 fix(channel): 模型限制用映射后模型检查 + 平台开关保留配置不删除 erio 2026-03-31 01:34:16 +08:00
  • 8d03c52e15 feat(channel): 通配符定价匹配 + OpenAI BillingModelSource + 按次价格校验 + 用户端计费模式展示 erio 2026-03-31 00:23:45 +08:00
  • 0fbc9a44d3 fix(billing): 按次计费回退到默认 PerRequestPrice erio 2026-03-30 23:04:48 +08:00
  • 632035aabd feat(billing): 网关计费迁移到 CalculateCostUnified + 模型限制错误统一 erio 2026-03-30 22:58:28 +08:00
  • a51e0047b7 feat(usage): 使用记录增加计费模式字段 — 记录/展示/筛选 token/按次/图片 erio 2026-03-30 22:13:16 +08:00
  • 726730bb0e fix(channel): splice替换model_pricing条目 + 增强调试日志 erio 2026-03-30 21:47:06 +08:00
  • faff1771c4 debug(channel): 添加 formToAPI 调试日志 + 移除 Sora 平台 erio 2026-03-30 21:37:27 +08:00
  • b06cd06ec1 feat(channel): 平台配置改为勾选式,勾选后出现 Tab 但不自动跳转 erio 2026-03-30 21:04:48 +08:00
  • 95751d8009 feat(channel): 对话框 Tab 布局 — 基础设置 + 平台独立 Tab + 固定高度 erio 2026-03-30 19:06:03 +08:00
  • 14e565a004 fix(channel): 分组加载时序修复 — 预加载 + await 确保分组数据就绪 erio 2026-03-30 17:50:48 +08:00
  • ce694701a9 fix(i18n): 渠道管理页面标题国际化 erio 2026-03-30 17:26:16 +08:00
  • 12d03e4030 feat(channel): 模型价格自动填充 + 默认定价 API erio 2026-03-30 16:11:49 +08:00
  • 0b1ce6be8f feat(channel): 缓存扁平化 + 网关映射集成 + 计费模式统一 + 模型限制 erio 2026-03-30 15:04:30 +08:00
  • 28a6adaaa4 fix(channel): 分组紧凑布局+平台颜色名称+计费基准重命名+表单排序调整 erio 2026-03-30 13:40:29 +08:00
  • 36990a0514 fix: revert ent schema change to fix runtime panic erio 2026-03-30 13:31:47 +08:00
  • ebac0dc628 feat(channel): 缓存扁平化 + 网关映射集成 + 计费模式统一 + 模型限制 erio 2026-03-30 13:26:05 +08:00
  • 29d58f2414 feat(channel): 模型映射 + 分组搜索 + 卡片折叠 + 冲突校验 erio 2026-03-30 02:36:04 +08:00
  • dca0054e93 feat(channel): 模型标签输入 + $/MTok 价格单位 + 左开右闭区间 + i18n erio 2026-03-30 02:24:54 +08:00
  • 983fe58959 fix: CI lint/test fixes — gofmt, errcheck, handler test args erio 2026-03-30 02:14:30 +08:00
  • 91c9b8d062 feat(channel): 渠道管理系统 — 多模式定价 + 统一计费解析 erio 2026-04-04 11:00:55 +08:00
  • b384570de3 Merge pull request #1439 from touwaeriol/feat/redeem-negative-value Wesley Liddick 2026-04-03 22:22:54 +08:00
  • 4d71566c0d fix: resolve all P0/P1 code quality issues test-fix-branch Developer 2026-04-03 12:54:16 +08:00
  • 0507852a34 Merge pull request #1437 from DaydreamCoding/fix/openai-oauth-improvements Wesley Liddick 2026-04-03 09:22:10 +08:00
  • 7b6ff135fb Merge pull request #1424 from DaydreamCoding/fix/antigravity-batch-privacy Wesley Liddick 2026-04-03 09:21:39 +08:00
  • 4bf838105b docs: update PROJECT_EXPERIENCE with comprehensive project lessons Developer 2026-04-03 07:25:50 +08:00
  • bf24de88ed style: fix gofmt struct tag alignment erio 2026-04-03 02:00:21 +08:00
  • ff6d4ab39a chore: add lodash/lodash-es audit exception for GHSA-r5fr-rjxr-66jc erio 2026-04-03 01:53:17 +08:00
  • 66fde7a2e6 feat(redeem): support negative values for refund/deduction erio 2026-04-03 01:50:26 +08:00
  • daae3497af fix: add getModelStats mock to UsageView.spec.ts Developer 2026-04-03 00:07:50 +08:00
  • 413db94aeb fix: align api_key_handler.go comments with actual routes Developer 2026-04-03 00:00:23 +08:00
  • dc92194b2b docs: update project documentation with experience lessons Developer 2026-04-02 23:24:10 +08:00
  • 8b19f56ba4 fix: update E2E test API paths and payloads to match backend Developer 2026-04-02 22:35:48 +08:00
  • e8efaa4cd9 style: gofmt struct field alignment QTom 2026-04-02 20:50:38 +08:00
  • 00947d6492 feat(openai): 显示订阅到期时间 QTom 2026-04-02 20:44:28 +08:00
  • cf70fb1b4e fix(openai): Mobile RT 账号隐私设置失败 QTom 2026-04-02 20:44:22 +08:00
  • ef1a992cf0 fix(openai): refresh token when expires_at missing and account is rate-limited QTom 2026-04-02 20:44:12 +08:00
  • 1f6a73f0db fix(openai): treat 401 {"detail":"Unauthorized"} as permanent auth failure QTom 2026-04-02 20:44:05 +08:00
  • f2e596f6ec fix(oauth): 每次刷新都通过 backend-api 获取最新 plan_type QTom 2026-04-02 20:43:56 +08:00
  • c660553c87 security: replace hardcoded OAuth credentials with placeholders Developer 2026-04-02 14:19:10 +08:00
  • 77ba9e728d Merge branch 'Wei-Shaw:main' into fix/openai-gateway-content-session-hash-fallback Yanzhe Lee 2026-04-02 01:56:18 +08:00
  • cf9efefd96 fix(lint): satisfy errcheck for strings.Builder.WriteString calls YanzheL 2026-04-02 01:03:22 +08:00
  • 4fb1603001 test(gateway): add tests for content-based session hash fallback YanzheL 2026-04-02 00:11:17 +08:00
  • c5aac1251d fix(gateway): add content-based session hash fallback for non-Codex clients YanzheL 2026-04-02 00:11:06 +08:00
  • c303817800 test: fix AccountStatusIndicator and AccountUsageCell tests Developer 2026-04-01 14:41:10 +08:00
  • 6b060dd14d merge: resolve conflicts with remote, keep local fixes Developer 2026-04-01 14:11:47 +08:00
  • d4a2397740 fix: resolve P0/P1 code quality issues Developer 2026-04-01 13:39:37 +08:00
  • b155bc564b fix(antigravity): 修复批量刷新令牌不设置隐私模式的问题 QTom 2026-03-31 15:52:50 +08:00
  • 055c48ab33 Merge pull request #1262 from InCerryGit/main Wesley Liddick 2026-04-01 08:31:12 +08:00
  • 6663e1eda6 Merge pull request #1420 from YanzheL/fix/1202-gemini-customtools-404 Wesley Liddick 2026-04-01 08:30:40 +08:00
  • 649afef512 fix(handler): fallback known gemini models on v1beta 404 YanzheL 2026-04-01 02:20:13 +08:00
  • 4514f3fc11 fix(gemini): resolve customtools alias in mapping lookup YanzheL 2026-04-01 02:19:42 +08:00
  • 095bef9554 fix(gemini): add customtools fallback metadata YanzheL 2026-04-01 02:19:10 +08:00
  • f00351c106 fix(openai): sanitize empty base64 input images YanzheL 2026-04-01 00:46:38 +08:00
  • 936fce68d0 fix(apicompat): skip empty base64 image URLs YanzheL 2026-04-01 00:46:16 +08:00
  • d978ac97f1 test(antigravity): cover mixed web search transforms YanzheL 2026-04-01 00:46:14 +08:00
  • dd5978f222 fix(gemini): normalize ai studio google search tools YanzheL 2026-04-01 00:45:56 +08:00
  • 0ebe0ce585 fix(gemini): preserve google search in Claude compat tools YanzheL 2026-04-01 00:33:39 +08:00
  • c8cfad7c00 fix(antigravity): preserve google search with function tools YanzheL 2026-04-01 00:33:16 +08:00
  • 83a16dec19 Merge pull request #1407 from DaydreamCoding/feat/cache-driven-rpm-buffer Wesley Liddick 2026-03-31 14:01:23 +08:00
  • 820c531814 Merge pull request #1406 from DaydreamCoding/feat/group-account-filter Wesley Liddick 2026-03-31 14:01:05 +08:00
  • 1727b8df3b Merge pull request #1404 from DaydreamCoding/feat/antigravity-privacy-on-refresh-fail Wesley Liddick 2026-03-31 14:00:53 +08:00
  • a025a15f5d feat: add refresh button to admin and user dashboard pages shaw 2026-03-31 13:53:49 +08:00
  • 72e5876c64 feat(gateway): Cache-Driven RPM Buffer QTom 2026-03-31 13:19:40 +08:00
  • aeed2eb9ad feat(group-filter): 分组账号过滤控制 — require_oauth_only + require_privacy_set QTom 2026-03-27 18:02:48 +08:00
  • a097055deb fix: resolve P0/P1 code quality issues phamnazage-jpg 2026-03-31 11:44:54 +08:00
  • 46bc5ca73b feat(antigravity): 令牌刷新失败及创建账号时也设置隐私 QTom 2026-03-28 21:56:45 +08:00
  • da36506b89 fix: resolve P0/P1 code quality issues Developer 2026-03-31 11:39:18 +08:00
  • 0b3feb9d4c fix(openai): resolve Anthropic compat mapping from normalized model InCerry 2026-03-31 10:33:28 +08:00