- 27 Apr, 2026 10 commits
-
-
KnowSky404 authored
-
KnowSky404 authored
-
KnowSky404 authored
-
KnowSky404 authored
-
KnowSky404 authored
-
KnowSky404 authored
-
KnowSky404 authored
-
KnowSky404 authored
-
Wesley Liddick authored
fix(anthropic): drop empty Read.pages in responses-to-anthropic tool input
-
Wesley Liddick authored
fix(openai): avoid implicit image sticky sessions
-
- 26 Apr, 2026 7 commits
-
-
gaoren002 authored
-
Cloud370 authored
-
github-actions[bot] authored
-
Wesley Liddick authored
fix(payment): 修复 Zpay 退款接口调用
-
Wesley Liddick authored
fix(anthropic): 修正缓存 token 的 Anthropic 用量语义
-
Nobody-Zhang authored
-
shaw authored
- 修复返利不到账的根因:tryClaimAffiliateRebateAudit 中 PostgreSQL 参数类型推断冲突 - 补全 OAuth 注册路径(LinuxDo/OIDC/WeChat/Pending Flow)的邀请码绑定 - 前端 OAuth 注册页面传递 aff_code 参数 - 新增返利冻结期机制:可配置冻结时间,到期后自动解冻(懒解冻) - 新增返利有效期:绑定后 N 天内有效,过期不再产生返利 - 新增单人返利上限:超出上限部分精确截断 - 增强返利流程 slog 结构化日志,便于排查问题 - 已邀请用户列表增加返利明细列
-
- 25 Apr, 2026 22 commits
-
-
deqiying authored
-
shaw authored
PR #1914 unconditionally applied the full mimicry pipeline to all OAuth accounts, including real Claude Code CLI clients. This replaced the client's long system prompt (~10K+ tokens with stable cache_control breakpoints) with a short ~45 token [billing, CC prompt] pair, which falls below Anthropic's 1024-token minimum cacheable prefix threshold. The result: every request created a new cache but never hit an existing one. Fix: restore the Claude Code client detection gate so that real CC clients bypass body-level mimicry (system rewrite, message cache management, tool name obfuscation). Non-CC third-party clients (opencode, etc.) continue to receive full mimicry. Also harden the detection logic: - Make UA regex case-insensitive (align with claude_code_validator.go) - Validate metadata.user_id format via ParseMetadataUserID() instead of just checking non-empty, preventing third-party tools from spoofing a claude-cli/* UA with an arbitrary user_id string to bypass mimicry
-
shaw authored
Stripe payment routes (/payment/stripe, /payment/stripe-popup) are reached via hard navigation (window.location.href), which caused the router guard to block access before the page could load. Set requiresAuth and requiresPayment to false, consistent with /payment/result. Backend API still enforces authentication.
-
shaw authored
- gofmt: realign AffiliateDetail struct tags in affiliate_service.go - ineffassign: remove dead seenCompleted assignment before return in account_test_service.go
-
Wesley Liddick authored
fix(openai): tighten responses stream account tests
-
Wesley Liddick authored
fix(openai): keep responses stream alive during pre-output failover
-
shaw authored
- 在系统设置「功能开关」中新增邀请返利总开关,默认关闭; 关闭态:菜单隐藏、注册忽略 aff、新充值不返利,但已有 quota 仍可转余额 - 支持管理员为指定用户设置专属邀请码(覆盖随机码,全局唯一) - 支持管理员为指定用户设置专属返利比例(覆盖全局比例,可单条/批量调整) - 在系统设置邀请返利卡片内嵌入专属用户管理表格(搜索/编辑/批量/删除), 删除采用项目通用 ConfirmDialog,会同时清除专属比例并把邀请码重置为系统随机码 - /affiliate 用户页新增「我的返利比例」卡片与动态使用说明,让用户直观看到 分享后能拿到多少(同源 resolveRebateRatePercent 计算,与实际充值一致) - 新增数据库迁移 132 添加 aff_rebate_rate_percent 与 aff_code_custom 列 - 新增 admin 路由组 /api/v1/admin/affiliates/users/* 共 5 个端点 - AffiliateService 改为只依赖 *SettingService,去除冗余的 SettingRepository - 邀请码格式校验放宽到 [A-Z0-9_-]{4,32},兼容旧 12 位系统码与新自定义码 - 补充单元测试与集成测试覆盖新方法、冲突路径与边界值 -
gaoren002 authored
-
hungryboy1025 authored
-
github-actions[bot] authored
-
Wesley Liddick authored
fix(openai): 修复 Responses 流式失败前置事件导致无法 failover
-
AyeSt0 authored
-
Wesley Liddick authored
fix(openai): bump codex CLI version from 0.104.0 to 0.125.0
-
shaw authored
将 vansour/sub2api#1555 的 OpenAI compact 能力建模手工移植到当前 main:账号 级 compact 状态/auto-force_on-force_off 模式、compact-only 模型映射、调度器 tier 分层(已支持 > 未知 > 已知不支持)、管理后台 compact 主动探测,以及对应 i18n/状态徽章。普通 /responses 流量行为不变,无数据库迁移。
-
4fuu authored
The hardcoded codex CLI version (0.104.0) causes upstream rejection when using gpt-5.5 with compact, as the server treats the request as an outdated client and returns 400/502. Update codexCLIVersion, codexCLIUserAgent, and openAICodexProbeVersion to 0.125.0 to match the current Codex CLI release. Fixes #1933, #1887, #1865 Related: #1609, #1298, #849
-
Wesley Liddick authored
[codex] reconcile OpenAI admin test rate-limit state
-
shaw authored
VISIBLE_METHOD_ALIASES 漏了 stripe,导致 getVisibleMethods 把后端返回 的 stripe 过滤掉。点 Stripe 按钮时省略 method 查询参数,让落地页渲染 完整的 Payment Element。
-
shaw authored
-
Wesley Liddick authored
fix(apicompat): recognize web_search_20250305 / google_search in Responses→Anthropic tool conversion
-
shaw authored
- staticcheck QF1001: apply De Morgan's law to the OAuth-mimic header passthrough guard (`!(a && b)` → `a != ... || !b`). - unused: drop `isClaudeCodeRequest`, which became dead after PR #1914 switched both `/v1/messages` and `/count_tokens` paths to unconditional `account.IsOAuth()` mimicry. The lowercase helper `isClaudeCodeClient` is kept (still referenced by `TestIsClaudeCodeClient`).
-
Wesley Liddick authored
fix(claude): align Claude Code OAuth mimicry with real CLI traffic
-
shaw authored
- Drop SetAffiliateService setters and ProvideAuthService / ProvidePaymentService / ProvideUserHandler wrappers in favor of direct Wire constructor injection. AffiliateService has no back-edge to Auth/Payment/User, so the indirection was never required. - Change RegisterWithVerification's variadic affiliateCode to a fixed parameter; adjust all call sites. - Validate aff_code length and charset in BindInviterByCode before any DB lookup, eliminating timing-side-channel and useless DB roundtrips on malformed input. - Make affiliate cache invalidation synchronous; surface Redis errors via the project logger instead of swallowing them in a detached goroutine. - Add an integration test guarding cross-layer tx propagation in AccrueQuota and a unit test pinning the aff_code format rules.
-
- 24 Apr, 2026 1 commit
-
-
Wuxie233 authored
fix(apicompat): recognize web_search_20250305 / google_search in Responses to Anthropic tool conversion
-