fix(wallet): correct Compact's behaviour with an external daemon
Compact rewrites wallet.dat by restarting the node with -salvagewallet, which the wallet can only do for the EMBEDDED node it manages. When the wallet is connected to a dragonxd the user started themselves (use-embedded off, or it attached to an already-running node), daemon_controller_ is null — and compactWallet() fired the misleading "unavailable in lite build" warning even on a full-node wallet. Now: a precise App::canCompactWallet() (full-node AND embedded AND a live controller) disables the Compact button for an external/standalone daemon with a tooltip, and compactWallet() refuses with an accurate message (compact_needs_ embedded) that tells the user to enable "Use embedded dragonxd" or restart their dragonxd with -salvagewallet themselves. The lite-build path keeps its own message. New string compact_needs_embedded (English; 8 locales fall back). Build + tests + hygiene green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -885,6 +885,7 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["confirm_compact_wallet_msg"] = "Consolidating merged your notes, but the wallet file can't shrink on its own \xE2\x80\x94 the node has to rewrite it to reclaim the freed space. This restarts the node and re-scans the blockchain, which can take a while on a large wallet.";
|
||||
strings_["confirm_compact_wallet_safe"] = "Your funds and balance are safe \xE2\x80\x94 a timestamped backup of the current wallet is kept.";
|
||||
strings_["compact_wallet_confirm"] = "Compact";
|
||||
strings_["compact_needs_embedded"] = "Compacting rewrites wallet.dat, which the wallet can only do with its built-in node. You're connected to a dragonxd you started yourself \xE2\x80\x94 turn on \"Use embedded dragonxd\" in Settings, or restart your dragonxd with -salvagewallet to reclaim the space.";
|
||||
strings_["settings_debug_changed"] = "Debug categories changed \xe2\x80\x94 restart daemon to apply";
|
||||
strings_["settings_auto_detected"] = "Auto-detected from DRAGONX.conf";
|
||||
strings_["settings_visual_effects"] = "Visual Effects";
|
||||
|
||||
Reference in New Issue
Block a user