{"record":{"id":"93f5fed378c6c3fa","repo":"zellij-org/zellij","slug":"invalid-mouseeventtype","errorCode":null,"errorMessage":"Invalid MouseEventType: {}","messagePattern":"Invalid MouseEventType: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"zellij-utils/src/ipc/protobuf_conversion.rs","lineNumber":4605,"sourceCode":"{\n    type Error = anyhow::Error;\n\n    fn try_from(\n        event: crate::client_server_contract::client_server_contract::MouseEvent,\n    ) -> Result<Self> {\n        use crate::client_server_contract::client_server_contract::MouseEventType as ProtoMouseEventType;\n\n        let event_type = match event.event_type {\n            x if x == ProtoMouseEventType::Press as i32 => {\n                crate::input::mouse::MouseEventType::Press\n            },\n            x if x == ProtoMouseEventType::Release as i32 => {\n                crate::input::mouse::MouseEventType::Release\n            },\n            x if x == ProtoMouseEventType::Motion as i32 => {\n                crate::input::mouse::MouseEventType::Motion\n            },\n            _ => return Err(anyhow!(\"Invalid MouseEventType: {}\", event.event_type)),\n        };\n\n        let position = event\n            .position\n            .ok_or_else(|| anyhow!(\"MouseEvent missing position\"))?\n            .try_into()?;\n\n        Ok(crate::input::mouse::MouseEvent {\n            event_type,\n            left: event.left,\n            right: event.right,\n            middle: event.middle,\n            wheel_up: event.wheel_up,\n            wheel_down: event.wheel_down,\n            wheel_left: event.wheel_left,\n            wheel_right: event.wheel_right,\n            shift: event.shift,\n            alt: event.alt,","sourceCodeStart":4587,"sourceCodeEnd":4623,"githubUrl":"https://github.com/zellij-org/zellij/blob/e839bfffa586992364309a685b2c71f3b23c247e/zellij-utils/src/ipc/protobuf_conversion.rs#L4587-L4623","documentation":"Error \"Invalid MouseEventType: {}\" 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"}