Skip to content

Improve library browsing, duplicate recall, and desktop installer reliability - #12

Merged
T-Lind merged 5 commits into
masterfrom
codex/library-usability
Oct 2, 2026
Merged

T-Lind merged 5 commits into
masterfrom
codex/library-usability

Conversation

@T-Lind

@T-Lind T-Lind commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

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:

  • 50 targeted Python tests passed, including 50,000-photo duplicate scaling, exhaustive duplicate-reference comparisons, and page-sized hydration of a 505-photo album.
  • 23 packaging/startup tests passed locally after the resource layout change.
  • Five Chromium interaction tests passed; desktop and narrow-screen screenshots inspected. Browser tests now run in CI.
  • All 299 Python tests and OpenAPI checks pass on Python 3.10 and 3.12 in hosted CI. All five browser tests also pass on the latest commit.
  • Windows NSIS, macOS DMG, Linux DEB/AppImage builds and installed-layout checks all passed on the latest commit: https://github.com/T-Lind/photo-library/actions/runs/36821239885. Those checks verify bundled model parity, face runtime import, UI/API startup and clean shutdown from the installer contents, without the build-time library search path.

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.

@T-Lind T-Lind changed the title Fix duplicate recall and large albums; simplify desktop browsing Improve library browsing, duplicate recall, and desktop installer reliability Oct 1, 2026
@T-Lind
T-Lind marked this pull request as ready for review October 2, 2026 15:57
@T-Lind
T-Lind merged commit 4208533 into master Oct 2, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant