{"record":{"id":"d5e12797c0fbb2a8","repo":"cjpais/Handy","slug":"failed-to-initialize-store","errorCode":null,"errorMessage":"Failed to initialize store","messagePattern":"Failed to initialize store","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-tauri/src/settings.rs","lineNumber":959,"sourceCode":"        self.post_process_providers\n            .iter_mut()\n            .find(|provider| provider.id == provider_id)\n    }\n}\n\n/// Startup entry point. Same load-or-create/salvage/migrate behavior as\n/// `get_settings`; kept as a named alias for call-site clarity, plus a\n/// one-time debug dump of the loaded settings.\npub fn load_or_create_app_settings(app: &AppHandle) -> AppSettings {\n    let settings = get_settings(app);\n    debug!(\"Loaded settings: {:?}\", settings);\n    settings\n}\n\npub fn get_settings(app: &AppHandle) -> AppSettings {\n    let store = app\n        .store(crate::portable::store_path(SETTINGS_STORE_PATH))\n        .expect(\"Failed to initialize store\");\n\n    // Settings reads also persist one-time migrations. Migration helpers are\n    // idempotent, so this converges after the first read of an older store.\n    let mut settings = if let Some(settings_value) = store.get(\"settings\") {\n        let (mut settings, mut updated) =\n            match serde_json::from_value::<AppSettings>(settings_value.clone()) {\n                Ok(settings) => (settings, false),\n                Err(e) => {\n                    warn!(\"Failed to parse stored settings ({e}); salvaging valid fields\");\n                    (salvage_settings(&settings_value), true)\n                }\n            };\n\n        if apply_settings_migrations(&mut settings, &settings_value) {\n            updated = true;\n        }\n\n        // Merge in any bindings added since this store was written.","sourceCodeStart":941,"sourceCodeEnd":977,"githubUrl":"https://github.com/cjpais/Handy/blob/98a4d80cce8ad41efec2a419b59d9e81229a35d7/src-tauri/src/settings.rs#L941-L977","documentation":"Error \"Failed to initialize store\" thrown in cjpais/Handy.","triggerScenarios":"Thrown at src-tauri/src/settings.rs:959 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"98a4d80cce8ad41efec2a419b59d9e81229a35d7","analyzedAt":"2026-08-16T20:58:09.966Z","schemaVersion":2},"datasetVersion":"2026-08-16T23:17:17.608Z"}