TechbeeAT / jtxBoard

jtx Board allows you to manage your Journals (like meeting minutes), Notes and Tasks in one Android app. The app is compatible with the iCal standard (RFC5545) and is integrated with DAVx5 to allow the synchronisation of entries through CalDAV.
https://jtx.techbee.at/
GNU General Public License v3.0
352 stars 10 forks source link

[BUG] Changing collections (and colors) for all items and tasks #1518

Open BenByes opened 1 month ago

BenByes commented 1 month ago

Describe the bug

Attaching existing children and parents with different collections from each other work regularly without any issue however changing collection for an already exist item with parents or children is buggy - changing a subtask collection is not possible, and changing a parent collection create a duplicate for its subtasks.

Also it's not possible to change subtask color once it has parent/s.

To Reproduce

First let's test the attaching items from different collections option:

Add an existing subtask to a task that belong to different collection (SUCCESS)

  1. Create a task called "Task A" in "Collection A".
  2. Create a subtask unfer "Task A" called "some subtask".
  3. Create a new task called "Task B" in "Collection B".
  4. Inside "Task B" details screen, link the existing "some subtask" as a child to "Task B" through the "link entry" button ("some subtask" now has two parents from two different collections but its immediate collection stays the same - "Collection A").
  5. The above is indeed the expected behavior.

Add an existing parent task as a parent to a subtask from a different collection (SUCCESS)

  1. Create "Task A" in "Collection A"
  2. Create a subtask called "some subtask" under "Task A"
  3. Create a new task called "Task B" that belong to "Collection B"
  4. Go to the details screen of "some subtask"
  5. This subtask now has the parent "Task A"
  6. Link the existing parent "Task B" (from "collection B") as well ("some subtask" now has two parents from two different collections but its immediate collection stays the same - "Collection A")
  7. The above is indeed the expected behavior

Now let's test changing collections for items that already have either parents, children or both:

Change subtask collection after creating it (NOT POSSIBLE)

  1. Go to an existing task belong to "collection A".
  2. Create a subtask.
  3. Enter the subtask details after creating it.
  4. Try to change the subtask collection / color (no luck here).

Change collection for a task that already has children from different collections (CREATE DUPLICATES)

  1. Create "Task A" in Collection A.
  2. Create "Task B" in Collection B.
  3. Create a task called "Subtask".
  4. Enter "Subtask" details screen.
  5. Link both "Task A" and "Task B" as parents for "Subtask".
  6. "Subtask" now has two parents from two different collections.
  7. Go to one of the parents and change its collection to some other collecion.
  8. "Subtask" now is being duplicated and being "splited" into two different tasks! so instead of having two different parents we now have "Task A" and "Task B" and each one of tgem has two different subtasks, woth only ine parent for each subtask. changing one "subtask" properties will not effect the other "subtask" therefore those are duplicates.

Expected behavior

The expected behavior is to completely "unattach" parent/child relationship to the collection property, changing collection will be possible for each item without effecting its parents and children whatsoever. and if we export or sync our tasks they will be shown as first level tasks without connecting between of them (as most tasks app don't have this multiple "many to many" relationships feature rather than a "regular" "one to one" or "one to many" task-subtask relation). I personally don't even use the sync option currently and manage everything through Jtx only, btw

Screenshots

Device and version