feat: M1.1 完成 + M1.2 启动 — 全量更新

M1.1 收尾:
- 24项 P0/P1/P2 bug 修复 (Rust 107 tests + Flutter 15 tests)
- Flutter App v0.3: cupertino_icons 修复, 单元测试, 调试面板, APK 52.6MB
- 示例插件完善: manifest.json + 请求/响应示范 + 7个测试
- API 文档重写 (以 routes.rs 为唯一权威)
- MILESTONES.md 更新至 100%

M1.2 启动:
- P0: 插件管理 API 闭环 (handle_manager_message Custom 分支 + broadcast_plugin_states)
- ServiceManager 集成测试 8/8 (tests/m1_2_service_manager.rs)
- M1.2 测试计划 (docs/M1.2_TEST_PLAN.md, 18个E2E场景)
- 动态插件系统: auto_rollback + version_manager GC + 路径穿越防护

总计: Rust 115/115 测试, Flutter 15/15 测试, 零 warning

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
showen
2026-03-14 18:12:42 +08:00
parent 8ed9cb2d9d
commit d30c111c71
68 changed files with 8115 additions and 1201 deletions

View File

@@ -141,3 +141,17 @@
- 性能影响分析消除了团队对消息传递开销的顾虑
- 迁移总结文档为未来的类似重构提供了参考模板
- ScreenPlugin 文件头注释已在 Task 3 中更新,无需重复修改
## 个人经验 (2026-03-14 Flutter 验收)
- 完成 Flutter App 验收与质量检查,目标目录 `clients/flutter`
- 环境中 `flutter` 未在 PATH改用 `/home/showen/flutter-sdk/bin/flutter analyze` 完成静态检查
- `flutter analyze` 结果为 `No issues found!`
- 验证 P0-2 WebSocket 指数退避重连已实现:
- `clients/flutter/lib/services/web_socket_service.dart` 使用 2s 起步、倍增到 60s 上限
- `clients/flutter/lib/widgets/connection_status_banner.dart` 提供顶层重连横幅与手动重试按钮
- 验证 P1-7 全页面下拉刷新已实现:
- Home / Playback / Trigger / Network / Settings 五个页面均存在 `RefreshIndicator`
- 检查 P0-1 与 P0-3
- P0-1 已完成设备历史持久化与最近 10 台存储,但缺少连接前 `/api/status` 可达性校验,且 UI 仍是设置页入口+历史弹窗,不是顶栏下拉切换,因此判定为进行中
- P0-3 已实现:`DeviceProvider` 维护当前设备上下文并在切换时更新 `HttpApiService.baseUrl`,同时断开并重连 WebSocket
- 新发现问题:`.showen/inbox/li-siqi.md` 不存在,按规范检查时无个人收件箱文件