| 1 | pub mod setup_application_filesystem; |
| 2 | |
| 3 | use setup_application_filesystem::setup_application_filesystem; |
| 4 | use tauri::App; |
| 5 | |
| 6 | /// Run all setup steps. Called from `tauri::Builder::setup()`. |
| 7 | /// |
| 8 | /// Both steps must run **before** any `onde` / `hf-hub` / `mistral.rs` code, |
| 9 | /// i.e. before the chat `ENGINE` lazily initialises. |
| 10 | pub fn setup(app: &App) -> Result<(), Box<dyn std::error::Error>> { |
| 11 | // Siti runs fully offline. Disable onde's pulse telemetry so no usage |
| 12 | // beacons are ever sent, regardless of whether GresIQ credentials happen |
| 13 | // to be embedded in the onde build. `ChatEngine` reads this env var when |
| 14 | // it lazily initialises its (optional) pulse client. |
| 15 | std::env::set_var("ONDE_DISABLE_PULSE", "1"); |
| 16 | |
| 17 | // Redirect HF_HOME, HF_HUB_CACHE, and TMPDIR into the shared App Group |
| 18 | // container so downloaded models are shared across Onde apps and remain |
| 19 | // writable inside the iOS / macOS sandbox. |
| 20 | setup_application_filesystem(app)?; |
| 21 | |
| 22 | Ok(()) |
| 23 | } |