{"record":{"id":"f471ba2f15fefb59","repo":"zed-industries/zed","slug":"no-onboarding-page-to-deserialize","errorCode":null,"errorMessage":"No onboarding page to deserialize","messagePattern":"No onboarding page to deserialize","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/onboarding/src/onboarding.rs","lineNumber":623,"sourceCode":"            &persistence::OnboardingPagesDb::global(cx),\n            cx,\n        )\n    }\n\n    fn deserialize(\n        _project: Entity<project::Project>,\n        workspace: WeakEntity<Workspace>,\n        workspace_id: workspace::WorkspaceId,\n        item_id: workspace::ItemId,\n        window: &mut Window,\n        cx: &mut App,\n    ) -> gpui::Task<gpui::Result<Entity<Self>>> {\n        let db = persistence::OnboardingPagesDb::global(cx);\n        window.spawn(cx, async move |cx| {\n            if let Some(_) = db.get_onboarding_page(item_id, workspace_id)? {\n                workspace.update(cx, |workspace, cx| Onboarding::new(workspace, cx))\n            } else {\n                Err(anyhow::anyhow!(\"No onboarding page to deserialize\"))\n            }\n        })\n    }\n\n    fn serialize(\n        &mut self,\n        workspace: &mut Workspace,\n        item_id: workspace::ItemId,\n        _closing: bool,\n        _window: &mut Window,\n        cx: &mut ui::Context<Self>,\n    ) -> Option<gpui::Task<gpui::Result<()>>> {\n        let workspace_id = workspace.database_id()?;\n\n        let db = persistence::OnboardingPagesDb::global(cx);\n        Some(\n            cx.background_spawn(\n                async move { db.save_onboarding_page(item_id, workspace_id).await },","sourceCodeStart":605,"sourceCodeEnd":641,"githubUrl":"https://github.com/zed-industries/zed/blob/f4178619acd0d47ea1f76a2025c42962c6d6638c/crates/onboarding/src/onboarding.rs#L605-L641","documentation":"Restore guard in Onboarding::deserialize: workspace serialization asked this item type to deserialize itself, but OnboardingPagesDb has no persisted onboarding page for the given item/workspace id, so the item cannot be restored. Expected when the onboarding tab state was never saved or was cleared.","triggerScenarios":"Thrown at crates/onboarding/src/onboarding.rs:623 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reopen onboarding from the welcome/agent panel instead of restoring the old tab","Ignore if it appears during workspace restore of a closed onboarding page"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f4178619acd0d47ea1f76a2025c42962c6d6638c","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}