[Bug]: Color Coding Metadata in Dupe Groups is Inconsistent #115

Closed
opened 2026-06-21 23:34:10 +00:00 by ValleyGeek · 2 comments
Owner

App version

0.1.54 Beta

Platform

Both

Steps to reproduce

  1. Open a directory with visual duplicates
  2. Scan and review duplicates of different attributes (resolution or size)

Expected behavior

The highest value set in any category is always highlighted in green. Matching, but not the highest/lowest are in yellow. The lowest value set in any category is highlighted in red

Actual behavior

Some top values sets are yellow, no green is displayed or sometimes they are given no highlight.

Additional context

No response

### App version 0.1.54 Beta ### Platform Both ### Steps to reproduce 1. Open a directory with visual duplicates 2. Scan and review duplicates of different attributes (resolution or size) ### Expected behavior The highest value set in any category is always highlighted in green. Matching, but not the highest/lowest are in yellow. The lowest value set in any category is highlighted in red ### Actual behavior Some top values sets are yellow, no green is displayed or sometimes they are given no highlight. ### Additional context _No response_
Member

Root cause: compare_tier() in core/dupe_metadata_compare.py only returned "tie" (yellow) when every value in a duplicate group was identical. A value shared by some — but not all — images, without itself being the group's overall highest or lowest (e.g. two images tied at a middling resolution with a third strictly lower), fell through to "none" and got no highlight instead of yellow. This is the "some top sets are yellow, no green, or no highlight" inconsistency described.

Fix (branch 0.2.2/issue-115-dupe-color-coding, stacked on 0.2.2/issue-114-soft-lock-after-scan): check the overall max/min first (so ties at the extremes always render green/red), then fall back to a count-based check for matching non-extreme values (yellow). Added regression tests for the partial-tie case. Work continues on the branch; PR to main pending user request.

Root cause: `compare_tier()` in `core/dupe_metadata_compare.py` only returned `"tie"` (yellow) when *every* value in a duplicate group was identical. A value shared by some — but not all — images, without itself being the group's overall highest or lowest (e.g. two images tied at a middling resolution with a third strictly lower), fell through to `"none"` and got no highlight instead of yellow. This is the "some top sets are yellow, no green, or no highlight" inconsistency described. Fix (branch `0.2.2/issue-115-dupe-color-coding`, stacked on `0.2.2/issue-114-soft-lock-after-scan`): check the overall max/min first (so ties at the extremes always render green/red), then fall back to a count-based check for matching non-extreme values (yellow). Added regression tests for the partial-tie case. Work continues on the branch; PR to `main` pending user request.
Member

Follow-up refinement per direction: when every image in the group shares the same value for a metric (a full tie), that value is now rendered green ("high") rather than yellow ("tie") — since a full tie is simultaneously the group's highest and lowest. Partial ties (some, not all, images matching on a non-extreme value) still render yellow. Pushed to 0.2.2/issue-115-dupe-color-coding.

Follow-up refinement per direction: when every image in the group shares the same value for a metric (a full tie), that value is now rendered green ("high") rather than yellow ("tie") — since a full tie is simultaneously the group's highest and lowest. Partial ties (some, not all, images matching on a non-extreme value) still render yellow. Pushed to `0.2.2/issue-115-dupe-color-coding`.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#115
No description provided.