v0.1.0-pre.055

This commit is contained in:
2026-07-26 13:58:14 +02:00
parent 068eb9ece5
commit a3ce8d733f
44 changed files with 7507 additions and 8271 deletions

View File

@@ -1,5 +1,5 @@
// file: kb-app-demo-desktop/src/app_state.rs
// version: 8
// version: 9
//! Shared Tauri application state and startup initialization.
@@ -28,9 +28,12 @@ pub(crate) struct AppState {
impl crate::AppState {
/// Initializes configuration, logging and shared runtime state.
pub(crate) fn initialize() -> kb_core::Result<crate::AppState> {
load_workspace_dotenv();
let config_path = resolve_config_path();
let app_config = match kb_config::read_config_json_file(&config_path) {
let workspace_root = crate::workspace_root_dir();
let app_config = match kb_config::read_config_json_file_with_environment(
&config_path,
&workspace_root,
) {
std::result::Result::Ok(config) => config,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
@@ -180,23 +183,6 @@ impl crate::AppState {
}
}
fn load_workspace_dotenv() {
let workspace_path = crate::workspace_root_dir().join(".env");
load_dotenv_path(&workspace_path);
let desktop_path = crate::workspace_root_dir().join("kb-app-demo-desktop/.env");
load_dotenv_path(&desktop_path);
}
fn load_dotenv_path(path: &std::path::Path) {
let result = dotenvy::from_path(path);
if let std::result::Result::Err(error) = result {
if matches!(error, dotenvy::Error::Io(ref io_error) if io_error.kind() == std::io::ErrorKind::NotFound) {
return;
}
eprintln!("cannot load {}: {error}", path.display());
}
}
fn convert_logging_config(config: &kb_config::LoggingConfig) -> kb_logging::LoggingConfig {
let mut targets = std::vec::Vec::<kb_logging::LogTargetConfig>::new();
for target in &config.targets {

View File

@@ -65,8 +65,8 @@ pub(crate) fn open_sql_demo_window(
tauri::WebviewUrl::App(html_path.into()),
)
.title(title)
.inner_size(1220.0, 780.0)
.min_inner_size(920.0, 560.0)
.inner_size(1500.0, 960.0)
.min_inner_size(1024.0, 768.0)
.resizable(true)
.visible(true);
let build_result = builder.build();

View File

@@ -243,9 +243,9 @@ fn open_demo_core_extraction_window(
"demo_core_extraction",
tauri::WebviewUrl::App("demo_core_extraction.html".into()),
)
.title("Khadhroony Bot3 - Extraction canonical vers core")
.inner_size(1280.0, 860.0)
.min_inner_size(960.0, 620.0)
.title("Extraction canonical vers core")
.inner_size(1500.0, 960.0)
.min_inner_size(1024.0, 768.0)
.resizable(true)
.visible(true)
.build();
@@ -354,9 +354,9 @@ fn open_demo_decode_replay_window(
"demo_decode_replay",
tauri::WebviewUrl::App("demo_decode_replay.html".into()),
)
.title("Khadhroony Bot3 - Décodage et matérialisation")
.inner_size(1320.0, 900.0)
.min_inner_size(980.0, 660.0)
.title("Décodage et matérialisation")
.inner_size(1500.0, 960.0)
.min_inner_size(1024.0, 768.0)
.resizable(true)
.visible(true)
.build();
@@ -669,9 +669,9 @@ fn open_demo_config_window(
"demo_config",
tauri::WebviewUrl::App("demo_config.html".into()),
)
.title("Khadhroony Bot3 - Configuration")
.inner_size(1280.0, 820.0)
.min_inner_size(960.0, 640.0);
.title("Configuration")
.inner_size(1500.0, 960.0)
.min_inner_size(1024.0, 768.0);
let window = match builder.build() {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => {
@@ -734,9 +734,9 @@ fn open_demo_backfill_window(
"demo_backfill",
tauri::WebviewUrl::App("demo_backfill.html".into()),
)
.title("Khadhroony Bot3 - Backfill HTTP")
.inner_size(1280.0, 860.0)
.min_inner_size(960.0, 620.0)
.title("Backfill HTTP")
.inner_size(1500.0, 960.0)
.min_inner_size(1024.0, 768.0)
.resizable(true)
.visible(true)
.build();
@@ -849,9 +849,9 @@ fn open_demo_http_window(
"demo_http",
tauri::WebviewUrl::App("demo_http.html".into()),
)
.title("Khadhroony Bot3 - HTTP JSON-RPC")
.inner_size(1280.0, 860.0)
.min_inner_size(960.0, 620.0)
.title("HTTP JSON-RPC")
.inner_size(1500.0, 960.0)
.min_inner_size(1024.0, 768.0)
.resizable(true)
.visible(true)
.build();
@@ -912,9 +912,9 @@ fn open_demo_ws_window(
"demo_ws",
tauri::WebviewUrl::App("demo_ws.html".into()),
)
.title("Khadhroony Bot3 - WebSocket standard")
.inner_size(1200.0, 760.0)
.min_inner_size(920.0, 560.0)
.title("WebSocket standard")
.inner_size(1500.0, 960.0)
.min_inner_size(1024.0, 768.0)
.resizable(true)
.visible(true)
.build();
@@ -1011,7 +1011,7 @@ fn open_demo_sql_diag_window(
app_handle,
"demo_sql_diag",
"demo_sql_diag.html",
"Khadhroony Bot3 - SQL diagnostics",
"SQL diagnostics",
);
}
@@ -1061,7 +1061,7 @@ fn open_demo_sql_pg_raw_window(
app_handle,
"demo_sql_pg_raw",
"demo_sql_pg_raw.html",
"Khadhroony Bot3 - PostgreSQL canonical acquisition",
"PostgreSQL canonical acquisition",
);
}
@@ -1098,7 +1098,7 @@ fn open_demo_sql_pg_core_window(
app_handle,
"demo_sql_pg_core",
"demo_sql_pg_core.html",
"Khadhroony Bot3 - PostgreSQL core store",
"PostgreSQL core store",
);
}
@@ -1135,7 +1135,7 @@ fn open_demo_sql_replay_candidates_window(
app_handle,
"demo_sql_replay_candidates",
"demo_sql_replay_candidates.html",
"Khadhroony Bot3 - SQL replay candidates",
"SQL replay candidates",
);
}
@@ -1358,9 +1358,9 @@ fn open_demo_execution_solana_core_window(
"demo_execution_solana_core",
tauri::WebviewUrl::App("demo_execution_solana_core.html".into()),
)
.title("Khadhroony Bot3 - Exécution Solana Devnet")
.inner_size(1360.0, 920.0)
.min_inner_size(1040.0, 700.0)
.title("Exécution Solana Devnet")
.inner_size(1500.0, 960.0)
.min_inner_size(1024.0, 768.0)
.resizable(true)
.visible(true)
.build();
@@ -1650,9 +1650,9 @@ fn open_demo_execution_spl_window(
"demo_execution_spl",
tauri::WebviewUrl::App("demo_execution_spl.html".into()),
)
.title("Khadhroony Bot3 - Exécution SPL Devnet")
.title("Exécution SPL Devnet")
.inner_size(1500.0, 960.0)
.min_inner_size(1120.0, 720.0)
.min_inner_size(1024.0, 768.0)
.resizable(true)
.visible(true)
.build();