feat(tags): update existing tags on Bulk Create; add Export Tags (#88, #89) #122

Merged
ValleyGeek merged 2 commits from 0.1.41/issue-88-89-tag-toolbox into main 2026-06-22 01:27:05 +00:00
Member

Summary

  • #88 — Bulk Create Tags previously errored when a submitted name already existed in the workspace. It now only rejects a name repeated within the same submitted batch (ambiguous which color should win) — a name that already exists is allowed through and updates that tag's color to the one chosen in the dialog instead of creating a duplicate or erroring.
  • #89 — new "Export Tags" button in the tag toolbox, above "Unset Applied Tags", opens a read-only dialog listing every workspace tag in the exact name{#hex} format Bulk Create Tags' parser expects, with Copy to Clipboard / Done buttons — for recreating the same tags (with colors) in another directory.

Test plan

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

Refs #88, #89.

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

## Summary - **#88** — Bulk Create Tags previously errored when a submitted name already existed in the workspace. It now only rejects a name repeated *within the same submitted batch* (ambiguous which color should win) — a name that already exists is allowed through and updates that tag's color to the one chosen in the dialog instead of creating a duplicate or erroring. - **#89** — new "Export Tags" button in the tag toolbox, above "Unset Applied Tags", opens a read-only dialog listing every workspace tag in the exact `name{#hex}` format Bulk Create Tags' parser expects, with Copy to Clipboard / Done buttons — for recreating the same tags (with colors) in another directory. ## Test plan - [x] `ruff check` / `ruff format --check` - [x] `pytest` - [x] PR-prep version bump 0.1.41 → 0.1.42 Refs #88, #89. Stacked on #121 — part of the 11-PR sequential chain into `main`.
#88: Bulk Create Tags previously errored when a submitted name already
existed in the workspace. validate_bulk_tag_specs() now only rejects a name
repeated within the same submitted batch (ambiguous which color should win)
— a name that already exists is allowed through, and create_tags_bulk()
updates that tag's color to the one chosen in the dialog instead of creating
a duplicate or erroring. Removed the existing_names param from
BulkTagCreateDialog/validate_bulk_tag_specs since it no longer serves a
validation purpose (TagDialog, the single-tag create dialog, is unrelated
and still rejects duplicates as before).

#89: New "Export Tags" button in the tag toolbox, above "Unset Applied
Tags", opens a read-only dialog listing every workspace tag in the exact
name{#hex} format Bulk Create Tags' parser expects, with Copy to Clipboard /
Done buttons — for recreating the same tags (with colors) in another
directory. format_bulk_tag_lines() in core/tag_manager.py is the inverse of
the existing parse_bulk_tag_specs().
docs: PR-prep for issues 88 and 89 - bump to 0.1.42
All checks were successful
CI / lint (push) Successful in 8s
CI / test (push) Successful in 1m54s
CI / appimage (push) Successful in 8m22s
CI / build-appimage (push) Successful in 0s
CI / windows-exe (push) Successful in 10m32s
CI / build-windows-exe (push) Successful in 0s
732659583a
Claude force-pushed 0.1.41/issue-88-89-tag-toolbox from 732659583a
All checks were successful
CI / lint (push) Successful in 8s
CI / test (push) Successful in 1m54s
CI / appimage (push) Successful in 8m22s
CI / build-appimage (push) Successful in 0s
CI / windows-exe (push) Successful in 10m32s
CI / build-windows-exe (push) Successful in 0s
to 583e928002 2026-06-22 00:53:54 +00:00
Compare
ValleyGeek changed target branch from 0.1.40/issue-86-91-tag-filter-fixes to main 2026-06-22 01:22:35 +00:00
Claude force-pushed 0.1.41/issue-88-89-tag-toolbox from 583e928002 to dc3c0e31f9 2026-06-22 01:23:53 +00:00 Compare
ValleyGeek deleted branch 0.1.41/issue-88-89-tag-toolbox 2026-06-22 01:27:05 +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!122
No description provided.