{"record":{"id":"943153629d75eac6","repo":"tauri-apps/tauri","slug":"not-implemented-window","errorCode":null,"errorMessage":"not implemented","messagePattern":"not implemented","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"critical","filePath":"crates/tauri/src/manager/window.rs","lineNumber":269,"sourceCode":"            EmitPayload::Serialize(&payload),\n          )?\n        } else {\n          window.emit_to_window(DRAG_DROP_EVENT, &payload)?\n        }\n      }\n      DragDropEvent::Leave => {\n        if window.is_webview_window() {\n          // use underlying manager, otherwise have to recheck EventName\n          window.manager().emit_to(\n            EventTarget::labeled(window.label()),\n            DRAG_LEAVE_EVENT,\n            EmitPayload::Serialize(&()),\n          )?\n        } else {\n          window.emit_to_window(DRAG_LEAVE_EVENT, &())?\n        }\n      }\n      _ => unimplemented!(),\n    },\n    WindowEvent::ThemeChanged(theme) => window.emit_to_window(WINDOW_THEME_CHANGED, &theme)?,\n    #[cfg(mobile)]\n    WindowEvent::Suspended => window.emit_to_window(WINDOW_SUSPENDED_EVENT, &())?,\n    #[cfg(mobile)]\n    WindowEvent::Resumed => window.emit_to_window(WINDOW_RESUMED_EVENT, &())?,\n  }\n  Ok(())\n}\n\n#[derive(Clone, Serialize)]\n#[serde(rename_all = \"camelCase\")]\nstruct ScaleFactorChanged {\n  scale_factor: f64,\n  size: PhysicalSize<u32>,\n}\n","sourceCodeStart":251,"sourceCodeEnd":286,"githubUrl":"https://github.com/tauri-apps/tauri/blob/460ec35447493200d64290dd7f015d5a91d0fd58/crates/tauri/src/manager/window.rs#L251-L286","documentation":"In Tauri's on_window_event handler, the DragDrop match falls through to an `unimplemented!()` catch-all for DragDropEvent variants other than Enter/Drop/Leave (e.g. DraggedOver/Dragged with payload variants not handled here). This is a deliberate internal placeholder: reaching it means a runtime drag-drop event shape the manager code was never written to handle. It panics (process abort of the event loop task) rather than returning a recoverable Result.","triggerScenarios":"A WindowEvent::DragDrop variant other than the explicitly matched ones (Enter, Drop, Leave) reaches on_window_event via attach_window — i.e. the runtime emits a drag-drop sub-event (such as a drag-over/move variant) the manager has no arm for.","commonSituations":"Users dragging content over a Tauri window continuously (drag-over events) on platforms where the runtime forwards those variants; using a runtime/version combination where new DragDropEvent variants were added but manager/window.rs was not updated; custom event-loop integrations forwarding raw drag events.","solutions":["Update Tauri to a version where all DragDropEvent variants are handled in on_window_event","File/check an upstream issue: this panic indicates a missing match arm in crates/tauri/src/manager/window.rs","As a workaround, avoid enabling drag-drop on windows until patched, or filter the event before it reaches the manager","If maintaining a fork, add explicit arms for the missing DragDropEvent variants (e.g. Dragged/DraggedOver) mirroring the Drop arm's emit logic"],"exampleFix":"// before\n_ => unimplemented!(),\n// after\nDragDropEvent::DraggedOver { position } => {\n  window.emit_to_window(DRAG_OVER_EVENT, &position)?\n}\n_ => Ok(()), // or log-and-ignore unknown variants","handlingStrategy":"fallback","validationCode":"if let WindowEvent::DragDrop(e) = event {\n  match e {\n    DragDropEvent::Enter { .. } | DragDropEvent::Drop { .. } | DragDropEvent::Leave => {},\n    other => eprintln!(\"unhandled drag-drop variant: {other:?}\"),\n  }\n}","typeGuard":null,"tryCatchPattern":"// unimplemented!() panics; it cannot be caught in Rust. Register on_window_event and ensure only supported variants flow, or wrap the app run in catch_unwind as a last resort:\nstd::panic::catch_unwind(|| tauri::Builder::default().run(ctx));","preventionTips":["Keep Tauri updated so newly added DragDropEvent variants are handled upstream","Avoid custom runtime/event-loop forks that emit raw drag variants","Watch upstream issues for drag-drop panics before enabling dragDropEnabled"],"tags":["tauri","drag-drop","panic","unimplemented"],"backgroundTag":"method-not-implemented","analyzedSha":"460ec35447493200d64290dd7f015d5a91d0fd58","analyzedAt":"2026-09-18T23:55:51.277Z","contentChangedAt":"2026-09-18T23:55:51.277Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}