feat(mining): persistent start/stop error caption + timeout-aware pool status
- A mining start/stop/pool failure now sets a persistent App::mining_last_error_ (cleared on the next attempt), rendered as a red caption with "Press Mine to try again" below the Mine button (plus a Dismiss, and a Windows-Defender "How to fix" on an AV block), so a crashed/blocked/failed miner is no longer just a button that "did nothing" once its toast faded. Two more hardcoded English strings (pool-payout-invalid, AV-blocked) moved to i18n. - Pool connection status is now a persistent "Status" row in the pool stats card (PoolMiningState.running_since / last_error): it flips from "Connecting…" to "Can't reach pool — check the URL" after a 30s timeout instead of sitting on red forever, and no longer vanishes once logs arrive. The old transient banner in mining_tab.cpp was removed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1957,6 +1957,11 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["toast_pool_connecting"] = "Starting pool miner — connecting to the pool…";
|
||||
strings_["toast_not_connected_daemon"] = "Not connected to the node.";
|
||||
strings_["toast_mining_failed"] = "Couldn't start mining: ";
|
||||
strings_["toast_pool_payout_invalid"] = "Pool payout address is not a valid DragonX address — mining not started.";
|
||||
strings_["toast_av_blocked_xmrig"] = "Windows Defender blocked the miner. Add an exclusion for %APPDATA%\\ObsidianDragon.";
|
||||
strings_["mining_error_retry_hint"] = "Press Mine to try again.";
|
||||
strings_["mining_error_av_help"] = "How to fix";
|
||||
strings_["mining_error_dismiss"] = "Dismiss";
|
||||
strings_["toast_stop_mining_failed"] = "Couldn't stop mining: ";
|
||||
strings_["toast_pool_start_failed"] = "Couldn't start the pool miner: ";
|
||||
strings_["toast_ban_failed"] = "Couldn't ban the peer: ";
|
||||
@@ -2258,6 +2263,11 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["mining_click_copy_difficulty"] = "Click to copy difficulty";
|
||||
strings_["mining_connected"] = "Connected";
|
||||
strings_["mining_connecting"] = "Connecting...";
|
||||
strings_["mining_status_label"] = "Status";
|
||||
strings_["mining_status_connected"] = "Connected";
|
||||
strings_["mining_status_connecting"] = "Connecting…";
|
||||
strings_["mining_status_stopped"] = "Stopped";
|
||||
strings_["mining_pool_unreachable"] = "Can't reach pool — check the URL";
|
||||
strings_["mining_difficulty_copied"] = "Difficulty copied";
|
||||
strings_["mining_est_block"] = "Est. Block";
|
||||
strings_["mining_est_daily"] = "Est. Daily";
|
||||
|
||||
Reference in New Issue
Block a user