{"record":{"id":"094cfc5c9ee5f204","repo":"zellij-org/zellij","slug":"invalid-searchdirection","errorCode":null,"errorMessage":"Invalid SearchDirection: {}","messagePattern":"Invalid SearchDirection: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"zellij-utils/src/ipc/protobuf_conversion.rs","lineNumber":3608,"sourceCode":"        x if x == ProtoDirection::Up as i32 => ProtoDirection::Up,\n        x if x == ProtoDirection::Down as i32 => ProtoDirection::Down,\n        _ => return Err(anyhow!(\"Invalid Direction: {}\", direction)),\n    };\n    match proto_direction {\n        ProtoDirection::Left => Ok(crate::data::Direction::Left),\n        ProtoDirection::Right => Ok(crate::data::Direction::Right),\n        ProtoDirection::Up => Ok(crate::data::Direction::Up),\n        ProtoDirection::Down => Ok(crate::data::Direction::Down),\n        ProtoDirection::Unspecified => Err(anyhow!(\"Unspecified direction\")),\n    }\n}\n\nfn proto_i32_to_search_direction(direction: i32) -> Result<crate::input::actions::SearchDirection> {\n    use crate::client_server_contract::client_server_contract::SearchDirection as ProtoSearchDirection;\n    let proto_direction = match direction {\n        x if x == ProtoSearchDirection::Up as i32 => ProtoSearchDirection::Up,\n        x if x == ProtoSearchDirection::Down as i32 => ProtoSearchDirection::Down,\n        _ => return Err(anyhow!(\"Invalid SearchDirection: {}\", direction)),\n    };\n    match proto_direction {\n        ProtoSearchDirection::Up => Ok(crate::input::actions::SearchDirection::Up),\n        ProtoSearchDirection::Down => Ok(crate::input::actions::SearchDirection::Down),\n        ProtoSearchDirection::Unspecified => Err(anyhow!(\"Unspecified search direction\")),\n    }\n}\n\nfn proto_i32_to_search_option(option: i32) -> Result<crate::input::actions::SearchOption> {\n    use crate::client_server_contract::client_server_contract::SearchOption as ProtoSearchOption;\n    let proto_option = match option {\n        x if x == ProtoSearchOption::CaseSensitivity as i32 => ProtoSearchOption::CaseSensitivity,\n        x if x == ProtoSearchOption::WholeWord as i32 => ProtoSearchOption::WholeWord,\n        x if x == ProtoSearchOption::Wrap as i32 => ProtoSearchOption::Wrap,\n        _ => return Err(anyhow!(\"Invalid SearchOption: {}\", option)),\n    };\n    match proto_option {\n        ProtoSearchOption::CaseSensitivity => {","sourceCodeStart":3590,"sourceCodeEnd":3626,"githubUrl":"https://github.com/zellij-org/zellij/blob/e839bfffa586992364309a685b2c71f3b23c247e/zellij-utils/src/ipc/protobuf_conversion.rs#L3590-L3626","documentation":"Error \"Invalid SearchDirection: {}\" thrown in zellij-org/zellij.","triggerScenarios":"Occurs when a protobuf enum value received over IPC has no matching variant; conversion rejects the unknown value.","commonSituations":"Typical of version skew between client and server, or a malformed/corrupted IPC message.","solutions":["Validate the value against the allowed enum range before constructing the message.","Ensure client and server use matching protobuf definitions; regenerate bindings if versions differ."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e839bfffa586992364309a685b2c71f3b23c247e","analyzedAt":"2026-08-19T07:42:58.758Z","contentChangedAt":"2026-08-19T07:42:58.758Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}