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

  1. Include the required 'size_type' field in the protobuf message before sending it.
  2. 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.