2.1 KiB
2.1 KiB
title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
| title | type | permalink | stable_id | scope | memory_type | project_id | usage_profile_id | status | revision | request_id | created_at | updated_at | tags | |||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Checkpoint 2026-09-02 10:03:40 UTC [234316afba] | checkpoint | main/projects/4111f53b-afa5-48e1-aaf8-d70a7edc0638/checkpoint-2026-09-02-10-03-40-utc-234316afba | 07689f07-a36f-48bd-bd6f-6c8294f22eda | project | checkpoint | 4111f53b-afa5-48e1-aaf8-d70a7edc0638 | 7aee455b-24cc-4008-bdaf-443721e6f939 | active | 1 | aoe3-code-review-user-changes-20260902 | 2026-09-02T10:03:40.801295+00:00 | 2026-09-02T10:03:40.801295+00:00 |
|
2026-09-02 代码审查(范围 3ee0022..10c013c),未修改代码。构建 0 警告 0 错误,真实 Data.bar 测试 50/50 通过。确认待修问题:1)目标版本保护被删除,DetectGame 只标 detected,ApplyAsync 对任意版本直接备份并覆盖 Data.bar,违反仅支持 100.19.17293.0 的安全约束;2)实体/卡牌/技能/战术/批量保存后没有更新 Original 基线,working.bar 已写入而 UI 仍标记修改,点“撤销未保存”会显示原值但不会撤销 working.bar,后续 UI 与导出内容不一致;3)ExportMod 先递归删除现有 Mod Data 目录后逐文件写入,非事务化,失败会留下部分启用 Mod;age3-mod-status.json 也直接覆盖而非原子替换;4)卡牌时代只校验非负但 UI 声明 0-4,发送次数允许任意负数而 UI 仅声明 -1 无限;5)SanitizeName 仅检查完整名称,con.txt 等 Windows 设备名带扩展名会通过,实际创建目录失败,现有测试还错误地断言 con.txt 合法;6)AppPaths 新增 %LOCALAPPDATA% 回退与默认自动清理超过 10 个手动/安全备份,和已确认的安装目录存储、不自动删除备份要求冲突;7)已存在但禁用的 Mod 被重新启用时返回 false,UI误报“已是启用状态”;8)人口规则页使用不可滚动 StackPanel,在最小窗口高度下底部列表可能裁切。生成的增量 Mod XML结构测试通过,但仍未经过真实游戏加载验证。下一步需用户授权后按优先级修复,建议先处理 1-3。