commit e46c61c61c9de9a031e2a9a05d4a1874d244ac44
parent 19234ef5e7315794e742fba4b79a7993d31cb935
Author: triesap <tyson@radroots.org>
Date: Sun, 12 Apr 2026 04:57:54 +0000
launchers: use shared accounts bootstrap helpers
Diffstat:
3 files changed, 19 insertions(+), 24 deletions(-)
diff --git a/crates/launchers/android/src/storage.rs b/crates/launchers/android/src/storage.rs
@@ -1,16 +1,12 @@
-use radroots_app_core::mobile_native_app_storage_layout;
#[cfg(target_os = "android")]
use radroots_app_android_security::{
ANDROID_NOSTR_SERVICE, RadrootsAndroidKeystoreVault, resolve_radroots_base_root,
};
+use radroots_app_core::mobile_native_app_storage_layout;
#[cfg(target_os = "android")]
-use radroots_nostr_accounts::prelude::{
- RadrootsNostrAccountsManager, RadrootsNostrFileAccountStore,
-};
+use radroots_nostr_accounts::prelude::RadrootsNostrAccountsManager;
use radroots_runtime_paths::{RadrootsPaths, RadrootsPlatform};
use std::path::{Path, PathBuf};
-#[cfg(target_os = "android")]
-use std::sync::Arc;
fn app_paths_from_base_root(base_root: &Path) -> Result<RadrootsPaths, String> {
Ok(mobile_native_app_storage_layout(RadrootsPlatform::Android, base_root)?.app_paths)
@@ -36,9 +32,11 @@ pub(crate) fn accounts_path() -> Result<PathBuf, String> {
#[cfg(target_os = "android")]
pub(crate) fn accounts_manager() -> Result<RadrootsNostrAccountsManager, String> {
- let store = Arc::new(RadrootsNostrFileAccountStore::new(accounts_path()?));
- let vault = Arc::new(RadrootsAndroidKeystoreVault::new(ANDROID_NOSTR_SERVICE));
- RadrootsNostrAccountsManager::new(store, vault).map_err(|source| source.to_string())
+ RadrootsNostrAccountsManager::new_file_backed_with_vault(
+ accounts_path()?,
+ RadrootsAndroidKeystoreVault::new(ANDROID_NOSTR_SERVICE),
+ )
+ .map_err(|source| source.to_string())
}
pub(crate) fn app_data_root_from_base_root(base_root: &Path) -> Result<PathBuf, String> {
diff --git a/crates/launchers/desktop/src/main.rs b/crates/launchers/desktop/src/main.rs
@@ -21,11 +21,10 @@ use radroots_app_core::{
use radroots_identity::RadrootsIdentity;
#[cfg(target_os = "macos")]
use radroots_nostr_accounts::prelude::{
- RadrootsNostrAccountsManager, RadrootsNostrFileAccountStore, RadrootsNostrSelectedAccountStatus,
+ RadrootsNostrAccountsManager, RadrootsNostrSelectedAccountStatus,
};
use radroots_runtime_paths::{RadrootsPathResolver, RadrootsPaths};
use std::path::{Path, PathBuf};
-use std::sync::Arc;
#[cfg(target_os = "macos")]
use zeroize::Zeroizing;
@@ -161,9 +160,11 @@ impl DesktopBackend {
Self::ensure_private_directory_tree(parent)?;
}
- let store = Arc::new(RadrootsNostrFileAccountStore::new(accounts_path));
- let vault = Arc::new(RadrootsAppleKeychainVault::new_desktop(APPLE_NOSTR_SERVICE));
- RadrootsNostrAccountsManager::new(store, vault).map_err(|source| source.to_string())
+ RadrootsNostrAccountsManager::new_file_backed_with_vault(
+ accounts_path,
+ RadrootsAppleKeychainVault::new_desktop(APPLE_NOSTR_SERVICE),
+ )
+ .map_err(|source| source.to_string())
}
#[cfg(target_os = "macos")]
diff --git a/crates/launchers/ios/src/storage.rs b/crates/launchers/ios/src/storage.rs
@@ -2,13 +2,9 @@
use radroots_app_apple_security::{APPLE_NOSTR_SERVICE, RadrootsAppleKeychainVault};
use radroots_app_core::mobile_native_app_storage_layout;
#[cfg(target_os = "ios")]
-use radroots_nostr_accounts::prelude::{
- RadrootsNostrAccountsManager, RadrootsNostrFileAccountStore,
-};
+use radroots_nostr_accounts::prelude::RadrootsNostrAccountsManager;
use radroots_runtime_paths::{RadrootsPaths, RadrootsPlatform};
use std::path::{Path, PathBuf};
-#[cfg(target_os = "ios")]
-use std::sync::Arc;
fn mobile_base_root_from_home(home: &Path) -> PathBuf {
home.join("Library")
@@ -45,11 +41,11 @@ pub(crate) fn app_data_root() -> Result<PathBuf, String> {
#[cfg(target_os = "ios")]
pub(crate) fn accounts_manager() -> Result<RadrootsNostrAccountsManager, String> {
- let store = Arc::new(RadrootsNostrFileAccountStore::new(accounts_path()?));
- let vault = Arc::new(RadrootsAppleKeychainVault::new_device_local(
- APPLE_NOSTR_SERVICE,
- ));
- RadrootsNostrAccountsManager::new(store, vault).map_err(|source| source.to_string())
+ RadrootsNostrAccountsManager::new_file_backed_with_vault(
+ accounts_path()?,
+ RadrootsAppleKeychainVault::new_device_local(APPLE_NOSTR_SERVICE),
+ )
+ .map_err(|source| source.to_string())
}
fn accounts_path_from_home(home: &Path) -> Result<PathBuf, String> {