rwadurian/frontend/mining-app
hailin cfa0e2ca40 fix(mining-app): 更新弹窗点击"立即更新"无反应 — 进度流订阅竞态修复
问题根因:
SelfHostedUpdater._listenToProgress() 在 initState 和 _startDownload 中
订阅 UpdateService.downloadProgressStream,但该 getter 返回
_downloadManager?.progressStream —— _downloadManager 在 downloadUpdate()
调用前为 null,?.listen 无操作。downloadUpdate() 创建新 _downloadManager
后,其 progressStream 无人监听,进度事件全部丢失,UI 无任何反馈。

修复:
1. UpdateService 新增持久化广播流 _downloadProgressController,
   downloadUpdate() 创建新 DownloadManager 后将其进度转发到此流
2. downloadProgressStream getter 改为返回持久化流(非 nullable)
3. SelfHostedUpdater 在 initState 中一次性订阅持久化流,
   dispose 时取消订阅,_startDownload 不再重复订阅

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 12:24:47 -08:00
..
android feat(mining-app): 添加自动版本号增长机制 2026-01-29 21:32:15 -08:00
assets fix(mining-app): 添加assets/images目录 2026-01-11 08:12:29 -08:00
ios chore(app): rename app to 股行 2026-01-16 23:50:23 -08:00
lib fix(mining-app): 更新弹窗点击"立即更新"无反应 — 进度流订阅竞态修复 2026-01-30 12:24:47 -08:00
scripts feat(mining-app): 添加自动版本号增长机制 2026-01-29 21:32:15 -08:00
test refactor(frontend): replace all '榴莲' references with '股行' 2026-01-19 04:33:47 -08:00
.gitignore feat(mining-app): 添加自动版本号增长机制 2026-01-29 21:32:15 -08:00
.metadata feat(mining-app): 添加Android/iOS平台配置和编译支持 2026-01-11 08:06:53 -08:00
DEVELOPMENT_GUIDE.md refactor(mining-app): rename 绿积分 to 积分值 across all pages 2026-01-14 19:57:17 -08:00
README.md feat(mining-app): 添加Android/iOS平台配置和编译支持 2026-01-11 08:06:53 -08:00
analysis_options.yaml feat(mining-ecosystem): 添加挖矿生态系统完整微服务与前端 2026-01-10 17:45:46 -08:00
pubspec.yaml feat: 集成 mining-app 升级和遥测功能,扩展 mobile-upgrade 支持多应用 2026-01-28 20:03:26 -08:00

README.md

mining_app

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.