You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixes
Quick View now shows every clipboard entry the moment Ctrl+Shift+V opens it, even when items were copied while the palette was hidden or while its webview was still hydrating. The new Quick View readiness contract guarantees the native window does not reveal itself until the first SQLite read has landed, so a hidden Quick View is guaranteed to catch up on its next open.
Clipboard entries are no longer dropped between an in-flight refresh and a newer one: every refresh bumps a generation counter and only the latest result is allowed to commit.
Real-time updates from a paste, favorite toggle, delete, history clear, or clip-updated broadcast now reach both windows in lockstep, including the file/image snapshot that lands after the background managed-storage copy finishes.
Image and file-kind thumbnails no longer show the browser's broken-image symbol. Every is wrapped in a SafeImage that falls back to the kind-appropriate icon on error.
Files copied through Explorer that are themselves images (PNG/JPG/JPEG/GIF/BMP/WEBP) now generate a managed thumbnail in the same way that image screenshots do, and that thumbnail is shown in the Quick View row, the full-window row, and the details pane.
Custom Clipmo storage locations are still rendered correctly because the asset protocol scope is granted in lockstep with the storage root.
How the Quick View readiness contract works
A new quick_data_hydrated AtomicBool in AppState flips to true only after the Quick webview's first SQLite read has committed.
The native show path refuses to reveal the window until both quick_frontend_ready and quick_data_hydrated are true; a race during startup or a clipdeck:quick-opened event that fires before the React listeners were installed is impossible to lose.
A new
equestResync action is dispatched on Quick View open, on focus regain, and on the visibility transition, so a Quick View that was merely occluded (not closed) also resyncs.
New signal_quick_data_hydrated and quick_readiness_state Tauri commands expose the contract to the frontend so any mismatch is visible in the console and not silent.
Tests
107 frontend tests pass; typecheck and build are clean.
85 Rust tests pass (including new tests for is_image_path, the image thumbnail generator, the managed thumbnail handling for image files, and the storage migration that copies the new humb_path field).
Full Windows installer smoke test on the CI runner.