{"record":{"id":"28af660fe6ddad91","repo":"Hmbown/CodeWhale","slug":"failed-to-update-setting-invalid-rail-panel-val","errorCode":null,"errorMessage":"Failed to update setting: invalid rail panel '{value}'. Expected: tasks, agents, context, or pinned.","messagePattern":"Failed to update setting: invalid rail panel '(.+?)'\\. Expected: tasks, agents, context, or pinned\\.","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/settings.rs","lineNumber":1275,"sourceCode":"                }\n                self.focus_texture = normalized;\n            }\n            \"work_surface_placement\" | \"work_surface\" | \"work_rail\" => {\n                let normalized = value.trim().to_ascii_lowercase();\n                if !matches!(normalized.as_str(), \"top\" | \"left\" | \"right\" | \"off\") {\n                    anyhow::bail!(\n                        \"Failed to update setting: invalid work surface placement '{value}'. Expected: top, left, right, or off.\"\n                    );\n                }\n                self.work_surface_placement = normalized;\n            }\n            \"rail_panel\" | \"rail\" => {\n                let normalized = value.trim().to_ascii_lowercase();\n                if !matches!(\n                    normalized.as_str(),\n                    \"tasks\" | \"agents\" | \"context\" | \"pinned\"\n                ) {\n                    anyhow::bail!(\n                        \"Failed to update setting: invalid rail panel '{value}'. Expected: tasks, agents, context, or pinned.\"\n                    );\n                }\n                self.rail_panel = normalized;\n                self.rail_panel_explicit = true;\n            }\n            \"work_surface_top_height\" | \"work_top_height\" => {\n                self.work_surface_top_height = parse_u16_range(\n                    \"work_surface_top_height\",\n                    value,\n                    WORK_SURFACE_TOP_HEIGHT_MIN,\n                    WORK_SURFACE_TOP_HEIGHT_MAX,\n                )?;\n            }\n            \"work_surface_side_width\" | \"work_side_width\" => {\n                self.work_surface_side_width =\n                    parse_u16_range(\"work_surface_side_width\", value, 26, 80)?;\n            }","sourceCodeStart":1257,"sourceCodeEnd":1293,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/settings.rs#L1257-L1293","documentation":"Settings update validation for the rail panel key: the normalized value matched none of the accepted rail panels (tasks, agents, context, pinned). Fired from the generic settings setter, so it is a key/value validation error, not a state problem.","triggerScenarios":"Thrown at crates/tui/src/settings.rs:1275 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set the rail panel to tasks, agents, context, or pinned"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0c42157ee52f9d55af2b506d71b46249910f77d3","analyzedAt":"2026-08-20T21:50:45.477Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}