fix(ui): keep tag filter state consistent on tag delete/reapply (#86, #91) #121

Merged
ValleyGeek merged 2 commits from 0.1.40/issue-86-91-tag-filter-fixes into main 2026-06-22 01:22:34 +00:00
Member

Summary

  • #91 — deleting a tag that was part of the active grid filter only updated the dropdown's own display state, never filter_proxy's active-tag set, so the grid kept filtering by a tag that no longer existed and just looked stuck/empty. _on_delete_tag_from_panel() now removes the deleted tag from the filter's active set too; an empty resulting set is already treated as "no tag filter" by ImageFilterProxy, so deleting the only active tag correctly stops filtering.
  • #86 — "Untagged Only" was only cleared by the normal click-to-filter path (_move_tag()); the right-click "make this the only active filter" path (_set_exclusive_active) skipped that clear, so combining it with a stale Untagged Only checkbox left the grid showing nothing. Factored the clear into a shared _clear_untagged_only() used by both paths.

Test plan

  • ruff check / ruff format --check
  • pytest
  • PR-prep version bump 0.1.40 → 0.1.41

Refs #86, #91.

Stacked on #120 — part of the 11-PR sequential chain into main.

## Summary - **#91** — deleting a tag that was part of the active grid filter only updated the dropdown's own display state, never `filter_proxy`'s active-tag set, so the grid kept filtering by a tag that no longer existed and just looked stuck/empty. `_on_delete_tag_from_panel()` now removes the deleted tag from the filter's active set too; an empty resulting set is already treated as "no tag filter" by `ImageFilterProxy`, so deleting the only active tag correctly stops filtering. - **#86** — "Untagged Only" was only cleared by the normal click-to-filter path (`_move_tag()`); the right-click "make this the only active filter" path (`_set_exclusive_active`) skipped that clear, so combining it with a stale Untagged Only checkbox left the grid showing nothing. Factored the clear into a shared `_clear_untagged_only()` used by both paths. ## Test plan - [x] `ruff check` / `ruff format --check` - [x] `pytest` - [x] PR-prep version bump 0.1.40 → 0.1.41 Refs #86, #91. Stacked on #120 — part of the 11-PR sequential chain into `main`.
#91: deleting a tag that was part of the active filter only updated the
TagFilterDropdown popup's own display state (set_tag_catalog() already drops
tags that no longer exist) — it never told filter_proxy, which holds the
actual active-tag set driving the grid. The grid kept filtering by a tag name
nothing has anymore, so it just looked stuck/empty. _on_delete_tag_from_panel()
now removes the deleted tag from filter_proxy's active set too; an empty
resulting set is already treated as "no tag filter" by ImageFilterProxy, so
deleting the only active tag correctly stops filtering.

#86: "Untagged Only" was only cleared by _move_tag() (the normal click path).
The right-click "make this the only active filter" path (_set_exclusive_active)
applies a tag filter too but skipped that clear, so combining it with a stale
Untagged Only checkbox left the grid showing nothing. Factored the clear into
a shared _clear_untagged_only() used by both.
docs: PR-prep for issues 86 and 91 - bump to 0.1.41
All checks were successful
CI / lint (push) Successful in 17s
CI / test (push) Successful in 2m9s
CI / appimage (push) Successful in 8m12s
CI / build-appimage (push) Successful in 0s
CI / windows-exe (push) Successful in 9m53s
CI / build-windows-exe (push) Successful in 0s
bddcd1f45d
Claude force-pushed 0.1.40/issue-86-91-tag-filter-fixes from bddcd1f45d
All checks were successful
CI / lint (push) Successful in 17s
CI / test (push) Successful in 2m9s
CI / appimage (push) Successful in 8m12s
CI / build-appimage (push) Successful in 0s
CI / windows-exe (push) Successful in 9m53s
CI / build-windows-exe (push) Successful in 0s
to c658dc1db5 2026-06-22 00:53:23 +00:00
Compare
ValleyGeek changed target branch from 0.1.39/issue-20-rubber-band-highlight to main 2026-06-22 00:55:07 +00:00
Claude force-pushed 0.1.40/issue-86-91-tag-filter-fixes from c658dc1db5 to c6145f8b9c 2026-06-22 01:21:41 +00:00 Compare
ValleyGeek deleted branch 0.1.40/issue-86-91-tag-filter-fixes 2026-06-22 01:22:35 +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!121
No description provided.