[Bug] Caldav Priority not properly syncing with tasks.org mobile app #866
Labels
No Label
dependencies
duplicate
help wanted
invalid
kind/bug
kind/feature
needs reproduction
question
security
wontfix
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: vikunja/vikunja#866
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The tasks.org mobile app allowes for 4 Priorities to be set (Gray, Blue, Yellow, Red)
While I assume that a caldav lib is used within vikunja I'll reference the official caldav doc anyways
I'm not exactly sure what the tasks.org priorities translate to given the doc but here is what happens inside vikanju:
With nextcloud and the nextcloud tasks app, the priority can be set to anything from 0-9 (following the caldav spec).
The tasks.org android app probably has ranges defined to map those numbers to a corresponding color (I'm just guessing though)
Given that there are currently 6 priorities within Vikunja, I'm not sure how to best handle this.
Adapting the 4 options of tasks.org or the full on 10 (0-9) following the spec are the two obvious options.
Something else Nextcloud does is they allow you to toggle between "Unset" (Priority 0) and "High" (Priority 1) to improve usability.
This could be adapted and even improved upone by allowing the user to "cycle" though f.e. 4 priorities with one button where each press increases the priority until it cycles back to unset. Unset -> Low -> Medium -> High -> Unset
A advanced view or input would than allow to enter a explicit number.
If the 6 priorities are set in stone already a different solution should be thought of but I can't think of anything good from the top of my head right now.
Finally, thanks for this project. I've been looking for exactly this for years and ended up hosting nextcloud only for the sake of the tasks app (hard overkill)
I think in the long term it would make most sense to use all 10 levels of priorities. For a "quick fix" I think something like this should work:
As the spec from your link says:
Maybe this could do with more "spacing" between them:
I have now crosschecked nextcloud with tasks.org and this is how it works over there:
The colors shown withing nextcloud are also the same as the ones by tasks.org.
Also, the other way arround, this is what tasks.org sets as priority when selecting one of the 4 colors (doesn't really matter but for completeness sake):
Then I think the second priority from my comment earlier would make most sense.
Not sure I agree as this would cause "yellow" within tasks.org (which is the middle priority) to show up as "High" within Vikunja.
Wouldn't it make more sense to either just copy the mapping like nextcloud has it or even go as far as to only have exactly 4 corresponding to tasks.org (0, 9, 5, 1).
Not sure if some people would want more fine grain controll over their priorities though.
If the goal is to map the "medium" priority to the medium priority in Vikunja, maybe something like this would work?
The problem is I'd like to avoid changing the priorities as they are currently in Vikunja because that would be a breaking change. Nextcloud has only 3 priorities whereas Vikunja has 5, so copying the mapping from Nextcloud wouldn't work. Remember caldav sync is two-way, so if you change the priority in the Vikunja to something like "DO NOW" it would not show up in caldav.
Ah, I wasn't aware that there would be breaking changes in Vikunja.
To be honest, I dislike the fakt that there are only 4 priorities to choose from within tasks.org but it's otherwise a solid app.
IMO one the the highest quality open source apps I know which is why Vikunja, as a "client" for the desktop, would work so well as there isn't anything else that's usable. :)
Back to the problem at hand though.
Your suggestion seems quite sane.
This would mean that the frontend would have the following 5 options right?
Yes, plus one more for Vikunja's "Urgent" priority and "padding" for the ones in between (though that would only matter when saving the priority through caldav).
I tried looking at the source but I have 0 go experience and really am not sure how to help with this :/
Is this where the mapping has to happen?
Yup, and then when parsing the updated task from the caldav cliente here.
The whole caldav implementation is wayy too messy and definitly needs some cleanup.
Fixed in
e21a3904ff
- please check with the latest unstable release (CI is running, should take ~45min until the release artifacts are ready).Feel free to reopen if you have any issues.
Sorry it took so long.
Looking very good. I can finally migrate away from nextcloud 🥳
Thanks a bunch!