fix(voice-clone): source_audio_url 不做预签名转换,原样返回用户输入 #222
Reference in New Issue
Block a user
Delete Branch "fix/voice-clone-source-audio-url-sign"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
问题
PR #216 给所有音频URL加预签名时,误伤了
source_audio_url——这个是用户传入的外部URL,不是我们OSS上的文件,不该做预签名转换。修复
_to_response中对source_audio_url的sign_url调用get_audio_url_signer依赖注入测试
33个 voice_clone 集成测试全绿
审查结论 ✅ 通过,直接合并
改动单一且正确:
验证点
source_audio_url 来源确认 ✅:来自
CreateVoiceCloneRequest.source_audio_url,是用户传入的外部音频 URL,不是我们 OSS bucket 上的资源,预签名毫无意义且可能导致外部 URL 被错误处理覆盖范围完整 ✅:
_to_response()去掉了sign_url参数和对source_audio_url的转换get_audio_url_signerDepends(get_audio_url_signer)都移除了没有误伤其他字段 ✅:只动了 source_audio_url 一行逻辑,example_audio_url 等其他音频字段未受影响
改动干净利落,可以 squash merge。
6fe9105064toda1fd29a22复审结论 ✅ 通过,直接合并
用户关注的三点逐一确认:
1. source_audio_url 不该做预签名 ✅
source_audio_url来自CreateVoiceCloneRequest,是用户传入的外部音频 URL,不是我们 OSS bucket 上的资源。预签名不仅没用,反而可能导致外部 URL 被错误处理。判断正确。2. 修改范围正确 ✅
只动了
voice_clones.py一个文件:_to_response()去掉sign_url参数和source_audio_url转换逻辑Depends(get_audio_url_signer)同步清理没有误伤其他字段(example_audio_url 等不受影响)。
3. stub 方法合理 ✅
PR #220 限流功能在
GenerationTaskRepositoryProtocol 里新增了count_pending_by_user/count_pending_total两个方法,所有测试 stub 必须补上否则会报错。6 个文件的实现都合理:test_generation_api.pytest_task_center_api.pytest_edit_plan_generation_api.pytest_edit_plan_service.pytest_generation_presigned_url.pytest_task_queue_limit.pyCI 全绿,可以 squash merge。