Add delete and ignore actions to Duplicate Courses
Delete permanently removes a course from disk (confirmed with the full path first) and cleans up any Hidden/Next Up/Recently Viewed references to it. Ignore marks a specific pair as confirmed-not- duplicates so it stops resurfacing in scans, without suppressing either course's other matches; ignored pairs are listed and reversible under "Ignored matches," and now travel with backup/restore. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -128,7 +128,14 @@ silently stay blank instead of erroring.
|
||||
same tokenizer as Sort Unsorted so a platform-name or release-tag
|
||||
difference doesn't hide a real duplicate. Groups by similarity (union of
|
||||
any two courses over the threshold, transitively) rather than showing
|
||||
raw pairs; each course in a group gets a one-click Hide.
|
||||
raw pairs; each course in a group gets a one-click Hide, or a **Delete**
|
||||
that permanently removes it from disk (the one destructive action in the
|
||||
whole app - confirmed with the full path before it runs). A group can
|
||||
also be marked **"Not a duplicate"** if the match is wrong, which
|
||||
excludes that specific pair from future scans without touching anything
|
||||
else that happens to match one of those courses; ignored pairs are
|
||||
listed (and reversible) under "Ignored matches," and persist through
|
||||
backup/restore alongside hidden paths and Next Up.
|
||||
- *Clean Up Stale References*: finds entries in the hidden-paths list,
|
||||
Next Up queue, or Recently Viewed history that point at a path no longer
|
||||
on disk - normally from renaming/moving/deleting a course directly on
|
||||
@@ -177,8 +184,9 @@ silently stay blank instead of erroring.
|
||||
|
||||
**Backup & integrations**
|
||||
- One-click backup export and restore: settings, hidden-path choices, the
|
||||
Next Up queue, recent-view history, Outline config, and every course's
|
||||
progress/notes as a zip (not the course files themselves). Restore
|
||||
Next Up queue, recent-view history, ignored-duplicate pairs, Outline
|
||||
config, and every course's progress/notes as a zip (not the course files
|
||||
themselves). Restore
|
||||
overwrites current data and needs a matching course folder to already
|
||||
exist for each course's progress to land - it's a "put my data back"
|
||||
action, not a merge
|
||||
@@ -197,6 +205,7 @@ Everything under `OFFLINEU_DATA_DIR` (app-wide, not tied to a course):
|
||||
| `hidden_paths.json` | Courses/folders curated out of the browser |
|
||||
| `next_up.json` | The Next Up queue, in order |
|
||||
| `recent_views.json` | Cross-course "Recently Viewed" history |
|
||||
| `ignored_duplicates.json` | Course-path pairs confirmed not duplicates |
|
||||
| `outline_config.json` | Outline API token/collection mapping |
|
||||
|
||||
Per-course, written inside the course's own folder on the library volume:
|
||||
|
||||
Reference in New Issue
Block a user