{"record":{"id":"a07481adbee6bb65","repo":"zellij-org/zellij","slug":"missing-terminal-size","errorCode":null,"errorMessage":"Missing terminal_size","messagePattern":"Missing terminal_size","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"zellij-utils/src/ipc/protobuf_conversion.rs","lineNumber":266,"sourceCode":"                    is_web_client: first_client.is_web_client,\n                })\n            },\n            Some(client_to_server_msg::Message::AttachClient(attach)) => {\n                Ok(ClientToServerMsg::AttachClient {\n                    cli_assets: attach\n                        .cli_assets\n                        .ok_or_else(|| anyhow!(\"Missing cli_assets\"))?\n                        .try_into()?,\n                    tab_position_to_focus: attach.tab_position_to_focus.map(|pos| pos as usize),\n                    pane_to_focus: attach.pane_to_focus.map(|p| p.try_into()).transpose()?,\n                    is_web_client: attach.is_web_client,\n                })\n            },\n            Some(client_to_server_msg::Message::AttachWatcherClient(attach_watcher)) => {\n                Ok(ClientToServerMsg::AttachWatcherClient {\n                    terminal_size: attach_watcher\n                        .terminal_size\n                        .ok_or_else(|| anyhow::anyhow!(\"Missing terminal_size\"))?\n                        .try_into()?,\n                    is_web_client: attach_watcher.is_web_client,\n                })\n            },\n            Some(client_to_server_msg::Message::Action(action)) => Ok(ClientToServerMsg::Action {\n                action: action\n                    .action\n                    .ok_or_else(|| anyhow!(\"Missing action\"))?\n                    .try_into()?,\n                terminal_id: action.terminal_id,\n                client_id: action.client_id.map(|id| id as u16),\n                is_cli_client: action.is_cli_client,\n            }),\n            Some(client_to_server_msg::Message::Key(key)) => Ok(ClientToServerMsg::Key {\n                key: key.key.ok_or_else(|| anyhow!(\"Missing key\"))?.try_into()?,\n                raw_bytes: key.raw_bytes.into_iter().map(|b| b as u8).collect(),\n                is_kitty_keyboard_protocol: key.is_kitty_keyboard_protocol,\n            }),","sourceCodeStart":248,"sourceCodeEnd":284,"githubUrl":"https://github.com/zellij-org/zellij/blob/e839bfffa586992364309a685b2c71f3b23c247e/zellij-utils/src/ipc/protobuf_conversion.rs#L248-L284","documentation":"Error \"Missing terminal_size\" thrown in zellij-org/zellij.","triggerScenarios":"Occurs when a protobuf message received over IPC omits the required field; deserialization fails instead of using a default.","commonSituations":"Occurs when a client or plugin sends an incompletely populated message, often from a version mismatch or hand-crafted payload.","solutions":["Include the required 'terminal_size' field in the protobuf message before sending it.","Verify the sender populates all mandatory fields; add a presence check before conversion."],"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-14T00:17:10.932Z"}