commit 627003d498fca722f66ad994e48d696123d27e77
parent 4b1bb014479a6295be06ac23a43dbaf5d9b328b8
Author: triesap <triesap@radroots.dev>
Date: Mon, 19 Jan 2026 17:59:18 +0000
app: write bootstrap data during init
- store default config data after datastore init
- store default app data after config write
- keep init error mapping unchanged
- preserve init state transitions
Diffstat:
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/app/src/init.rs b/app/src/init.rs
@@ -14,7 +14,14 @@ use radroots_app_core::idb::{
};
use radroots_app_core::keystore::{RadrootsClientKeystoreError, RadrootsClientWebKeystoreNostr};
-use crate::{AppConfig, AppConfigError};
+use crate::{
+ app_datastore_write_app_data,
+ app_datastore_write_config,
+ AppAppData,
+ AppConfig,
+ AppConfigData,
+ AppConfigError,
+};
#[cfg(target_arch = "wasm32")]
use leptos::prelude::window;
@@ -162,6 +169,10 @@ pub async fn app_init_backends(config: AppConfig) -> AppInitResult<AppBackends>
.init()
.await
.map_err(AppInitError::Datastore)?;
+ let config_data = AppConfigData::default();
+ let _ = app_datastore_write_config(&datastore, &config.datastore.key_maps, &config_data).await?;
+ let app_data = AppAppData::default();
+ let _ = app_datastore_write_app_data(&datastore, &config.datastore.key_maps, &app_data).await?;
let nostr_keystore = RadrootsClientWebKeystoreNostr::new(Some(config.keystore.nostr_store));
Ok(AppBackends {
config,