app

Local-first trade for farms and co-ops
git clone https://radroots.dev/git/app.git
Log | Files | Refs | README | LICENSE

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:
Mapp/src/init.rs | 13++++++++++++-
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,