Skip to content

[Enhancement] Find duplicate files using size filters and streamed hashes #8

Open

Description

@raiseCatError

Priority: P2
Parent roadmap: #1

Goal

Help power users find exact duplicate files efficiently without becoming an unsafe bulk cleaner.

UX

  • Select one or more Finder folders → Find Duplicates…; optional multi-folder comparison.
  • Group by file size, then fast partial fingerprint if useful, then full streaming SHA-256 for exact byte equality. Do not use only filenames, modification dates or perceptual similarity to call files exact duplicates.
  • Native results window grouping verified duplicates with file size, path, last modified date and quick reveal/open.
  • Mark potential reclaimable size, clearly accounting for APFS clone/hardlink behavior where detectable.
  • Optional manual move-to-Trash of explicitly selected duplicate copies with a review dialog. No automated permanent deletion and no default destructive action.
  • Skip symlinks or handle explicitly; avoid traversing same directory via links; handle iCloud placeholders, access errors, bundles, hidden files and external volumes deliberately.

Acceptance criteria

  • No duplicate false positives from truncated/partial hashes.
  • Stream files in chunks; scanning large directories does not load entire files into memory.
  • Cancel/progress and bounded concurrency; never block Finder.
  • Preview/selection makes it obvious which path would be moved to Trash; never trash all copies in a group.
  • File-identity recheck before trashing prevents deleting files changed since scan.

Tests

Identical-content/different-name files, equal-size/different-content, APFS clones/hardlinks, unicode/case differences, permissions, directory symlink cycles, iCloud/external-unmount, cancellation and race changes.

Activity

  1. raiseCatError commented on Oct 16, 2026

    @raiseCatError
    OwnerAuthor

    Implementation merged in PR #24: exact SHA-256 duplicate scanning, symlink skips, explicit selected-file Trash with proof recheck and preserving at least one copy in each group. Focused DuplicateTests passed in macOS CI. Still open for real-volume scans, filesystem identity races and Trash behavior on the user's Mac.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions