{"record":{"id":"4ceba35e7a8b5333","repo":"zellij-org/zellij","slug":"invalid-unblockcondition","errorCode":null,"errorMessage":"Invalid UnblockCondition: {}","messagePattern":"Invalid UnblockCondition: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"zellij-utils/src/ipc/protobuf_conversion.rs","lineNumber":3645,"sourceCode":"            Ok(crate::input::actions::SearchOption::CaseSensitivity)\n        },\n        ProtoSearchOption::Wrap => Ok(crate::input::actions::SearchOption::Wrap),\n        ProtoSearchOption::WholeWord => Ok(crate::input::actions::SearchOption::WholeWord),\n        ProtoSearchOption::Unspecified => Err(anyhow!(\"Unspecified search option\")),\n    }\n}\n\nfn proto_i32_to_unblock_condition(condition: i32) -> Result<crate::data::UnblockCondition> {\n    use crate::client_server_contract::client_server_contract::UnblockCondition as ProtoUnblockCondition;\n    let proto_condition = match condition {\n        x if x == ProtoUnblockCondition::OnExitSuccess as i32 => {\n            ProtoUnblockCondition::OnExitSuccess\n        },\n        x if x == ProtoUnblockCondition::OnExitFailure as i32 => {\n            ProtoUnblockCondition::OnExitFailure\n        },\n        x if x == ProtoUnblockCondition::OnAnyExit as i32 => ProtoUnblockCondition::OnAnyExit,\n        _ => return Err(anyhow!(\"Invalid UnblockCondition: {}\", condition)),\n    };\n    match proto_condition {\n        ProtoUnblockCondition::OnExitSuccess => Ok(crate::data::UnblockCondition::OnExitSuccess),\n        ProtoUnblockCondition::OnExitFailure => Ok(crate::data::UnblockCondition::OnExitFailure),\n        ProtoUnblockCondition::OnAnyExit => Ok(crate::data::UnblockCondition::OnAnyExit),\n        ProtoUnblockCondition::Unspecified => Err(anyhow!(\"Unspecified unblock condition\")),\n    }\n}\n\n// Position conversion\nimpl From<crate::position::Position>\n    for crate::client_server_contract::client_server_contract::Position\n{\n    fn from(pos: crate::position::Position) -> Self {\n        Self {\n            line: pos.line.0 as i32,\n            column: pos.column.0 as u64,\n        }","sourceCodeStart":3627,"sourceCodeEnd":3663,"githubUrl":"https://github.com/zellij-org/zellij/blob/e839bfffa586992364309a685b2c71f3b23c247e/zellij-utils/src/ipc/protobuf_conversion.rs#L3627-L3663","documentation":"Error \"Invalid UnblockCondition: {}\" 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"}