zellij-org/zellij · error
MouseEvent missing position
Error message
MouseEvent missing position
What it means
Error "MouseEvent missing position" thrown in zellij-org/zellij.
Source
Thrown at zellij-utils/src/ipc/protobuf_conversion.rs:4610
) -> Result<Self> {
use crate::client_server_contract::client_server_contract::MouseEventType as ProtoMouseEventType;
let event_type = match event.event_type {
x if x == ProtoMouseEventType::Press as i32 => {
crate::input::mouse::MouseEventType::Press
},
x if x == ProtoMouseEventType::Release as i32 => {
crate::input::mouse::MouseEventType::Release
},
x if x == ProtoMouseEventType::Motion as i32 => {
crate::input::mouse::MouseEventType::Motion
},
_ => return Err(anyhow!("Invalid MouseEventType: {}", event.event_type)),
};
let position = event
.position
.ok_or_else(|| anyhow!("MouseEvent missing position"))?
.try_into()?;
Ok(crate::input::mouse::MouseEvent {
event_type,
left: event.left,
right: event.right,
middle: event.middle,
wheel_up: event.wheel_up,
wheel_down: event.wheel_down,
wheel_left: event.wheel_left,
wheel_right: event.wheel_right,
shift: event.shift,
alt: event.alt,
ctrl: event.ctrl,
position,
})
}
}View on GitHub (pinned to e839bfffa5)
Solutions
- Include the required 'position' 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/a919115f4fce6ed9.
Report an issue: GitHub.