rwadurian/frontend
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
..
.claude refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
admin-web feat(mining-app): improve UX with non-blocking splash and skeleton loading 2026-01-12 21:48:31 -08:00
mining-admin-web feat(admin-web): P2P划转记录管理页面 + 手续费汇总 2026-01-30 10:41:55 -08:00
mining-app fix(mining-app): 更新弹窗点击"立即更新"无反应 — 进度流订阅竞态修复 2026-01-30 12:24:47 -08:00
mobile-app chore(mobile-app): 更新开屏静态图片 2026-01-09 10:42:53 -08:00
mobile-upgrade fix(mobile-upgrade): 自动解包 mining-admin-service TransformInterceptor 响应 2026-01-29 13:01:12 -08:00
temp_backup refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
README.MD . 2025-11-25 10:17:37 +08:00

README.MD