Filter images by search term (fixes #79) #83

Merged
ValleyGeek merged 4 commits from 0.1.30/issue-79-search-filter into main 2026-06-14 15:48:16 +00:00
Member

Summary

Adds a main-toolbar search box (left of Sort into Folders…) to filter images by filename, directory path, and optionally embedded image metadata (fixes #79).

User-visible behavior

  • Search text field with × clear and options popup (gear icon)
  • Options: File Name and Directory Name (default on), Image Meta Data (slow) (off by default)
  • Tag filter applies first; search narrows within that result set
  • Opening a new directory clears the search term
  • Search text and options persist in session state across restarts
  • Slow metadata search runs in a background worker, caches extracted text in memory, and incrementally reveals matches

CI fix (included)

  • Windows release job: explicit exit 0 when rebuild is correctly skipped (release_build_needed.py exit 1)

Version

0.1.31

Testing

  • tests/test_search_filter.py (12 tests)
  • ruff check / pytest on filter proxy tests
  • ./scripts/smoke-ui-exit.sh

Closes #79

## Summary Adds a main-toolbar search box (left of **Sort into Folders…**) to filter images by filename, directory path, and optionally embedded image metadata (fixes #79). ## User-visible behavior - Search text field with **×** clear and options popup (gear icon) - Options: **File Name** and **Directory Name** (default on), **Image Meta Data (slow)** (off by default) - Tag filter applies first; search narrows within that result set - Opening a new directory clears the search term - Search text and options persist in session state across restarts - Slow metadata search runs in a background worker, caches extracted text in memory, and incrementally reveals matches ## CI fix (included) - Windows release job: explicit `exit 0` when rebuild is correctly skipped (`release_build_needed.py` exit 1) ## Version `0.1.31` ## Testing - `tests/test_search_filter.py` (12 tests) - `ruff check` / `pytest` on filter proxy tests - `./scripts/smoke-ui-exit.sh` Closes #79
feat: filter images by search term (issue #79)
Some checks failed
CI / lint (push) Successful in 7s
CI / test (push) Successful in 1m37s
Linux AppImage / build-release (push) Successful in 9m53s
CI / build-release (push) Successful in 10m14s
CI / release-linux (push) Successful in 0s
Windows Release / build-release (push) Successful in 12m43s
CI / build-release-1 (push) Failing after 11s
CI / release-windows (push) Failing after 0s
d79ec18a0e
Add a main-toolbar search box with clear and options controls to the
left of Sort into Folders. Filename and directory matching run
synchronously in ImageFilterProxy; optional metadata search opens
image files in a background worker, caches extracted text in memory,
and incrementally reveals matches. Search term and options persist
in session state across restarts.
fix(ci): exit 0 when Windows release build is skipped
Some checks failed
CI / lint (push) Successful in 6s
Linux AppImage / build-release (push) Failing after 7s
CI / test (push) Successful in 1m38s
CI / build-release (push) Failing after 7s
CI / release-linux (push) Failing after 0s
Windows Release / build-release (push) Successful in 7m40s
CI / build-release-1 (push) Successful in 10s
CI / release-windows (push) Successful in 0s
000ce3b990
PowerShell still propagated release_build_needed.py exit code 1 (no
rebuild needed) as the step failure even after capturing $LASTEXITCODE.
Explicitly exit 0 after setting needs_build=false so a correctly
skipped rebuild does not fail the job.
fix(ui): clear search on directory open; tag filter precedes search
All checks were successful
CI / test (push) Successful in 1m35s
CI / lint (push) Successful in 6s
Linux AppImage / build-release (push) Successful in 8m59s
Windows Release / build-release (push) Successful in 11m23s
CI / build-release-1 (push) Successful in 12s
CI / release-windows (push) Successful in 0s
CI / build-release (push) Successful in 10m1s
CI / release-linux (push) Successful in 0s
e18eed90d0
Clear the search box, proxy term, metadata cache, and background worker
when opening a directory (alongside tag-filter defaults).

Refactor ImageFilterProxy so tag/workbench filters run first and search
narrows that subset. Fix untagged-only bypassing search. Restrict the
metadata search worker to tag-filtered images and restart it when tag
filters change.
docs: PR-prep for issue 79 — search filter (0.1.31)
All checks were successful
CI / lint (push) Successful in 7s
CI / lint (pull_request) Successful in 7s
CI / test (push) Successful in 1m31s
CI / test (pull_request) Successful in 1m23s
Linux AppImage / build-release (push) Successful in 10m4s
Windows Release / build-release (push) Successful in 9m22s
CI / build-release-1 (push) Successful in 13s
CI / release-windows (push) Successful in 0s
CI / build-release (push) Successful in 13m35s
CI / release-linux (push) Successful in 0s
CI / build-release-1 (pull_request) Successful in 10s
CI / release-windows (pull_request) Successful in 0s
CI / build-release (pull_request) Successful in 13m37s
CI / release-linux (pull_request) Successful in 0s
1b244694d7
Update bundled user guide and CHANGELOG for the image search feature.
Bump VERSION to 0.1.31.
ValleyGeek deleted branch 0.1.30/issue-79-search-filter 2026-06-14 15:48:16 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ai-collab/bulk-image-organizer!83
No description provided.