Skip to content

fix: 云盘向量化卡死 + ASR 长音频回归 + 邮箱验证码 used=NULL + 配置清理 - #122

Merged
atoncooper merged 4 commits into
mainfrom
fix/cloud-vectorize-and-asr-regressions
Oct 2, 2026
Merged

atoncooper merged 4 commits into
mainfrom
fix/cloud-vectorize-and-asr-regressions

Conversation

@atoncooper

Copy link
Copy Markdown
Owner

四个独立修复,各一个提交:

[cloud] 云盘向量化永远「入库中」

三根因:RunSync 全链 context.Background() 无 deadline(MinIO/Mongo/Milvus 半开连接无限挂死)、panic recover 只记日志不落 failed、POST /process 同步跑整条管线被 nginx 60s 掐断。修复:5min 管线 deadline + RunAsync/recoverFailed(panic→failed)+ Trigger 真异步 + status/detail 读时对账(processing 超 10min 自愈为 failed,存量卡住行刷新即解卡)+ pushStatus 死 ctx 守卫。附带 config.go 补 MINIO__ 共享 env 绑定(presign 回退 localhost 的根因)。

[asr] 长音频「仅支持 https URL」回归

_build_api_url 无条件跑 SSRF 校验,误杀内网网关 http://higress:8080/api/v1——只有 >60s 分 P 走 RESTful Transcription 路径必失败,短 P 正常。修复:与 _configure 统一信任规则(_via_gateway 跳过校验,BYOK 保留)。附带删 config.yaml asr.base_url 死配置。新增 2 回归测试(41 passed)。

[auth] 邮箱验证码「正确却报过期」

Go 迁移回归:verification_codes.used 为 nullable 且无 DB 默认值,插入 NULL 永不命中 used = 0 过滤。修复:Create 显式写 false + repo 5 处过滤改 NULL 容忍。

[infra] 配置清理

higress 镜像/端口写死(去 HIGRESS_* env 间接)、console 18081 对外;.env.example 清 REDIS__PASSWORD/APPTASK_BASE_URL/废弃映射表。


生效说明:合并后需重建 backend / app-cloud / app-auth 镜像(代码与 config 烘焙进镜像)。

- RunSync 全链包 5min context deadline(MinIO/Mongo/Milvus 半开连接不再无限挂死)
- 新增 RunAsync+recoverFailed:panic 落 vector_status=failed(原三处 goroutine recover 只记日志)
- POST /process 改真异步(Trigger 立即返回,管线后台跑)
- GET /status 与 /video/{uuid} 详情读时对账:processing 超 10min 置 failed(僵尸自愈,存量卡住行刷新即解卡)
- pushStatus 死 ctx 守卫:管线超时后终态 WS 推送仍可达
- config.go 补 MINIO__ 共享 env 绑定(presign 回退 localhost 根因)
- _build_api_url 与 _configure 统一信任规则:_via_gateway 跳过 SSRF 校验(内网 http 网关地址是可信运维配置),BYOK 用户端点校验保留
- 修复 >60s 分 P 走 RESTful 异步 Transcription 必失败的回归(原报「ASR 失败: 仅支持 https URL」)
- 删除 config.yaml asr.base_url 死配置(settings 无访问器,零消费)
- 新增 2 回归测试:网关内网 URL 放行 + BYOK http 仍拦截
- Create 显式写 Used=false(nullable 列无 DB 默认值,插 NULL 永不命中 used=0 过滤)
- repo 全部 5 处未用码过滤改 (used = 0 OR used IS NULL)
- compose 去掉 HIGRESS_* 环境变量间接(镜像 tag、端口映射写死字面量)
- .env.example 删 REDIS__PASSWORD/APPTASK_BASE_URL/HIGRESS_* 块/已废弃映射表
@atoncooper
atoncooper merged commit b2edb5d into main Oct 2, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant