zellij-org/zellij · error
Invalid UnblockCondition: {}
Error message
Invalid UnblockCondition: {} What it means
Error "Invalid UnblockCondition: {}" thrown in zellij-org/zellij.
Source
Thrown at zellij-utils/src/ipc/protobuf_conversion.rs:3645
Ok(crate::input::actions::SearchOption::CaseSensitivity)
},
ProtoSearchOption::Wrap => Ok(crate::input::actions::SearchOption::Wrap),
ProtoSearchOption::WholeWord => Ok(crate::input::actions::SearchOption::WholeWord),
ProtoSearchOption::Unspecified => Err(anyhow!("Unspecified search option")),
}
}
fn proto_i32_to_unblock_condition(condition: i32) -> Result<crate::data::UnblockCondition> {
use crate::client_server_contract::client_server_contract::UnblockCondition as ProtoUnblockCondition;
let proto_condition = match condition {
x if x == ProtoUnblockCondition::OnExitSuccess as i32 => {
ProtoUnblockCondition::OnExitSuccess
},
x if x == ProtoUnblockCondition::OnExitFailure as i32 => {
ProtoUnblockCondition::OnExitFailure
},
x if x == ProtoUnblockCondition::OnAnyExit as i32 => ProtoUnblockCondition::OnAnyExit,
_ => return Err(anyhow!("Invalid UnblockCondition: {}", condition)),
};
match proto_condition {
ProtoUnblockCondition::OnExitSuccess => Ok(crate::data::UnblockCondition::OnExitSuccess),
ProtoUnblockCondition::OnExitFailure => Ok(crate::data::UnblockCondition::OnExitFailure),
ProtoUnblockCondition::OnAnyExit => Ok(crate::data::UnblockCondition::OnAnyExit),
ProtoUnblockCondition::Unspecified => Err(anyhow!("Unspecified unblock condition")),
}
}
// Position conversion
impl From<crate::position::Position>
for crate::client_server_contract::client_server_contract::Position
{
fn from(pos: crate::position::Position) -> Self {
Self {
line: pos.line.0 as i32,
column: pos.column.0 as u64,
}View on GitHub (pinned to e839bfffa5)
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.
When it happens
Trigger: Occurs when a protobuf enum value received over IPC has no matching variant; conversion rejects the unknown value.
Common situations: Typical of version skew between client and server, or a malformed/corrupted IPC message.
AI-assisted analysis of zellij-org/zellij@e839bfffa5 (2026-08-19).
Data as JSON: /api/errors/4ceba35e7a8b5333.
Report an issue: GitHub.