zellij-org/zellij · error
PercentOrFixed missing size_type
Error message
PercentOrFixed missing size_type
What it means
Error "PercentOrFixed missing size_type" thrown in zellij-org/zellij.
Source
Thrown at zellij-utils/src/ipc/protobuf_conversion.rs:4570
RunType::Plugin(plugin) => Ok(crate::input::layout::Run::Plugin(plugin.try_into()?)),
}
}
}
// PercentOrFixed reverse conversion
impl TryFrom<crate::client_server_contract::client_server_contract::PercentOrFixed>
for crate::input::layout::PercentOrFixed
{
type Error = anyhow::Error;
fn try_from(
value: crate::client_server_contract::client_server_contract::PercentOrFixed,
) -> Result<Self> {
use crate::client_server_contract::client_server_contract::percent_or_fixed::SizeType;
let size_type = value
.size_type
.ok_or_else(|| anyhow!("PercentOrFixed missing size_type"))?;
match size_type {
SizeType::Percent(percent) => Ok(crate::input::layout::PercentOrFixed::Percent(
percent as usize,
)),
SizeType::Fixed(fixed) => {
Ok(crate::input::layout::PercentOrFixed::Fixed(fixed as usize))
},
}
}
}
// ===== REVERSE CONVERSIONS =====
// MouseEvent reverse conversion
impl TryFrom<crate::client_server_contract::client_server_contract::MouseEvent>
for crate::input::mouse::MouseEvent
{
type Error = anyhow::Error;View on GitHub (pinned to e839bfffa5)
Solutions
- Include the required 'size_type' field in the protobuf message before sending it.
- Verify the sender populates all mandatory fields; add a presence check before conversion.
When it happens
Trigger: Occurs when a protobuf message received over IPC omits the required field; deserialization fails instead of using a default.
Common situations: Occurs when a client or plugin sends an incompletely populated message, often from a version mismatch or hand-crafted payload.
AI-assisted analysis of zellij-org/zellij@e839bfffa5 (2026-08-19).
Data as JSON: /api/errors/321daa4f82e2cecf.
Report an issue: GitHub.