v1.2.0: UX audit — security fixes, accessibility, and polish
Security (P0): - Fix sidebar remaining interactive behind lock screen - Extend auto-lock idle detection to include active widget interactions - Distinguish missing PIN vault from wrong PIN; auto-switch to passphrase Blocking UX (P1): - Add 15s timeout for encryption state check to prevent indefinite loading - Show restart reason in loading overlay after wallet encryption - Add Force Quit button on shutdown screen after 10s - Warn user if embedded daemon fails to start during wizard completion Polish (P2): - Use configured explorer URL in Receive tab instead of hardcoded URL - Increase request memo buffer from 256 to 512 bytes to match Send tab - Extend notification duration to 5s for critical operations (tx sent, wallet encrypted, key import, backup, export) - Add Reduce Motion accessibility setting (disables page fade + balance lerp) - Show estimated remaining time during mining thread benchmark - Add staleness indicator to market price data (warning after 5 min) New i18n keys: incorrect_pin, incorrect_passphrase, pin_not_set, restarting_after_encryption, force_quit, reduce_motion, tt_reduce_motion, ago, wizard_daemon_start_failed
This commit is contained in:
@@ -1186,6 +1186,7 @@ void App::refreshPrice()
|
||||
state_.market.volume_24h = market.volume_24h;
|
||||
state_.market.market_cap = market.market_cap;
|
||||
state_.market.last_updated = market.last_updated;
|
||||
state_.market.last_fetch_time = std::chrono::steady_clock::now();
|
||||
|
||||
state_.market.price_history.push_back(market.price_usd);
|
||||
if (state_.market.price_history.size() > MarketInfo::MAX_HISTORY) {
|
||||
|
||||
Reference in New Issue
Block a user