Zackriya-Solutions/meetily · error · anyhow::Error
Failed to access onboarding store: {}
Error message
Failed to access onboarding store: {} What it means
app.store("onboarding-status.json") returned an error while getting/creating the Tauri store in save_onboarding_status. In Tauri 2 this fails when the store plugin is not registered on the builder, or when the store file cannot be created/opened (permissions, disk, corrupt JSON).
Source
Thrown at frontend/src-tauri/src/onboarding.rs:89
} else {
info!("No stored onboarding status found, using defaults");
OnboardingStatus::default()
};
Ok(status)
}
/// Save onboarding status to store
pub async fn save_onboarding_status<R: Runtime>(
app: &AppHandle<R>,
status: &OnboardingStatus,
) -> Result<()> {
info!("Saving onboarding status: step={}, completed={}",
status.current_step, status.completed);
// Get or create store
let store = app.store("onboarding-status.json")
.map_err(|e| anyhow::anyhow!("Failed to access onboarding store: {}", e))?;
// Update last_updated timestamp
let mut status = status.clone();
status.last_updated = chrono::Utc::now().to_rfc3339();
// Serialize status to JSON value
let status_value = serde_json::to_value(&status)
.map_err(|e| anyhow::anyhow!("Failed to serialize onboarding status: {}", e))?;
// Save to store
store.set("status", status_value);
// Persist to disk
store.save()
.map_err(|e| anyhow::anyhow!("Failed to save onboarding store to disk: {}", e))?;
info!("Successfully persisted onboarding status to disk");
Ok(())View on GitHub (pinned to 0281737d87)
Solutions
- Register the store plugin in the Tauri builder: .plugin(tauri_plugin_store::Builder::new().build())
- Check the app config dir is writable and has space
- Delete/rename a corrupted onboarding-status.json so it is recreated
- Ensure a single app instance (or accept last-writer-wins) for store files
Defensive patterns
Strategy: try-catch
Try / catch
match app.store("onboarding-status.json") {
Ok(store) => { /* set + save */ }
Err(e) => {
error!("Onboarding store unavailable: {e}");
// keep onboarding state in memory; persist on next successful open
}
} Prevention
- Register tauri_plugin_store in the Tauri builder before shipping
- Add an integration test that opens every store path the app uses
- Recreate corrupted store files instead of failing the flow
When it happens
Trigger: Calling save_onboarding_status in a build where tauri_plugin_store was never registered via .plugin(...); the app config directory is read-only or full; onboarding-status.json exists but is corrupted so opening it fails.
Common situations: Adding onboarding code without wiring the store plugin; packaged app writing to a sandboxed/protected dir; two instances racing on the same store file.
Related errors
- Failed to access store: {}
- Failed to save onboarding store to disk: {}
- Failed to save onboarding store after reset: {}
- Failed to save store to disk: {}
- No meeting ID received from save operation
AI-assisted analysis of Zackriya-Solutions/meetily@0281737d87 (2026-08-16).
Data as JSON: /api/errors/93a6a4f6bceaeb10.
Report an issue: GitHub.