docs: add upgrade summary for v0.12.12 merge
This commit is contained in:
@@ -0,0 +1,135 @@
|
|||||||
|
# New API 升级摘要
|
||||||
|
|
||||||
|
本文档记录当前分支从自定义 `v0.12.1` 基线升级到上游 `v0.12.12` 的合并结果、保留的定制内容、关键变化与验证结论。
|
||||||
|
|
||||||
|
## 版本信息
|
||||||
|
|
||||||
|
- 上游最新正式版本:`v0.12.12`
|
||||||
|
- 上游 tag 提交:`28347402`
|
||||||
|
- 合并提交:`06f9bde3` `Merge tag 'v0.12.12' into codex/redeem-subscription`
|
||||||
|
- 兼容性修复提交:`198e723b` `fix: restore Claude file conversion and preserve stream status`
|
||||||
|
- 远端分支:`lich/codex/redeem-subscription`
|
||||||
|
|
||||||
|
## 升级背景
|
||||||
|
|
||||||
|
当前代码最初基于上游 `v0.12.1` 开发,并在此基础上加入了订阅兑换码、订阅展示与部署脚本等自定义修改。
|
||||||
|
|
||||||
|
本次升级的目标是:
|
||||||
|
|
||||||
|
- 合入上游 `v0.12.12` 全量改动
|
||||||
|
- 保留现有的订阅兑换码与订阅相关定制功能
|
||||||
|
- 吸收上游在 `v0.12.10` 引入的 Stripe webhook 安全修复
|
||||||
|
- 让后端测试、前端构建恢复到可用状态
|
||||||
|
|
||||||
|
## 保留的定制功能
|
||||||
|
|
||||||
|
本次升级中保留了当前分支已有的自定义能力:
|
||||||
|
|
||||||
|
- 订阅型兑换码
|
||||||
|
- 兑换码开通订阅后的用户分组升级逻辑
|
||||||
|
- 订阅相关前端展示与文案优化
|
||||||
|
- 已购买订阅额度重置行为修复
|
||||||
|
- 自定义部署文件和远端部署脚本
|
||||||
|
|
||||||
|
## 上游关键变化
|
||||||
|
|
||||||
|
从 `v0.12.1` 升级到 `v0.12.12`,上游中比较重要的变化包括:
|
||||||
|
|
||||||
|
### 支付与安全
|
||||||
|
|
||||||
|
- `v0.12.10` 引入 Stripe webhook 异步支付处理,避免未真正支付成功就提前入账
|
||||||
|
- `TopUp` 增加 `PaymentMethod` 字段,并增强支付方式校验
|
||||||
|
- 登录与 Token 鉴权错误处理增强,减少信息泄露风险
|
||||||
|
|
||||||
|
### 订阅与钱包
|
||||||
|
|
||||||
|
- 订阅卡片支持显示下次额度重置时间
|
||||||
|
- 多处额度输入改为金额优先的交互
|
||||||
|
- 用户与管理员额度调整体验增强
|
||||||
|
|
||||||
|
### 模型与 Relay
|
||||||
|
|
||||||
|
- Claude 增加 `cache_control`、`speed` 透传控制
|
||||||
|
- Claude 空字符串消息处理修复
|
||||||
|
- Gemini、Azure 等渠道兼容性修复
|
||||||
|
- 新增 `claude-opus-4-7` 支持
|
||||||
|
- 新增 Minimax 图片生成 relay
|
||||||
|
|
||||||
|
### 前端控制台
|
||||||
|
|
||||||
|
- Dashboard 图表增强
|
||||||
|
- 分组倍率和分组规则设置页重构
|
||||||
|
- ErrorBoundary 加入,提高页面级崩溃容错能力
|
||||||
|
- 多密钥管理弹窗索引显示修复
|
||||||
|
|
||||||
|
## 本次额外补充修复
|
||||||
|
|
||||||
|
为了恢复测试通过并兼容当前仓库行为,本次额外补充了两处修复:
|
||||||
|
|
||||||
|
### 1. Claude 文件内容转换修复
|
||||||
|
|
||||||
|
位置:`relay/channel/claude/relay-claude.go`
|
||||||
|
|
||||||
|
修复内容:
|
||||||
|
|
||||||
|
- `file` 类型内容会结合文件名推断 MIME
|
||||||
|
- 文本文件会解码为 Claude `text`
|
||||||
|
- PDF 文件会转换为 Claude `document`
|
||||||
|
- 未知二进制文件会忽略,不再误判为图片
|
||||||
|
|
||||||
|
### 2. StreamStatus 保留修复
|
||||||
|
|
||||||
|
位置:`relay/helper/stream_scanner.go`
|
||||||
|
|
||||||
|
修复内容:
|
||||||
|
|
||||||
|
- `StreamScannerHandler` 不再无条件覆盖调用方预置的 `StreamStatus`
|
||||||
|
- 预初始化的错误计数与状态可以被正确保留
|
||||||
|
|
||||||
|
## 冲突处理说明
|
||||||
|
|
||||||
|
本次合并过程中,主要人工处理了以下冲突:
|
||||||
|
|
||||||
|
- `model/redemption.go`
|
||||||
|
- 保留订阅兑换码逻辑
|
||||||
|
- 对齐上游错误定义拆分
|
||||||
|
- `web/src/components/table/redemptions/modals/EditRedemptionModal.jsx`
|
||||||
|
- 保留订阅兑换码创建能力
|
||||||
|
- 合入上游金额优先输入 UI
|
||||||
|
- `web/package.json`
|
||||||
|
- 保留现有 `antd`
|
||||||
|
- 采用上游升级后的 `axios 1.15.0`
|
||||||
|
|
||||||
|
## 验证结果
|
||||||
|
|
||||||
|
本次升级后已完成如下验证:
|
||||||
|
|
||||||
|
### 后端
|
||||||
|
|
||||||
|
- `go build ./...` 通过
|
||||||
|
- `go test ./...` 通过
|
||||||
|
|
||||||
|
### 前端
|
||||||
|
|
||||||
|
- `bun install` 通过
|
||||||
|
- `bun run build` 通过
|
||||||
|
|
||||||
|
### 已确认吸收的安全修复
|
||||||
|
|
||||||
|
- Stripe webhook 安全修复已经随着上游 `v0.12.10+` 合入
|
||||||
|
|
||||||
|
## 当前状态
|
||||||
|
|
||||||
|
当前分支已经完成:
|
||||||
|
|
||||||
|
- 合并上游 `v0.12.12`
|
||||||
|
- 修复合并后失败测试
|
||||||
|
- 后端测试全绿
|
||||||
|
- 前端构建通过
|
||||||
|
- 已推送到远端分支 `lich/codex/redeem-subscription`
|
||||||
|
|
||||||
|
## 建议后续动作
|
||||||
|
|
||||||
|
- 在实际部署环境做一轮支付、订阅、兑换码的业务回归
|
||||||
|
- 对 Stripe webhook、订阅购买、订阅型兑换码做线上前的重点验证
|
||||||
|
- 如需发版,可基于当前分支继续打 tag 或创建发布说明
|
||||||
Reference in New Issue
Block a user