-
Notifications
You must be signed in to change notification settings - Fork 100
[Feature Request] Support 2Do subtasks creation #879
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@bcutter This issue is about nested lists, not tasks/subtasks. But since we are here anyway: I have never used 2Do app yet, but I quickly gave it a test (latest version from the iOS appstore) and I can confirm your findings. The problem is that 2Do does not (only) rely on the iCalendar specs, but stores its own metadata in a custom field of the task:
It seems that only when a field (don't ask me what exactly) in this meta-data is present the 2Do app treats a task as a checklist. When a task is recognized as a parent/checklist task, then the standard |
We actually do use The trouble is that rogue clients can either remove this property entirely at times or overwrite it with some other junk (I've seen this in the past). This has resulted in a lot of headache in the past where people have lost linkage between parent / sub-tasks and I think at some point I just gave up and rely solely on 2Do's own meta-data. I may have to do something special for NextCloud or simply add an option for users to "turn ON". |
@guidedways Great to have you here!
I am also not aware of any other client really doing it like this. But since I wanted to support subtasks and follow the standard, that's what I thought was most reasonable. I am happy you use this as well.
I haven't got any reports that clients broke this property (so far at least). I wonder why they would do it and not just ignore the property entirely.
That's understandable given your experience with the property being removed.
I think there are two options here:
To be honest I would prefer the first approach, because it would strictly follow the CalDAV standard without custom meta-data. However, I don't know the internals of the 2Do app. If the first approach creates a lot of trouble, we can also just add the 2Do meta-data field. This would probably require a request to alter the parent task (not necessary at the moment) and you would need to support me writing the meta-data, since I am afraid of breaking something in your meta-data field which would mess up the tasks in the 2Do app. PS: To be honest, I don't really understand the difference of a project / list in the 2Do app yet, so forgive me if I messed something up here. |
@guidedways has there been any progress in implementing |
@guidedways I'm fully aware software releases are ready when they're ready. But is there maybe any sort of status update concerning 2Do's subtask handling or any chance to at least confirm the |
@HackintoshHD I hear you. As much as I would want to (and love to) support this - the problem is that most CalDAV clients and servers don't support this. The real issue I have is with 3rd party clients "removing" this property or overwriting it with bogus / stale data during sync and creating a confusion as far as 2Do is concerned. I've in fact supported this (briefly) in the past, only to later sync "one-way", i.e. 2Do would set this property when pushing changes to the server, but won't care about its value when it pulls a task in. Most of the times this property gets removed by a client when it re-constructs the ICS data during sync. When that happens, 2Do has to rely on its internal meta-data. The problem with the internal meta-data is that some rogue client could in theory save a stale copy internally and send back this stale copy with a parent-UID that no longer exists. I've seen this happen before. Right now, 2Do is able to make an intelligent guess and resolve such a conflict when it happens, but if it were to rely on yet another property that isn't properly supported, we'll end up with a scenario where we don't know which UID to trust. This isn't impossible to "fix" - 2Do could just treat NextCloud differently and support it natively. I wouldn't want NextCloud to deal with Currently 2Do's internal Sync-related code is being re-written / ported to Swift and I think it would make more sense to look into this again when I'm ready. Very difficult to pin down a date but I've got this high up in the todo-list to come back to and re-consider. |
@guidedways Thank you for the status update and for making the decision process on Nextcloud Tasks subtask compatibility transparent. I understand the reasons behind your decision. I'd be more than happy, of course, if this current decision to initially not support Nextcloud Tasks' subtasks could be reconsidered once the code's Swift rewrite is nearing completion (like possibly others here, I've bought 2Do and BusyCal and together with a (read-only) instance of Thunderbird, they're the only CalDAV clients involved in my sync workflow - from what I understand, this should make most of the problematic points mentioned above irrelevant). Maybe the feature could have some sort of 'hidden' status, e.g. like Firefox/iOS' feature to define custom sync servers (= five taps on app info to display the enabling switch), and an 'unsupported for the following reasons, you have been warned' dialog? That would enable users with sufficient background knowledge to use the feature while the standard user wouldn't get in touch with it and thus wouldn't cause support time. |
Just FYI and for reference, in case people interested in this thread would like to support it: A very same feature request for Thunderbird. |
@guidedways The Tasks app for Android can sync sub-tasks with Nextcloud sub-tasks. It works very nicely. I tried to use 2Do with my nested nextcloud tasks, but it's simply unusable the way it is... so removed it. |
I‘m not sure if that’s related, but although I am usually not using sub-sub tasks, it seems as if sometimes hierarchy information is lost if I move around tasks via nextcloud. |
@guidedways For IOS your APP is the only one which is usable and have the possibility to sync with nextcloud. I would love to see its own synchronization method for nextcloud in your app. |
Wondering if this is fixed? I have another issue that's related:
Edit: I tried Fantastical which also sync through CalDAV. It was originally for calendar only but i noticed it also has Tasks view. It having similar issue that sub-task become flat and lost parent-child relation. I assume the issue is Fantastical doesn't support sub-task, but maybe it also possible it's the CalDAV issue. |
Is there still a chance this is being addressed? Has anyone found another way to properly sync iOS devices? |
1st question: I don't know. Can't see any major progress from a users' perspective 2nd question: No, using 2Do is still the best way to go (or would be). |
@guidedways First off, thanks for your explanation above. Caldav subtasks support (using (Also, let me know if there is a better way to engage with you about this than the github issues of another project, sorry!) |
Uh oh!
There was an error while loading. Please reload this page.
Originally posted by @bcutter in #23 (comment)
I´m a bit confused on this different behaviour, now reading all your posts understanding why (every app seems to implement an own way of creating a sub-sub-task hierarchy).
My experience:
[1] NC Tasks to 2Do:
[2] 2Do to NC Tasks:
The other way around is working great indeed:
But: the way "[2] 2Do to NC Tasks" is limited to only 2 level hierarchies. Adding sub tasks to sub tasks (3 levels) or more is not possible. Vice versa I can create a lot of levels in NC tasks web app (tested to 5 levels), but those are not synced correctly as described in way "[1] NC Tasks to 2Do".
It´s quite frustrating, having a great server/web app and a great endpoint app seeing both are not really working together. As a workaround I created some "spare" or "template" checklists/projects (tasks able to have child tasks) with the 2Do app, being able to use (rename, move and !!! add sub tasks which permanently stick to their parents !!!) them with the NC tasks web app. Not the best user experience, cause it´s not consistent... :-)
...but the workaround shows: NC tasks app can (and currently does!) SUPPORT those parent-child-connection (I don´t know which technique is used by 2Do app when selecting "project" or "checklist"), but it doesn´t create it. That would be SO powerful!
The text was updated successfully, but these errors were encountered: