浅念
|
d96e56f653
|
feat(mobile): drift upload task store with state machine
- upload_tasks 表(accountId 隔离 + 三个复合索引)、状态列枚举转换器、
datetime 文本落库(UTC 归一,亚秒精度)
- 纯状态机(task_state.dart):合法迁移表 + canTransition/assertTransition,
completed/cancelled 终态
- TaskStore 仓储:create(clientTaskId 同账号同相册应用侧唯一)、
updateState(迁移守护+旁路字段)、账号隔离读路径(硬守护)、
countsByState 徽章、cleanupCandidates/markCleanable(仅终态可清理——
评审缺口 1 硬守护,未完成源文件永不清理)
- 测试 26 例(状态机表驱动全边 + 守护/隔离/筛选/保留策略);
sqlite3 3.x build hooks 在 flutter test 宿主与 Android APK 构建均验证
(libsqlite3.so 已打包全 ABI,运行时验证留 Task 11)
Co-Authored-By: Claude Code <noreply@anthropic.com>
|
2026-09-19 02:12:39 +08:00 |
|