-
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