Files
windows-application/UPDATE.md
2026-01-23 16:11:20 +08:00

2.5 KiB
Raw Blame History

更新记录

说明:本文件用于记录每次客户端代码层面的更新内容,按时间倒序排列。


2026-01-23

  • 网络与构建相关

    • 配置 Flutter 使用国内镜像源(PUB_HOSTED_URL / FLUTTER_STORAGE_BASE_URL),解决 pub.dev 访问失败问题。
    • 清理并修复 Windows 构建缓存CMake 路径不一致导致的构建失败)。
    • 排查 sqlite3 原生资产构建失败的原因(无法访问 GitHub 下载预编译库),为后续在有外网环境下构建做准备。
  • 数据库与路径

    • 移除未使用的 package:path/path.dart 导入database 层统一通过 PathUtils.binFile 处理路径。
  • 重连与认证逻辑

    • ClientCore
      • 为 TCP 连接新增指数退避重连策略10s、20s、40s、80s、160s最多重试 5 次,并在连接成功后重置重试次数。
      • 在连接错误、连接关闭和心跳超时(超过 60 分钟未收到 ping时触发重连。
      • 重连成功后自动发送 auth.machineCode 认证消息(在已成功获取机器码和身份信息的前提下)。
  • 持续挖矿SustainMiner

    • mining.windows.conf[sustain] 段读取配置,校验必填字段与矿工程序路径。
    • 当没有租约任务时自动启动持续挖矿,有租约任务到来时暂停,租约结束后自动恢复持续挖矿。
    • 新增持续挖矿进程监控:
      • 监听矿工进程退出事件如果在持续挖矿运行且未暂停的情况下进程意外退出5 秒后自动重启持续挖矿。
  • 状态与 UI 展示

    • ClientStatus
      • 新增 sustainingMining 状态,用于表示“持续挖矿中”,在界面上显示为蓝色圆点 + 文案「持续挖矿中」
    • ClientProvider
      • 根据是否有租约任务 / 持续挖矿任务,区分显示:
        • mining:租约挖矿中。
        • sustainingMining:持续挖矿中。
      • 统一通过 _getMiningInfo() 构造当前挖矿信息(支持租约挖矿和持续挖矿),供界面展示。
    • MainScreen
      • “挖矿信息”按钮在以下状态下可用:ClientStatus.miningClientStatus.sustainingMining,并且存在 miningInfo
      • 点击后进入同一套挖矿信息界面。
    • MiningInfoScreen
      • 复用同一界面展示日志和当前任务信息。
      • 当为持续挖矿时,不再显示“结束时间”和“剩余时间”区域,仅展示基本任务信息和日志。