{"record":{"id":"de0bbba1c9c3855d","repo":"zed-industries/zed","slug":"unknown-layout","errorCode":null,"errorMessage":"Unknown layout: `{}`","messagePattern":"Unknown layout: `(.+?)`","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/picker/src/persistence.rs","lineNumber":121,"sourceCode":"    format!(\"{picker_delegate}/LAST_PREVIEW_LAYOUT\")\n}\n\nfn layout_as_str(layout: Option<preview::Layout>) -> &'static str {\n    match layout {\n        Some(preview::Layout::Hidden) => \"hidden\",\n        Some(preview::Layout::Below) => \"below\",\n        Some(preview::Layout::Right) => \"right\",\n        None => \"none\",\n    }\n}\n\nfn parse_layout(s: &str) -> anyhow::Result<Option<preview::Layout>> {\n    Ok(Some(match s {\n        \"hidden\" => preview::Layout::Hidden,\n        \"below\" => preview::Layout::Below,\n        \"right\" => preview::Layout::Right,\n        \"none\" => return Ok(None),\n        _ => return Err(anyhow!(\"Unknown layout: `{}`\", s)),\n    }))\n}\n\n/// A resized picker for persisting its size. All values are stored as fractions\n/// of the viewport so they remain meaningful across window sizes.\n#[derive(Clone, Copy, serde::Serialize, serde::Deserialize)]\npub(crate) struct PickerConfig {\n    width: f32,        // relative fraction of viewport\n    height: f32,       // relative fraction of viewport\n    preview_size: f32, // relative fraction of viewport\n}\n\nimpl PickerConfig {\n    pub(crate) fn from_centered(shape: Centered, window: &Window) -> Self {\n        PickerConfig {\n            width: shape.width.as_viewport_fraction(window).raw(),\n            height: shape.height.as_viewport_fraction(window).raw(),\n            preview_size: shape.preview_size.raw(),","sourceCodeStart":103,"sourceCodeEnd":139,"githubUrl":"https://github.com/zed-industries/zed/blob/9d272b036335401f339d024ea94968fd51016c40/crates/picker/src/persistence.rs#L103-L139","documentation":"parse_layout encountered a persisted preview layout string that matches none of the known values ('hidden', 'below', 'right', 'none'). The saved settings value is from a newer version or was hand-edited, so it cannot be mapped back to a preview::Layout.","triggerScenarios":"Thrown at crates/picker/src/persistence.rs:116 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Reset the corrupted settings entry so a valid layout is persisted next time","If introduced by an upgrade, add the new layout keyword to parse_layout or migrate the stored value"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9d272b036335401f339d024ea94968fd51016c40","analyzedAt":"2026-08-20T19:29:52.058Z","contentChangedAt":"2026-08-20T19:29:52.058Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}