mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-01-23 02:36:05 +00:00
docs(sync): mark subtask orphan detection as false positive
Re-evaluated the "missing subtask cascade in tag deletion" issue. The current behavior is correct: - A subtask with a surviving parent is NOT orphaned - it's accessible through the parent in the UI - If a parent is orphaned, its subtasks ARE correctly deleted - Subtasks always have parentId, so they're never directly orphaned This is intentional behavior, not a bug.
This commit is contained in:
parent
0353f1d359
commit
89066aca51
2 changed files with 23 additions and 11 deletions
|
|
@ -163,14 +163,20 @@ The `take(1)` operator ensures the observable completes after receiving one valu
|
|||
|
||||
---
|
||||
|
||||
### 2. Missing Subtask Cascade in Tag Deletion
|
||||
### 2. ~~Missing Subtask Cascade in Tag Deletion~~ - FALSE POSITIVE
|
||||
|
||||
**File:** `src/app/root-store/meta/task-shared-meta-reducers/tag-shared.reducer.ts`
|
||||
**Lines:** 85-116
|
||||
**Status:** Re-evaluated on 2025-12-08 - NOT A BUG
|
||||
|
||||
Orphan detection only runs on parent tasks. Subtasks of surviving parents that lose all tags become orphaned but aren't cleaned up.
|
||||
**Original Claim:** Subtasks of surviving parents that lose all tags become orphaned but aren't cleaned up.
|
||||
|
||||
**Fix:** After removing tags from tasks, also check subtasks of surviving parents.
|
||||
**Why It's Not a Bug:** A subtask with a surviving parent is NOT orphaned - it's still accessible through its parent in the UI. The current logic is correct:
|
||||
|
||||
- A task is orphaned only if it has no tags, no project, AND no parent
|
||||
- Subtasks always have a `parentId`, so they're never directly orphaned
|
||||
- If a parent becomes orphaned, its subtasks ARE correctly deleted via `removeOrphanedTasks()`
|
||||
- If a parent survives, its subtasks remain accessible through the parent
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -378,12 +384,12 @@ Checks `!task.projectId` but doesn't verify project still exists (could be delet
|
|||
|
||||
### Phase 2: High Priority (Current)
|
||||
|
||||
| # | Issue | Status |
|
||||
| --- | ------------------------------ | ------------------------- |
|
||||
| 1 | Snapshot timing | **FIXED** (2025-12-08) |
|
||||
| 2 | Subtask orphan detection | tag-shared.reducer.ts |
|
||||
| 3 | Race conditions | task-due.effects.ts:40-65 |
|
||||
| 4 | Error handling standardization | Multiple effects |
|
||||
| # | Issue | Status |
|
||||
| --- | ------------------------------ | --------------------------- |
|
||||
| 1 | Snapshot timing | **FIXED** (2025-12-08) |
|
||||
| 2 | Subtask orphan detection | FALSE POSITIVE (2025-12-08) |
|
||||
| 3 | Race conditions | task-due.effects.ts:40-65 |
|
||||
| 4 | Error handling standardization | Multiple effects |
|
||||
|
||||
### Phase 3: Add Tests
|
||||
|
||||
|
|
|
|||
|
|
@ -90,11 +90,17 @@ if (!cache) {
|
|||
|
||||
## High Priority Issues
|
||||
|
||||
### 2. Missing Subtask Cascade in Tag Deletion
|
||||
### 2. ~~Missing Subtask Cascade in Tag Deletion~~ - FALSE POSITIVE
|
||||
|
||||
**File:** `src/app/root-store/meta/task-shared-meta-reducers/tag-shared.reducer.ts:85-116`
|
||||
**Status:** Re-evaluated on 2025-12-08 - NOT A BUG
|
||||
|
||||
When tags deleted, orphan detection only runs on parent tasks. Subtasks of surviving parents that lose all tags become orphaned but aren't cleaned up.
|
||||
**Original Claim:** Subtasks of surviving parents that lose all tags become orphaned.
|
||||
|
||||
**Why It's Not a Bug:** A subtask with a surviving parent is still accessible through the parent. The current logic correctly:
|
||||
|
||||
- Only marks tasks as orphaned if they have no tags, no project, AND no parent
|
||||
- Deletes subtasks when their parent is orphaned
|
||||
|
||||
### 3. ~~Snapshot Saved Before Validation~~ - FIXED
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue