fix(quick-start): 使用可读项目名称 - #284
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
@fennoai -claude |
PR 审查:Quick Start 使用可读项目名称对 优点
建议(非阻塞)
验证
未发现阻塞性问题。 |
|
/review |
这个问题我也发现了,而且是这个 PR 引入的。建议修改 |
|
@fennoai -claude 把重试的判据从 error.message === '项目名称已存在' 换成 error instanceof ApiError && error.kind === 'business',再顺手把循环上限从 100 降到 5,这样能否解决你提出的问题? |
回复:能否用
|
|
已按评审更新:后端现阶段没有项目重名专属业务码,只有通用 400,因此没有采用“所有 business 错误都重试”。现在由 Project 真实接口适配器将约定的重名响应转换为 长名称编号时前缀会为编号略微缩短,这是后端 20 字上限下的明确取舍:首次名称不提前牺牲可读内容,仅在确实重名时为编号让位。对应行为已补测试。 |
改动内容
项目名 2、项目名 3这样的可读编号entities/project适配器中转换为稳定的ProjectNameConflictError问题原因
原实现为了满足后端“同一用户项目名称唯一”的约束,始终给项目名追加时间戳和随机串,导致用户在项目列表中看到难以理解的哈希式名称。
后端当前对项目重名只提供通用
BAD_REQUEST=400,没有重名专属业务码。中文契约文案的识别现已收口在 Project HTTP 适配器,Quick Start 只依赖稳定错误类型,不再直接匹配后端文案。用户影响
Quick Start 创建的项目现在具有可识别、可复述的名称;重复创建相同描述时仍能正常创建。普通业务错误不会被误判为重名并重复请求。
长名称首次创建会尽量保留更多内容;发生重名后才缩短前缀,为可读编号让出后端 20 字限制。
验证
npm run lintnpm run typechecknpm run test:coverage(41 个测试文件、448 项测试通过)npm run build