naggie / dstask

Git powered terminal-based todo/note manager -- markdown note page per task. Single binary!
https://calbryant.uk/blog/dstask-a-taskwarrior-alternative/
MIT License
801 stars 47 forks source link

Urgency #101

Closed cgardner closed 3 years ago

cgardner commented 3 years ago

Addressing #100

kingo55 commented 3 years ago

This looks useful.

Looks like we could use task notes for additional context based on Task Warrior's formula [1]. And eventually task dependency/due dates.

1: https://taskwarrior.org/docs/urgency.html

dontlaugh commented 3 years ago

Can you add an integration test for this? Maybe a description of how urgency is computed?

naggie commented 3 years ago

so @cgardner -- this PR seems well written. My only concern is the calculation seems to be a bit arbitrary vs the fairly basic sorting we already have. I'd like to have some way of determining the "correct" factors. Any ideas anyone?

Also glad to see coverage in there, it will be good to put that in master.

cgardner commented 3 years ago

It's absolutely arbitrary. I went with values that felt right to me. I figured we could discuss and customize that bit during the review process.

I will pull out the coverage work to a separate PR so it can move independently.

cgardner commented 3 years ago

I updated the output to show a table of why the urgency is what it is. Hopefully this will make the reason more transparent. I can add the full calculation to the table if that would be more helpful.

image

naggie commented 3 years ago

Hey @cgardner do you have some specific problems that this solves? Several things that you've encountered where tasks would have otherwise been forgotten about would be useful; I think if the urgency system is right, it will mitigate items falling off the terminal screen.

I'm not yet convinced that it needs to be more complicated than the very straightforward priority/age thing where we effectively rely on the user to set an urgency via priority

cgardner commented 3 years ago

Nothing specific, just more fine grained sorting. I could go either way, but learned a lot doing this. :)

naggie commented 3 years ago

Ok then -- thanks for the investigation nonetheless!

ecocode commented 1 year ago

I would love this urgency feature, but somewhat it should be user-configurable. Perhaps like taskwarrior does. ie. With taskwarrior tasks with the "next" tag will show high up in the list. This is very useful to figure which task to work on next, prject indepently. When using the user defined P0-4 priorities, tasks often all end up in P0, because you tend to put a task higher in the list by increasing the priority. You can degrade priority of current P0 tasks to make the "next" tagged task get above the others, but that looks like a cumbersome job. Of course you can perhaps script this. But then again there are other stuff you want to show higher in the list. Like ie. I have 3 projects which are urgent because of the due date coming near. With taskwarrior you can then just add a specific factor to those projects, even finetune priorities between them.

Definitely a wishfull feature !

ecocode commented 1 year ago

@cgardner Can you consider reopening this enhancement request based on my previous comment ?