* feat: add copy_image_to_vault Rust command for native drag-drop
Adds a new Tauri command that copies an image file from a source path
(provided by Tauri's drag-drop event) directly into vault/attachments/.
More efficient than base64 encoding for filesystem drag-drop.
Also adds core:webview:allow-on-drag-drop-event permission.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* feat: handle Tauri native drag-drop for filesystem images
Listen for Tauri's onDragDropEvent to intercept OS-level file drops
that bypass the webview's HTML5 DnD API. When image files are dropped:
1. Copy to vault/attachments via copy_image_to_vault command
2. Insert image block into BlockNote at cursor position
Also passes vaultPath through Editor → EditorContent → SingleEditorView
so the hook can invoke the Tauri command.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: remove nonexistent drag-drop permission from capabilities
The onDragDropEvent API works through core:event:default (included
in core:default), not a separate webview permission.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix: correct DragDropEvent type handling for 'over' events
Tauri's DragDropEvent discriminated union only provides `paths` on 'drop'
events, not 'over'. Show drag overlay unconditionally on 'over' since we
can't filter by image paths at that stage.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* design: drag-drop-images wireframes (idle + drag-over overlay)
* style: rustfmt mcp.rs and image.rs
---------
Co-authored-by: Test <test@test.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>