Skip to content

ux: distinguish installation completion from required runtime readiness #54

Description

@hyjd1314

背景

当前安装器完成页会以 nowait postinstall 启动客户端。首次启动随后才按需下载 Python 运行时和 wheel,因此用户已经点击“完成”后,必要资源仍在后台下载;这会让“安装完成”与“可以使用”混为一谈。

用户已明确:常规安装包不应重新内置大体积 Python 运行时;桥接诊断包仅用于排障,不能成为正式交付策略。

目标

  • 让安装完成、首次运行时的运行时准备和“聊天功能可用”三个状态对用户清晰可区分,不能静默把必要下载藏在安装结束之后。
  • 保留正式包按需下载策略,不把 Python/wheel 重新塞回每个安装包。
  • 如果选择安装后启动,提供可访问、可取消、可重试且不会抢编辑框焦点的准备界面;只有后端可用后才进入正常聊天状态。
  • 如果用户未选择启动,不在后台私自开始下载;下一次明确启动时再展示同样的准备状态。
  • 失败时显示下载阶段、可操作的重试/退出选择及诊断入口,不能把 Native Host 或浏览器权限错误混为运行时未准备。
  • feat: resume verified on-demand runtime downloads and clean temporary artifacts #53 的断点续传结合,但不绕过任何浏览器扩展、站点权限或登录确认。

验收

  • 覆盖安装与全新安装均不再出现“点击完成后无提示后台下载”的体验。
  • 用户能在 UI 中看到运行时准备进度、取消、重试和明确的未就绪状态。
  • 后端未监听时不会显示桥接已连接,也不会允许误导性的发送操作。
  • 安装器/首次启动自动化测试覆盖完成页、未启动、下载成功、取消和失败重试。
  • 正式安装包体积不因本工单重新加入 Python 运行时而回升。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions