feat(wallet): live progress modal for wallet switching
The "Stop the running node?" confirm modal now stays open through the entire switch — stop → wait-for-exit → start → reconnect — showing a live phase, and auto-closes the moment the new node connects. This turns the up-to-a-minute graceful-shutdown wait from an apparent freeze into visible progress. - WalletSwitchPhase (Stopping/Starting/Reconnecting/Failed) + atomic phase and dialog-open flags; the worker advances the phase, onConnected closes the modal, and a failed switch shows the accurate reason with a Close button. - Owned switches (no confirm) also show the progress modal directly. - "Continue in background" escape hatch so a long rescan / a hung startup never traps the user (the switch keeps running; a toast reports the result). - isWalletSwitchInProgress() keeps the frame loop redrawing so the phase text and spinner animate while otherwise idle. - i18n (EN + 8 languages, additive) + a modal-switch-progress sweep surface. State machine adversarially verified 6/6 (thread-safety, no stuck modal, confirm→progress transition, owned/unowned, no phase leak, redraw scoping). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1294,6 +1294,13 @@
|
||||
"sweep_to": "归集到:",
|
||||
"sweep_toggle": "归集到我的钱包(不保留密钥)",
|
||||
"sweep_tx": "交易:",
|
||||
"switch_progress_background": "在后台继续",
|
||||
"switch_progress_failed_title": "切换钱包失败",
|
||||
"switch_progress_hint": "正常关闭最多可能需要一分钟。",
|
||||
"switch_progress_reconnecting": "正在重新连接",
|
||||
"switch_progress_starting": "正在以新钱包启动节点",
|
||||
"switch_progress_stopping": "正在停止当前节点",
|
||||
"switch_progress_title": "正在切换钱包",
|
||||
"switch_stopnode_body": "切换钱包会以所选钱包重启节点。正在运行的节点将被停止并以新钱包重新启动——如果你是特意让它保持运行的,它会自动重新启动。",
|
||||
"switch_stopnode_confirm": "停止节点并切换",
|
||||
"switch_stopnode_title": "停止正在运行的节点?",
|
||||
|
||||
Reference in New Issue
Block a user