GothenburgBitFactory / GothenburgBitFactory/taskwarrior

Feature request: show tasks that block tasks matching some filter

Open
#2,083 0 comments 0 reactions 0 assignees View on GitHub
type:enhancement
Dominant language
C++
Stars
6.1k
Forks
423
Avg merge
1d 19h
Merged PRs (30d)
11

Description

#### Feature request

The user should be able to filter not only for tasks matching some particular project or tag, but also for tasks *blocking* tasks having that project or tag.

(Possibly, "project or tag" in the sentence above should be replaced with "filter". I am not sure.)

#### Example use-case

*This is somewhat far-fetched, but is the best example I could think of. If I come up with a better use-case, I will add it later in the thread.*

Suppose a student is sitting final exams. She has just landed her first office job, via telephone interview, to start the Monday after she finishes the finals. She has been given a list of tasks to do that will fill her first day on the job. Tasks 1-6 can be done from home or from the office, but tasks 7-12 must be done at the office, which has a dress code and which is not accessible by bicycle or public transport. So, before the job starts, she must buy a suit to wear, and buy a car.

So that she can forget about the job for the moment and concentrate on her finals, she installs TaskWarrior 2.5.1 and creates:

* a `.taskrc` that includes the following configuration lines:

```
report.next.filter = status:pending limit:page +UNBLOCKED +READY
urgency.inherit=on
urgency.blocked.coefficient = 0.0
urgency.blocking.coefficient = 0.1
urgency.uda.priority.H.coefficient = 1.0
urgency.uda.priority.M.coefficient = 0.0
urgency.uda.priority.L.coefficient = -1.0
urgency.age.coefficient = 0.0
urgency.tags.coefficient = 0.0
urgency.project.coefficient = 0.0
urgency.annotations.coefficient = 0.0
urgency.active.coefficient = 0.5
```
* a context called `work` that imposes the filter `project:work or +work`;
* her dozen first-day-at-work tasks (IDs 1-12) in `project:work`;
* a task (ID 13) via `task add project:wardrobe +work Buy suit` (she figures she will use `project:wardrobe` for all tasks relating to her clothes, so it is appropriate here; but she adds the `work` tag in this case because the suit will *only* be for work);
* a task (ID 14) via `task add project:transport Buy car` (she figures she will use `project:transport` for all tasks relating to transportation, including buying train tickets etc, so it is appropriate here; but she adds no tags because the car will have general utility, it won't be used only for commuting);

She then marks tasks 7-12 dependent upon tasks 13 and 14, in accordance with reality.

Fast forward: her finals are now finished. Phew! Under the stress, she has forgotten all of her to-dos about the job, but that's fine, she thinks, because she entered them into TaskWarrior, and she has the weekend to take care of the needed preparation.

She runs `task context work; task`, in order to start preparing herself. She sees `task 1: Buy suit` at the top of the list. She buys the suit and marks the task as done. The only remaining tasks are tasks 1-6, which, she notes, can all be done at home on Monday. So, she relaxes for the rest of the weekend.

On Monday, she stays home and completes tasks 1-6, then rings her manager to say that she has done everything on her to-do list. She is shocked when her manager asks why she hasn't done tasks 7-12, and why she hasn't come to the office!

But where is her record of tasks 7-12? And how could she come to the office? She doesn't even have a car, and has no other way to get there. What on earth went wrong?!

Eventually, she runs `task context none; task`, sees the remaining hidden tasks, and thinks, "How could I have prevented this happening? I know! **I should have configured the `work` context filter so that it also included tasks that *block* tasks matching `project:work or +work`.**"

She sets out to do this, but soon loses hope. It seems to be beyond TaskWarrior's current capabilities.

#### Possibly related

https://github.com/GothenburgBitFactory/taskwarrior/issues/186, https://github.com/GothenburgBitFactory/taskwarrior/issues/337.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.