fix(diagnostics): address adversarial review of the QoL UI (popup, staleness, DPI, i18n)
Follow-up to the node-banner / staleness-badge / alert-history features — a 5-dimension finder->verify review surfaced 4 real issues (the ImGui-stack-balance finder found none): - Alert popup grew off the right edge: pivot (0,1) pinned the panel's LEFT edge at the bell, which sits near the window's right edge, so a 320px panel overflowed rightward (an explicit SetNextWindowPos pivot skips ImGui's on-screen clamp). Anchor the bottom-RIGHT corner at the bell instead (pivot (1,1) at bellMax.x) so it grows left. - Staleness badge could flash red on reconnect: WalletState::clear() reset everything except the four last_*_update stamps, so the pre-outage timestamp survived and the badge briefly showed "Updated Nm ago" the same frame the node banner cleared. Zero the stamps in clear() (all readers treat 0 as "never"; app_network.cpp:1473 guards != 0). - Banner min-height floor wasn't DPI-scaled: std::max(minH, baseH*vScale()) now uses minH * dpiScale() so both operands are in scaled px. - New i18n keys weren't in res/lang/: back-filled all 16 diagnostics/QoL keys into the 8 language files, additively (128 insertions, 0 deletions). zh/ja/ko reworded around 2 glyphs missing from the CJK subset and hard-asserted tofu-free against the subset font. Build-clean both variants; ctest 1/1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -339,6 +339,11 @@ struct WalletState {
|
||||
// stops), so leaving the previous wallet's hashrate/blocks would show stale mining stats.
|
||||
mining = MiningInfo{};
|
||||
pool_mining = PoolMiningState{};
|
||||
// After a disconnect / wallet switch nothing is freshly known, so drop the "last successful
|
||||
// refresh" stamps. Otherwise the pre-teardown time survives and, on reconnect, the staleness
|
||||
// badge (and any "updated X ago" reader) briefly reports it as current until the first refresh
|
||||
// re-stamps it. All readers treat 0 as "never" (formatTimeAgoShort/timeAgo return "").
|
||||
last_balance_update = last_tx_update = last_peer_update = last_mining_update = 0;
|
||||
}
|
||||
|
||||
// Rebuild combined addresses list from z/t lists
|
||||
|
||||
Reference in New Issue
Block a user