{"record":{"id":"d076677ddfc5b6b0","repo":"DioxusLabs/dioxus","slug":"todo-convert-resize-data-in-dioxus-native-requir","errorCode":null,"errorMessage":"todo: convert_resize_data in dioxus-native. requires support in blitz","messagePattern":"todo: convert_resize_data in dioxus-native\\. requires support in blitz","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/native-dom/src/events.rs","lineNumber":134,"sourceCode":"\n    fn convert_toggle_data(&self, _event: &PlatformEventData) -> ToggleData {\n        unimplemented!(\"todo: convert_toggle_data in dioxus-native. requires support in blitz\")\n    }\n\n    fn convert_touch_data(&self, event: &PlatformEventData) -> TouchData {\n        event.downcast::<NativeTouchData>().unwrap().clone().into()\n    }\n\n    fn convert_transition_data(&self, _event: &PlatformEventData) -> TransitionData {\n        unimplemented!(\"todo: convert_transition_data in dioxus-native. requires support in blitz\")\n    }\n\n    fn convert_wheel_data(&self, event: &PlatformEventData) -> WheelData {\n        event.downcast::<NativeWheelData>().unwrap().clone().into()\n    }\n\n    fn convert_resize_data(&self, _event: &PlatformEventData) -> ResizeData {\n        unimplemented!(\"todo: convert_resize_data in dioxus-native. requires support in blitz\")\n    }\n\n    fn convert_visible_data(&self, _event: &PlatformEventData) -> VisibleData {\n        unimplemented!(\"todo: convert_visible_data in dioxus-native. requires support in blitz\")\n    }\n}\n\n#[derive(Clone)]\npub struct NodeHandle {\n    pub(crate) doc: Rc<RefCell<BaseDocument>>,\n    pub(crate) node_id: NodeId,\n}\n\nimpl NodeHandle {\n    pub fn node_id(&self) -> NodeId {\n        self.node_id\n    }\n","sourceCodeStart":116,"sourceCodeEnd":152,"githubUrl":"https://github.com/DioxusLabs/dioxus/blob/393d190a801ccb441d41923e232289b4f8a5c669/packages/native-dom/src/events.rs#L116-L152","documentation":"dioxus-native (the blitz-rendered native target) implements dioxus-html's HtmlEventConverter trait, but many conversions are stubs. convert_resize_data calls unimplemented!() because blitz does not yet deliver resize events, so any attempt to convert a platform resize event into the ResizeData an onresize handler expects panics at runtime. The panic happens when the event fires, not at compile time.","triggerScenarios":"Building with the dioxus-native renderer and attaching an onresize handler (on a div or any element) that then receives a resize event; the VirtualDOM calls NativeConverter::convert_resize_data, which is an unimplemented!() stub.","commonSituations":"Porting a web or desktop app that relies on onresize to the native (blitz) renderer; using size-observation patterns (layout measurement, container queries) in a dioxus-native app before blitz gained resize event support.","solutions":["Remove or cfg-gate the onresize handler when targeting dioxus-native","Read element size through the MountedData/NodeHandle API (it exposes the blitz BaseDocument via doc()) instead of resize events","Use the desktop (webview) or web renderer for this view, where resize events are supported","Track dioxus-native/blitz for resize event support and upgrade once convert_resize_data is implemented"],"exampleFix":"// before: panics in dioxus-native when a resize event is converted\nrsx! { div { onresize: move |_e| tracing::info!(\"resized\"), \"hi\" } }\n\n// after: only register the handler on renderers that support it\nrsx! {\n    div {\n        #[cfg(not(feature = \"dx-native\"))] // adjust to your native feature flag\n        onresize: move |_e| tracing::info!(\"resized\"),\n        \"hi\"\n    }\n}","handlingStrategy":"fallback","validationCode":"// Render resize-dependent UI only on renderers that support resize events\nfn supports_resize_events() -> bool {\n    cfg!(any(target_arch = \"wasm32\", feature = \"desktop\")) // adjust per your setup\n}","typeGuard":"fn supports_resize_events() -> bool {\n    cfg!(any(target_arch = \"wasm32\", feature = \"desktop\"))\n}","tryCatchPattern":null,"preventionTips":["Check dioxus-native's NativeConverter for unimplemented event kinds before relying on an event in a native build","Gate platform-specific event handlers with #[cfg(...)] inside rsx so unsupported renderers never register them","Prefer the MountedData/NodeHandle geometry APIs over resize events for native targets"],"tags":["native","blitz","events","resize","panic"],"backgroundTag":null,"analyzedSha":"393d190a801ccb441d41923e232289b4f8a5c669","analyzedAt":"2026-08-16T11:27:45.815Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}