{"record":{"id":"f2c8c35ab8f17791","repo":"Hmbown/CodeWhale","slug":"failed-to-update-setting-invalid-status-indicator","errorCode":null,"errorMessage":"Failed to update setting: invalid status indicator '{value}'. Expected: cw, whale, dots, off.","messagePattern":"Failed to update setting: invalid status indicator '(.+?)'\\. Expected: cw, whale, dots, off\\.","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/settings.rs","lineNumber":1397,"sourceCode":"                }\n                self.composer_vim_mode = normalized;\n            }\n            \"transcript_spacing\" | \"spacing\" => {\n                let normalized = normalize_transcript_spacing(value);\n                if ![\"compact\", \"comfortable\", \"spacious\"].contains(&normalized) {\n                    anyhow::bail!(\n                        \"Failed to update setting: invalid transcript spacing '{value}'. Expected: compact, comfortable, spacious.\"\n                    );\n                }\n                self.transcript_spacing = normalized.to_string();\n            }\n            \"launch_screen\" | \"launch\" => {\n                self.launch_screen = parse_bool(value)?;\n            }\n            \"status_indicator\" | \"indicator\" => {\n                let normalized = normalize_status_indicator(value);\n                if ![\"cw\", \"whale\", \"dots\", \"off\"].contains(&normalized) {\n                    anyhow::bail!(\n                        \"Failed to update setting: invalid status indicator '{value}'. Expected: cw, whale, dots, off.\"\n                    );\n                }\n                self.status_indicator = normalized.to_string();\n            }\n            \"synchronized_output\" | \"sync_output\" | \"sync\" => {\n                let normalized = normalize_synchronized_output(value);\n                if ![\"auto\", \"on\", \"off\"].contains(&normalized) {\n                    anyhow::bail!(\n                        \"Failed to update setting: invalid synchronized_output '{value}'. Expected: auto, on, off.\"\n                    );\n                }\n                self.synchronized_output = normalized.to_string();\n            }\n            \"workspace_follow_symlinks\" | \"follow_symlinks\" => {\n                self.workspace_follow_symlinks = parse_bool(value)?;\n            }\n            \"default_mode\" | \"mode\" => {","sourceCodeStart":1379,"sourceCodeEnd":1415,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/0c42157ee52f9d55af2b506d71b46249910f77d3/crates/tui/src/settings.rs#L1379-L1415","documentation":"Settings update validation for the status indicator key: the normalized value is not cw, whale, dots, or off. Governs which idle animation renders; invalid values are rejected at set time rather than falling back silently.","triggerScenarios":"Thrown at crates/tui/src/settings.rs:1397 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set the status indicator to cw, whale, dots, or off"],"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"}