lanyuanxiaoyao
31fd3a2a43
refactor: 统一 target name/description 可空语义,前端展示 fallback 到 id
- schema: name/description 允许省略或显式 null,TypeBox Union([Null, String])
- 类型: RawTargetConfig/ResolvedTargetBase/子类型/StoredTarget/TargetStatus name 改为 string | null
- checker resolve: name: t.name ?? null,不再 fallback 到 id
- 语义校验: 拒绝空字符串和纯空白 name
- SQLite: targets.name 列改为可空 TEXT
- 前端: 新增 getTargetDisplayName(target) 展示 name ?? id
- 测试: 覆盖 name/description null 全场景,查找改为按 id
- 文档: 更新 README/DEVELOPMENT 和 6 个 openspec specs
2026-05-17 20:12:39 +08:00
..
2026-05-14 00:23:37 +08:00
2026-05-14 09:23:10 +08:00
2026-05-13 19:50:33 +08:00
2026-05-15 11:26:46 +08:00
2026-05-14 09:23:10 +08:00
2026-05-14 09:23:10 +08:00
2026-05-14 09:23:10 +08:00
2026-05-15 18:31:33 +08:00
2026-05-12 21:43:20 +08:00
2026-05-15 18:31:33 +08:00
2026-05-17 00:37:54 +08:00
2026-05-16 00:14:35 +08:00
2026-05-15 22:18:29 +08:00
2026-05-13 16:48:56 +08:00
2026-05-16 09:00:15 +08:00
2026-05-12 21:43:20 +08:00
2026-05-13 21:35:05 +08:00
2026-05-15 11:26:46 +08:00
2026-05-13 16:48:56 +08:00
2026-05-15 11:26:46 +08:00
2026-05-14 09:23:10 +08:00
2026-05-17 20:12:39 +08:00
2026-05-17 20:12:39 +08:00
2026-05-14 15:57:14 +08:00
2026-05-17 20:12:39 +08:00
2026-05-14 09:23:10 +08:00
2026-05-16 00:14:35 +08:00
2026-05-15 11:26:46 +08:00
2026-05-15 11:26:46 +08:00
2026-05-15 11:26:46 +08:00
2026-05-15 00:53:41 +08:00
2026-05-17 20:12:39 +08:00
2026-05-11 08:54:21 +08:00
2026-05-17 20:12:39 +08:00
2026-05-14 12:32:41 +08:00
2026-05-17 20:12:39 +08:00
2026-05-15 22:18:29 +08:00
2026-05-15 11:26:46 +08:00
2026-05-14 09:23:10 +08:00