feat: "Not a dupe" ignore with SQLite persistence

- New ignore_db module with SQLite-backed dismissal storage
- Groups flagged as not-a-dupe are persisted to ~/.config/deduper/ignores.db
- Fingerprint based on sorted SHA256 hashes (content-stable)
- Ignored groups filtered out on subsequent runs
- Review UI: green "Not a dupe" button per group
- Dismissed groups fade out immediately in browser
- DEDUPER_DB_DIR env var to override DB location
- 4 new unit tests for ignore_db
- 29 tests passing
This commit is contained in:
admin
2026-04-28 00:45:52 +00:00
parent f13b712e99
commit c039029790
6 changed files with 301 additions and 7 deletions

View File

@@ -13,3 +13,4 @@ open = "5"
base64 = "0.22"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
rusqlite = { version = "0.31", features = ["bundled"] }