OneTHU 0.11.4-fix-1 Implementation Plan¶
Goal: 修复旧 0.11.4 的桌面启动阻塞和平板反馈,发布三端 0.11.4-fix-1,并完成 GitHub、云盘、官网更新链路核对。
Architecture: 学校 GUI 登录可在 CLI 不可用时继续使用本机原生会话;后台恢复后使用受账号、epoch 和退出意图保护的延迟移交。保留 xiao-dreamr 的样式及现有 CLI/OH 功能;如果修复无法形成清晰边界,再回退到样式合并基线。
Tech Stack: React / OneGUI、TypeScript、Tauri Rust、Node SDK/CLI、Android Gradle、GitHub Actions。
Task 1: 反馈证据与边界¶
- 查看 Downloads 最新 JPG 和 5.4 秒视频,关键帧只保存在忽略的 output 目录,不提交真实用户数据。
- 复现 CLI_START_FAILED 阻断 performLogin/currentFingerprint/resume 的分支。
- 确认实用设置误命中桌面三栏 overflow:hidden 规则,以及首页吞掉课表错误的问题。
Task 2: 登录独立于后台可用性¶
- 修改
apps/desktop/src/lib/clients.ts与私有会话测试,先写失败用例:后台启动失败时登录/指纹/本机会话恢复仍可完成;账号冲突、CLI 2FA、显式退出仍阻止不安全移交。 - 保存未绑定 epoch 的移交意图,后台恢复后只对空白非退出状态或相同账号绑定;不同账号和退出状态不覆盖。
- 补充
cli_daemon.rs的启动诊断与早退识别,保留原生日志的隐私边界和 App 关闭后常驻能力。 - 验证命令:
node tools/cli-session-handoff-test.mjs、node tools/login-attempt-state-test.mjs、SDK / CLI 测试及 Rust 对应检查。
Task 3: 平板设置与课程¶
- 修改 SettingsOverlay 的简单设置滚动分类,保留完整模式三栏;在平板横竖屏检查滚动到底部、按钮点击、模型源切换反馈。
- 今日课程使用与课表相同的 primary + secondary 时间窗口源;加载/失败不显示“今天没有课”,成功空结果才显示空态。保留已完成与待上课区分。
- 为数据源、加载状态、课程时间筛选增加有意义的回归测试,使用合成课程验证。
Task 4: fix-1 版本与更新兼容¶
- 版本显示、Cargo、Tauri、CLI、SDK 一致为
0.11.4-fix-1;Android versionCode 在 11013 上递增。 - 版本比较、云盘目录选择、官网下载检查识别 fix 编号;旧 0.11.4 客户端的更新提醒使用向后兼容的发布版本标记,显示实际 fix-1 名称。
- 验证 base→fix-1、fix-1→fix-2、fix→后续正式版、跨平台 URL/摘要;不将 hotfix 排成旧版。
Task 5: 验证与发布¶
- 类型、i18n、生产构建、认证账户边界和相关手机交互检查通过后冻结源码,main/dev3 同步。
- 同一提交触发 macOS/Windows Actions,本地正式签名构建 Android,校验版本、ABI、Logo、CLI 与 Harness 架构及摘要。
- GitHub 草稿与既有清华云盘系统文件夹上传齐全,再公开 Latest;官网中英文及镜像快照同步。
- 匿名完整下载三平台云盘镜像,验证 SHA256;实际 updater 及旧客户端版本比较均能发现本次更新。
- Windows/Android 无实机时明确记录,浏览器/协议测试与设备验收分别报告;保存长期记忆。