Tag filter enhancements and bulk inline hex colors (0.1.30) #81

Merged
ValleyGeek merged 11 commits from 0.1.29/issue-37-45-47-49-70-tag-filters into main 2026-06-13 17:13:08 +00:00
Member

Summary

Delivers five related tag-filter and bulk-tagging improvements in release 0.1.30.

Changes

#37 — Tag filter default toggles

  • Settings → Tag Filter stores global defaults for Hide Deleted, Untagged Only, and Show DUPE Tags in List.
  • Defaults apply on startup when no saved session tag-filter state exists.

#45 — Reset filter on directory open

  • Open Directory resets tag filter to configured defaults and clears active tag selections.

#47 — Bulk Create inline hex colors

  • Lines like Beach{#a3d9ff} or Mountain {#7ed321} set per-tag colors.
  • Tag names are trimmed; 3- and 6-digit hex values normalize to #rrggbb.

#49 — Filter follows tag rename

  • Renaming a tag via Edit Tag updates active filter criteria when the old name was selected.

#70 — Orientation filters

  • Tag Filter adds Horizontal and Vertical checkboxes (mutually exclusive).
  • Horizontal: width > height; vertical: height > width.
  • Orientation persists in session state.

Documentation

  • resources/help/USER_GUIDE.md, README.md, CHANGELOG.md, docs/TECHNICAL_OUTLINE.md, docs/DESIGN.md, docs/DECISIONS.md (DR-021)
  • VERSION bumped to 0.1.30

Testing

  • pytest (311 passed)
  • ./scripts/check-version-bump.sh origin/main

Closes #37, #45, #47, #49, #70.

## Summary Delivers five related tag-filter and bulk-tagging improvements in release **0.1.30**. ## Changes ### #37 — Tag filter default toggles - **Settings → Tag Filter** stores global defaults for Hide Deleted, Untagged Only, and Show DUPE Tags in List. - Defaults apply on startup when no saved session tag-filter state exists. ### #45 — Reset filter on directory open - **Open Directory** resets tag filter to configured defaults and clears active tag selections. ### #47 — Bulk Create inline hex colors - Lines like `Beach{#a3d9ff}` or `Mountain {#7ed321}` set per-tag colors. - Tag names are trimmed; 3- and 6-digit hex values normalize to `#rrggbb`. ### #49 — Filter follows tag rename - Renaming a tag via Edit Tag updates active filter criteria when the old name was selected. ### #70 — Orientation filters - Tag Filter adds **Horizontal** and **Vertical** checkboxes (mutually exclusive). - Horizontal: width > height; vertical: height > width. - Orientation persists in session state. ## Documentation - `resources/help/USER_GUIDE.md`, `README.md`, `CHANGELOG.md`, `docs/TECHNICAL_OUTLINE.md`, `docs/DESIGN.md`, `docs/DECISIONS.md` (DR-021) - VERSION bumped to `0.1.30` ## Testing - `pytest` (311 passed) - `./scripts/check-version-bump.sh origin/main` Closes #37, #45, #47, #49, #70.
Grok added 10 commits 2026-06-13 16:58:40 +00:00
Add global pref keys and loader for default Hide Deleted, Untagged Only,
and Show DUPE Tags toggles (issue #37). Parse optional {#hex} suffixes in
bulk tag lines with trimmed names (issue #47). Set dev VERSION 0.1.29-enhancement.37.
Settings workbench exposes default tag-filter toggles (#37). Opening a
directory resets filters to those defaults and clears active tags (#45).
Renaming a tag updates active filter criteria (#49). Horizontal and
Vertical orientation checkboxes filter by image dimensions (#70).
tests: cover tag filter enhancements and bulk hex parsing
Some checks failed
CI / lint (push) Successful in 6s
CI / test (push) Failing after 1m34s
542f376a17
Add tests for orientation filtering, default prefs, rename sync, and
inline {#hex} bulk tag lines.
tests: make compiled-inputs-changed test CI-safe
All checks were successful
CI / lint (push) Successful in 7s
CI / test (push) Successful in 1m27s
d8a69f0213
Replace the issue-62-specific assertion (always exit 0 vs origin/main) with
a missing-ref check and a diff-based integration test that skips when
origin/main is unavailable in shallow forge checkouts.
ci: detect release builds since last artifact, not single commit
All checks were successful
CI / lint (push) Successful in 6s
CI / test (push) Successful in 1m29s
945729301d
Add scripts/release_build_needed.py to diff from the Forgejo release
target_commitish (or merge-base with main when no prior artifact) through
the push tip. Update Linux and Windows release workflows to use full history
checkout, fetch origin/main for fallback, and share the cumulative path
rules. Fixes missed dev artifacts when compiled-input commits precede a
test-only push tip in the same batch.
ci: trigger dev release builds on push, not workflow_run
Some checks failed
Linux AppImage / prune-dev-release (push) Has been skipped
CI / lint (push) Successful in 7s
CI / test (push) Successful in 1m32s
Linux AppImage / build-release (push) Failing after 8m2s
Windows Release / prune-dev-release (push) Has been skipped
Windows Release / build-release (push) Has been cancelled
4352d4f3d8
workflow_run child workflows execute YAML from main, so cumulative
release_build_needed logic on development branches never ran. Dev
branches now trigger Linux/Windows release workflows directly on push
(using the branch workflow file); main keeps workflow_run after CI.
Normalize refs/heads/ prefixes in branch slug helpers.
fix(build): use live appimagetool continuous release URL
Some checks failed
Linux AppImage / prune-dev-release (push) Has been skipped
Windows Release / prune-dev-release (push) Has been skipped
CI / lint (push) Successful in 7s
CI / test (push) Successful in 1m36s
Windows Release / build-release (push) Failing after 7m27s
Linux AppImage / build-release (push) Failing after 7m47s
7940b2d358
The pinned AppImageKit tag continuous-24-08-26 was removed from
GitHub, causing Linux AppImage CI to fail at the appimagetool download
(curl 404) after Nuitka completed.
fix(ci): run appimagetool without FUSE and tolerate plain-text API 404s
Some checks failed
Linux AppImage / prune-dev-release (push) Has been skipped
Windows Release / prune-dev-release (push) Has been skipped
CI / lint (push) Successful in 7s
CI / test (push) Successful in 1m27s
Windows Release / build-release (push) Failing after 7m28s
Linux AppImage / build-release (push) Failing after 8m4s
1324a68bae
Set APPIMAGE_EXTRACT_AND_RUN when invoking appimagetool so Linux CI
runners without FUSE can still assemble AppImages. Parse Forgejo API
error bodies defensively so a missing release (HTTP 404 with plain text)
falls through to create instead of crashing on JSONDecodeError.
fix(ci): normalize Forgejo /api API URL before appending /v1
Some checks failed
Linux AppImage / prune-dev-release (push) Has been skipped
Windows Release / prune-dev-release (push) Has been skipped
CI / lint (push) Successful in 7s
CI / test (push) Successful in 1m34s
Windows Release / build-release (push) Failing after 7m24s
Linux AppImage / build-release (push) Failing after 8m6s
fcfba532e4
Forgejo Actions sets GITHUB_API_URL to {ROOT_URL}/api. Appending /api/v1
to that produced /api/api/v1 and HTTP 404 on release lookup and create.
Treat /api roots as already containing the API prefix and append only /v1.
fix(ci): split Forgejo FORGEJO_REPOSITORY owner/repo slug for API paths
Some checks failed
Linux AppImage / prune-dev-release (push) Has been skipped
Windows Release / prune-dev-release (push) Has been skipped
CI / lint (push) Successful in 7s
CI / test (push) Successful in 1m31s
Windows Release / build-release (push) Successful in 7m32s
Linux AppImage / build-release (push) Successful in 8m6s
CI / test (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
9e9402ad66
Forgejo Actions sets FORGEJO_REPOSITORY_OWNER=ai-collab and
FORGEJO_REPOSITORY=ai-collab/bulk-image-organizer. Treating the latter
as the repo name produced /repos/ai-collab/ai-collab/bulk-image-organizer
and HTTP 404 on release create. Centralize API helpers in
forgejo_api_common.py and normalize slug-shaped repository env vars.
docs: PR-prep for tag filter enhancements (issues 37, 45, 47, 49, 70)
Some checks failed
Windows Release / prune-dev-release (push) Has been skipped
Linux AppImage / build-release (push) Successful in 7m51s
Linux AppImage / prune-dev-release (push) Has been skipped
CI / lint (push) Successful in 6s
CI / test (push) Successful in 1m24s
Windows Release / build-release (push) Successful in 9m33s
CI / lint (pull_request) Failing after 3s
CI / test (pull_request) Has been skipped
4e0601aece
Bump VERSION to 0.1.30. Document tag-filter defaults, directory reset,
orientation filters, bulk inline hex colors, and rename sync in the user
guide, changelog, README, and design docs. Record DR-021.
ValleyGeek deleted branch 0.1.29/issue-37-45-47-49-70-tag-filters 2026-06-13 17:13:08 +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!81
No description provided.