AOSSIE-Org / AOSSIE-Org/PictoPy

Add soft-delete (trash/recycle bin) instead of permanent image deletion

Đang mở
#1,474 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Python
Star
284
Fork
680
Merge trung bình
7 ngày 5 giờ
Pull request đã merge (30 ngày)
4

Mô tả

**Problem**
Currently deleting an image (single or bulk) removes it — and its DB rows/embeddings — permanently with no way to recover. A single misclick in bulk-select mode can wipe irreplaceable photos with zero undo path.

**Proposed solution**
- Add a `deleted_at` (nullable) column to the images table instead of hard-deleting the row on first delete
- "Trash" view in the UI showing soft-deleted images, with Restore / Delete Forever actions
- Auto-purge (hard delete) items from trash after N days (configurable), which is where the existing orphaned-rows cleanup from #1405 would actually run
- Embeddings/semantic_labels stay untouched until final purge, so restore is cheap

**Why this matters**
Photo apps (Google Photos, Apple Photos) all have this as a baseline safety feature. PictoPy currently has none, which is risky for a local-first tool where there's no cloud backup.

Happy to pick this up — I've worked on the DB layer before (album/faces unit tests, PR #1342) and can pair the schema change with test coverage.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start with the DB layer and the existing album/faces unit tests referenced in the issue, then trace the single- and bulk-delete flows and the image UI. Define the schema, trash, restore, permanent deletion, and configurable purge behavior before implementation. Done means deleted images can be restored, final deletion removes associated data, and the flows have test coverage.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
python
Lĩnh vực
database, desktop
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.