[Bug]: Dupe Multi tag pips turn gray after marking an image DELETE #179
Labels
No labels
Kind/Bug
Kind/Feature
Priority/High
Priority/Medium
Reviewed/Confirmed
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
ai-collab/bulk-image-organizer#179
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Affected area
Duplicates workbench — Multi comparison view (
DupeMultiGrid). The colored tag pips (dots) under each comparison image.Report
In Dupe Multi, after marking an image as deleted (
DELETEtag — right-click / Del / Keep on others), the existing tag pips under that image (and others in the group) turn gray. The tags themselves are still applied; only the pip colors are lost. The red DELETE outline still appears.Steps to reproduce
Expected
is_panel_tagalready excludes it).Actual
QColor(120, 120, 120)fallback) instead of the tag colors.Cause
Initial Multi load goes through
_refresh_dupe_multi_view()→_enrich_dupe_group_images(), which fillstag_colorsfromget_all_tags().Marking DELETE goes through
_on_dupe_multi_mark_single→_toggle_delete_on_paths→_after_tag_apply(). That path calls:_dupe_group_images()isWorkingDB.get_image_dicts_for_dupe_tag(), which always setstag_colorsto{}(it never joins tag colors).DupeMultiGrid.sync_image_tags()then overwrites the in-memory colors whenever the source dict has the key:_MetadataTagDots.paintEvent()paints missing colors as gray:The same
_after_tag_applypath is used for Keep (mark others DELETE) and any other tag apply while Multi is showing, so pips go gray after those actions too.The viewer-return path already does this correctly:
_sync_dupe_multi_view_tags()calls_enrich_dupe_group_images(self._dupe_group_images())beforesync_image_tags().Suggested fix
In
_after_tag_apply(dupes Multi branch), pass enriched dicts, matching_sync_dupe_multi_view_tags():Optionally have
get_image_dicts_for_dupe_tag()populate colors so every consumer does not have to remember to enrich.Acceptance criteria