Improve library browsing, duplicate recall, and desktop installer reliability - #12
Merged
Merged
Conversation
T-Lind
marked this pull request as ready for review
October 2, 2026 15:57
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Photo libraries could silently miss near-duplicates and stop showing an album after 500 photos. This fixes duplicate recall across hash bands, retains large identical-hash groups, and adds deterministic album pagination with viewer navigation across pages. Album lookup reads only the selected album, and page hydration stays bounded.
The desktop keeps its graphite styling with compact browsing controls: secondary filters and saved-search editing use dialogs, active filters stay visible, thumbnail size persists, and modal focus is contained and restored. Selections survive album paging without reusing a range anchor from another page. Narrow layouts and zero-valued photo hashes have regression coverage.
Desktop packaging now preserves the complete PyInstaller server folder inside Tauri resources, so Linux/macOS resource placement does not separate the executable from its support libraries. Linux uses headless OpenCV, exposes frozen library paths to linuxdeploy, and checks native dependencies before bundling. Installer diagnostics are retained, and draft releases attach only installer artifacts. New verification checks model parity, UI/API startup, and clean shutdown from installed NSIS, mounted DMG, and extracted DEB/AppImage contents.
Validation:
Large-radius duplicate matching can still be expensive. Album ordering still reads the selected album's ID/date metadata; streaming discovery, indexed OCR, and scalable face reclustering remain follow-up work.