feat(explorer,keys): distinguish lookup failures; key-export unlock affordance
- Explorer: a hash lookup now tells a transport/RPC failure apart from a genuine not-found (RPC -5/-8), showing "Lookup failed: <friendly error>" instead of "no block or transaction found"; block-detail errors routed through friendlyRpcError. getblock/getblockhash/getrawtransaction calls unchanged. - Key-export: when the wallet is locked, the dialog now says "Unlock your wallet first" with an Unlock button (lite → requestLiteUnlock; full-node → close to reveal the lock screen) instead of a raw error, and the fetching state animates with LoadingDots. The export RPC/args are unchanged. (i18n.cpp carries the additive keys for these and the chat/CSV commits below.) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -268,6 +268,10 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["chat_retry"] = "Retry";
|
||||
strings_["chat_jump_latest"] = "Latest";
|
||||
strings_["chat_empty_title"] = "No conversations yet";
|
||||
strings_["chat_intro_title"] = "How chat works";
|
||||
strings_["chat_intro_body"] = "Messages are end-to-end encrypted and sent as shielded transactions, so only you and your contact can read them. Your chat identity is tied to your wallet seed, so restoring your seed restores your chat address.";
|
||||
strings_["chat_intro_fee"] = "Each message costs a small network fee. Share your chat address to let people start a conversation with you.";
|
||||
strings_["chat_intro_dismiss"] = "Got it";
|
||||
strings_["chat_empty_start"] = "Start one with \"New conversation\".";
|
||||
strings_["chat_copy_my_address"] = "Copy my chat address";
|
||||
strings_["chat_my_address_tip"] = "Share this address so others can message you";
|
||||
@@ -2126,6 +2130,7 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["export_tx_file_fail"] = "Failed to create CSV file";
|
||||
strings_["export_tx_none"] = "No transactions to export";
|
||||
strings_["export_tx_success"] = "Transactions exported successfully";
|
||||
strings_["export_tx_open_folder"] = "Open folder";
|
||||
strings_["export_tx_title"] = "Export Transactions to CSV";
|
||||
|
||||
// --- Import Key Dialog ---
|
||||
@@ -2177,6 +2182,8 @@ void I18n::loadBuiltinEnglish()
|
||||
|
||||
// --- Key Export Dialog ---
|
||||
strings_["key_export_fetching"] = "Fetching key from wallet...";
|
||||
strings_["key_export_fetching_base"] = "Fetching key from wallet";
|
||||
strings_["key_export_unlock_first"] = "Unlock your wallet first, then reveal the key.";
|
||||
strings_["key_export_failed"] = "Couldn't export the key \xE2\x80\x94 unlock the wallet (if encrypted) and try again.";
|
||||
strings_["key_export_private_key"] = "Private Key:";
|
||||
strings_["key_export_private_warning"] = "Keep this key SECRET! Anyone with this key can spend your funds. Never share it online or with untrusted parties.";
|
||||
@@ -2846,6 +2853,7 @@ void I18n::loadBuiltinEnglish()
|
||||
strings_["explorer_invalid_query"] = "Enter a block height or 64-character hash";
|
||||
strings_["explorer_invalid_response"] = "Invalid response from daemon";
|
||||
strings_["explorer_hash_not_found"] = "No block or transaction found for this hash";
|
||||
strings_["explorer_lookup_failed"] = "Lookup failed";
|
||||
strings_["explorer_not_connected"] = "Not connected to daemon — cannot look up a block or transaction hash";
|
||||
strings_["explorer_no_results"] = "No matching cached blocks";
|
||||
strings_["explorer_beyond_tip"] = "Block %d is beyond the chain tip (%d)";
|
||||
|
||||
Reference in New Issue
Block a user