fix(#1677): 移除预览网格截断+空指针防御+排序显式Number(AI Review 第二轮) #1713
Reference in New Issue
Block a user
Delete Branch "fix/1677-grid-truncation"
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 #1712 合入了 AI Review 第一轮修复,但第二轮修复(AI Review 指出的渲染截断逻辑错误)推送时 PR 已自动合并,本 PR 补上。
修复内容(AI Code Review 第二轮阻塞+建议)
CanvasPreviewGrid的Math.min(count, MAX_PREVIEW_COUNT)截断——数量上限已在源头PreviewCountModal(1~10)clamp,网格完整渲染所有变体,保证每个变体都有勾选/预览入口,UI 与数据不脱节variant0Title加previewTitles?.[0]可选链防御BatchGenerationGrid排序显式Number()转换,防字符串类型导致 NaN本地 tsc/eslint 全绿。
🚀 预览环境已部署
CI全绿,自动审批通过。
CI全绿,自动审批通过。
代码审查结果 - PR #1713
⚠️ 问题(0个需要修改)
无
💡 建议(1个可选)
MAX_PREVIEW_COUNT的硬上限保护,虽然注释说明count已在源头(PreviewCountModal)被限制,但这降低了组件的健壮性。如果未来组件被复用或上游逻辑变更导致传入过大的count(如 100+),可能会导致浏览器因渲染过多 DOM 节点或媒体元素而卡顿崩溃。建议保留Math.min(count, MAX_PREVIEW_COUNT)作为防御性编程的最后防线,或者使用 TypeScript 将count类型限定为最大值。✅ 格式检查通过 | ✅ 逻辑审查通过 | ⚠️ 建议关注性能
🤖 由 AI 代码审查机器人自动生成 | 2026-09-05 05:24:43 | 模型:
🗑️ 预览环境已清理
PR #1713 已关闭或合并,对应的预览环境已被清理。