Skip to content

Latest commit

 

History

History
46 lines (33 loc) · 5.04 KB

File metadata and controls

46 lines (33 loc) · 5.04 KB

Android 日常使用增强(2026-09-14)

实施计划:八项实施计划。仅修改 Android;保留上一轮启动/返回修复。

已实现与入口

功能 行为与入口
启动选择 设置 → 外观。“最后查看的对话”记录实际查看对象及离开时间,不再被后台更新的会话抢占;删除目标后回退到最近会话;自动模式以 15 分钟为界。后台返回与页面重建仍保留当前页面。
草稿 每会话持久保存文字、附件引用及编辑状态,折叠粘贴内容展开后保存。列表右上角菜单 → 草稿箱可继续未发送的新对话;发送后清空,转正式会话时迁移。附件恢复前验证可读性,失效时提示重新选择。
失败恢复 回答错误条区分鉴权、额度、限流、断网、超时及其他失败,给出对应处理建议;保留原始错误和手动重试。没有增加自动计费重试。
任务中心 列表右上角菜单 → 任务中心。显示当前进程内运行、排队、完成、失败、停止、超时与预算终态;显示配置等待确认提示;支持打开来源会话、停止会话当前任务及队列。最多保留 100 项已结束记录,运行项不丢弃。
编辑分支 长按用户消息 → 在新分支中编辑。复制该问题之前的历史,新分支输入框预填问题及附件,发送后继续;原会话与回答不截断。历史附件和预填附件复制为独立文件;复制的历史不会再次计入 token 用量。
作品库 列表右上角菜单 → 作品库。跨会话查看文件,可搜索文件名/路径/会话名、打开来源、分享,以及进入现有预览页面保存。使用既有文件预览和安全扫描。
连接测试 沿用服务商“测试调用”入口,增加模型输入/输出和思考档位说明,明确只验证文本请求。模型元数据与真实能力测试区分;已有模型/思考控件继续按支持的能力筛选。
导出与备份 长按会话 → 导出 → Markdown,流式生成 ZIP 内的 messages.md 和元数据。设置 → 备份,在开始前预览选择范围、凭据类别、加密状态和源数据估算。

明确边界

  • 草稿保存附件引用,不会承诺外部 URI 永久可读;系统清理缓存、撤销权限或删除文件后须重新选择附件。
  • 分支复制消息和媒体,不克隆整个 Linux 工作区、进程或终端运行状态。媒体缺失时创建失败,不破坏原历史。
  • 任务中心是当前进程的任务状态,不把进程死亡前的任务恢复成“运行中”;长期定时任务记录仍使用既有定时任务页面。
  • 作品库扫描最近更新的最多 100 个会话、展示最多 2000 个文件;每会话仍有既有深度/数量限制。达到限制或无法扫描会提示,可进入具体会话查看。
  • 备份估算统计所选消息正文和文件树,并按文件上限筛选;未含配置及元数据开销,压缩/去重后实际包大小不同。扫描受限时注明估算不完整。凭据提示按 Providers、MCP、环境变量选项判断,不把其他内容宣称为无敏感信息。
  • 连接测试不会自动测试生图,未调用真实付费模型接口。

验证与装机验收

新增 JVM 测试覆盖草稿序列化/损坏输入、启动候选和删除回退、时间边界、失败建议优先级、Markdown 标题、凭据范围以及分支媒体复制/路径检查。新增 Room 设备测试覆盖历史前缀、原会话保留、token 不重复计数和不存在目标时不创建分支。

本机无安卓设备:系统回收、界面交互与 Room 设备测试尚未实际运行。整套既有 androidTest 编译被 ExecutionCoordinatorInstrumentedTest 中已失效的 mountedSessionId 引用阻塞;使用工作目录中的临时 Gradle 配置单独编译新增 EditBranchTest,未修改或屏蔽仓库既有测试。

装机重点:

  1. 查看 A 后让 B 在后台更新,重开应用应仍恢复 A;检查新建/列表启动选项。
  2. 在两个会话和新建草稿分别输入文字、粘贴长文、选附件,结束进程后从草稿箱恢复;失效附件应提示。
  3. 任务中心查看并停止含排队消息的会话,再打开来源核对终态。
  4. 编辑旧问题:原回答仍在,新分支只带此前历史与预填输入;原会话媒体清理后,分支副本仍可读。
  5. 作品库搜索、预览、保存、分享和返回来源;确认一次返回列表后再次返回退出,无重复列表。
  6. 导出含中文和代码块的会话为 Markdown;切换备份范围、文件大小和加密选项,核对预览后再开始。

本次实际结果

最终构建成功;146 个 JVM 测试类、1315 项测试,0 失败、0 错误、0 跳过。新增 EditBranchTest 单独编译成功。APK 完整性、原生依赖与签名检查通过,签名与上一版一致。未执行真机测试、未调用真实模型接口、未提交或推送。

APK SHA-256:16dae24886fc4a291fa7afda79c377ea486b2ee1b72336812df9dc2bb9eae69b。