- 24 Jan, 2026 4 commits
-
-
Wesley Liddick authored
fix(oauth): 修复 OAuth 令牌刷新时 missing_project_id 误报问题
-
shaw authored
- 新增 SubscriptionExpiryService 定时任务,每分钟更新过期订阅状态 - 订阅列表支持服务端排序(按过期时间、状态、创建时间) - 实时显示正确的过期状态,无需等待定时任务 - 允许对已过期订阅进行续期操作 - DataTable 组件支持 serverSideSort 模式
-
Ubuntu authored
问题描述: 在网络波动环境下,LoadCodeAssist 临时失败会被错误地标记为 "missing_project_id" 不可重试错误,导致账户被禁用。但实际上 账户配置正确,手动刷新后即可恢复。 解决方案: 1. 为 LoadCodeAssist 增加重试机制(最多4次,指数退避) 2. 区分真正的配置缺失和临时网络故障: - 如果之前有 project_id,本次获取失败只保留旧值,不报错 - 只有从未获取过 project_id 且本次也失败时,才标记为缺失 3. 优化错误判断逻辑,避免误报 改进效果: - 提高在复杂网络环境(如家宽代理)下的鲁棒性 - 减少因临时网络波动导致的服务中断 - 保持真正配置错误的检测能力 Co-Authored-By:Claude Sonnet 4.5 <noreply@anthropic.com>
-
Wesley Liddick authored
fix(gateway): aggregate all text chunks in non-streaming Gemini responses
-
- 23 Jan, 2026 8 commits
-
-
lynoot authored
Previously, collectGeminiSSE() only returned the last chunk received from the upstream streaming response when converting to non-streaming. This caused incomplete responses where only the final text fragment was returned to clients. For example, a request asking to "count from 1 to 10" would only return "\n" (the last chunk) instead of "1\n2\n3\n...\n10\n". This was especially problematic for JSON structured output where the opening brace "{" from the first chunk was lost, resulting in invalid JSON like: colors": ["red", "blue"]} The fix: - Collect all text parts from each SSE chunk into a slice - Merge all collected text parts into the final response - Reuse the same pattern as handleGeminiStreamToNonStreaming in antigravity_gateway_service.go Fixes: non-streaming responses returning incomplete text Fixes: structured output (JSON schema) returning invalid JSON -
shaw authored
扩展现有的预热请求拦截功能,新增对 SUGGESTION MODE 请求的拦截: - 检测 messages 最后一条 user 消息是否以 [SUGGESTION MODE: 开头 - 拦截后返回空内容响应,节省 token 消耗 - 重构检测逻辑,合并为单一函数,只解析一次 JSON
-
shaw authored
-
shaw authored
-
shaw authored
-
shaw authored
-
shaw authored
测试文件引用了 IsTokenVersionStale 函数,但实际函数名为 CheckTokenVersion,导致 CI 构建失败
-
- 22 Jan, 2026 6 commits
-
-
Wesley Liddick authored
feat(frontend): 账号表格默认排序/持久化 + 自动刷新 + 更多菜单外部关闭
-
Wesley Liddick authored
fix(antigravity): 修复非流式 Claude To Antigravity 响应内容为空的问题
-
shaw authored
- 新增 _token_version 版本号机制,防止过期 token 污染缓存 - TokenRefreshService 刷新成功后写入版本号并清除缓存 - TokenProvider 写入缓存前检查版本,过时则跳过 - ClearError 时同步清除 token 缓存
-
0xff26b9a8 authored
-
0xff26b9a8 authored
- 修复 TransformGeminiToClaude 的 JSON 解析逻辑,当 V1InternalResponse 解析成功但 candidates 为空时,尝试直接解析为 GeminiResponse 格式 - 修复 handleClaudeStreamToNonStreaming 收集流式响应的逻辑,累积所有 chunks 的内容而不是只保留最后一个(最后一个 chunk 通常 text 为空) - 新增 mergeCollectedPartsToResponse 函数,合并所有类型的 parts (text、thinking、functionCall、inlineData),保持原始顺序 - 连续的普通 text parts 合并为一个,thinking/functionCall/inlineData 保持原样
-
Wesley Liddick authored
refactor(antigravity): 提取并同步 Schema 清理逻辑至 schema_cleaner.go
-
- 21 Jan, 2026 2 commits
-
-
ducky authored
-
0xff26b9a8 authored
-
- 20 Jan, 2026 20 commits
-
-
0xff26b9a8 authored
主要变更: 1. 重构代码结构: - 将 CleanJSONSchema 及其相关辅助函数从 request_transformer.go 提取到独立的 schema_cleaner.go 文件中,实现逻辑解耦。 2. 逻辑优化与修正: - 参考 Antigravity-Manager (json_schema.rs) 的实现逻辑,修正了 Schema 清洗策略。
-
Wesley Liddick authored
mod(frontend): 管理员订阅/兑换码分组选择展示备注
-
Wesley Liddick authored
fix(调度): 完善粘性会话清理与账号调度刷新 和 启用 OpenAI OAuth HTTP/2 并修复清理任务 lint
-
shaw authored
-
shaw authored
- Add promo_code_enabled field to SystemSettings and PublicSettings DTOs - Add promo code validation in registration flow - Add admin settings UI for promo code configuration - Add i18n translations for promo code feature
-
shaw authored
The field was defined in DTO but not mapped in handler response.
-
yangjianbo authored
-
墨颜 authored
- 使用 loadEnv 读取 VITE_DEV_PROXY_TARGET/VITE_DEV_PORT - 注入 public settings 与 dev proxy 使用同源后端地址
-
墨颜 authored
- 订阅管理/分配订阅:下拉项展示分组备注 - 兑换码/订阅类型:下拉项展示分组备注 - 复用 GroupOptionItem/GroupBadge 保持一致体验
-
shaw authored
Add TestAllProfiles to verify TLS fingerprint configurations from config.yaml against tls.peet.ws. Tests check JA4 cipher hash (stable part) to validate fingerprint spoofing works correctly.
-
yangjianbo authored
为 gateway_multiplatform_test.go 中的 SelectAccountWithLoadAwareness 调用添加缺少的第6个参数 metadataUserID,修复 CI 测试编译错误。 Co-Authored-By:Claude Opus 4.5 <noreply@anthropic.com>
-
-
yangjianbo authored
-
yangjianbo authored
-
-
yangjianbo authored
- Update/BulkUpdate 按不可调度字段触发缓存刷新 - GatewayCache 支持多前缀会话键清理 - 模型路由与混合调度优化粘性会话处理 - 补充调度与缓存相关测试覆盖
-
yangjianbo authored
- gofmt 修正 lint 格式提示
-
shaw authored
-
yangjianbo authored
- Update/BulkUpdate 按不可调度字段触发缓存刷新 - GatewayCache 支持多前缀会话键清理 - 模型路由与混合调度优化粘性会话处理 - 补充调度与缓存相关测试覆盖
-
Wesley Liddick authored
feat(subscription): 支持调整订阅时长(延长/缩短)
-