fix settings: missing update_aliases for backup restore

This commit is contained in:
edouardparis 2025-05-21 15:53:55 +02:00
parent dbe9a4ec1d
commit 654be987f2
2 changed files with 16 additions and 3 deletions

View File

@ -9,7 +9,7 @@ use iced::Task;
use liana_ui::{component::form, widget::Element}; use liana_ui::{component::form, widget::Element};
use bitcoind::BitcoindSettingsState; use bitcoind::BitcoindSettingsState;
use wallet::WalletSettingsState; use wallet::{update_aliases, WalletSettingsState};
use crate::{ use crate::{
app::{ app::{
@ -223,7 +223,19 @@ impl State for ImportExportSettingsState {
self.modal = None; self.modal = None;
} }
Message::View(view::Message::ImportExport(m)) => { Message::View(view::Message::ImportExport(m)) => {
if let Some(modal) = self.modal.as_mut() { if let ImportExportMessage::UpdateAliases(aliases) = m {
return Task::perform(
update_aliases(
cache.datadir_path.clone(),
cache.network,
self.wallet.clone(),
None,
aliases.into_iter().map(|(fg, ks)| (fg, ks.name)).collect(),
daemon,
),
Message::WalletUpdated,
);
} else if let Some(modal) = self.modal.as_mut() {
return modal.update(m); return modal.update(m);
}; };
} }

View File

@ -516,9 +516,10 @@ pub async fn update_aliases(
keys_aliases: Vec<(Fingerprint, String)>, keys_aliases: Vec<(Fingerprint, String)>,
daemon: Arc<dyn Daemon + Sync + Send>, daemon: Arc<dyn Daemon + Sync + Send>,
) -> Result<Arc<Wallet>, Error> { ) -> Result<Arc<Wallet>, Error> {
let mut wallet = wallet.as_ref().clone().with_alias(wallet_alias.clone()); let mut wallet = wallet.as_ref().clone();
if let Some(wallet_alias) = wallet_alias.as_ref() { if let Some(wallet_alias) = wallet_alias.as_ref() {
wallet = wallet.with_alias(Some(wallet_alias.clone()));
let network_dir = data_dir.network_directory(network); let network_dir = data_dir.network_directory(network);
let wallet_id = wallet.id(); let wallet_id = wallet.id();
update_settings_file(&network_dir, |mut settings| { update_settings_file(&network_dir, |mut settings| {