Track multiple TODOs / mentions per item / issue / merge request
Problem to solve
At present, if I'm mentioned in an issue or merge request, I get a TODO notification. This is the primary means through which I organize my work. However, if someone mentions me multiple times on a single issue or MR between work sessions, I only get the notification for the first mention.
Scenarios the solution should support:
- Know when you are being repeatedly tagged (more urgency being generated)
- Know the multiple places where your attention is needed
Developers, particularly reviewers
This is particularly an issue on threaded-discussion issues or MRs, where I might need to respond to 3 or 4 independent points. Particularly on a very large MR, unless I take the trouble to review every discussion, it's easy for me to miss a discussion that is blocked on my input.
Ideally, we'd track all mentions. When someone visits a page containing a mention with an outstanding TODO, it would be highlighted in some obvious way. When there are multiple TODOs to address on a single page, it would be great if I could see just those, somehow.
We need to do this in a way that doesn't cause TODO bloat - perhaps grouping them by item and allowing them to be dismissed en per-item would be enough?
Permissions and Security
The initial implementation is available behind a feature flag.
multiple_todos - This currently enables the creation of multiple todos while keeping the UI the same. See #28355 (comment 447072597) for more details
To resolve before making this generally available
Either dedupe todos that happen at the same time from a todoable or combine multiple concurrent todos from the same todoable into a single todo. Examples:
- Upon todoable creation, user is assigned and mentioned in description.
- Upon comment on todoable, user is mentioned and a quick action is triggered to assign the same user.
- Upon pipeline failure, a todo is created. This is noisy if there are lots of failing pipelines on a single todoable.
Introduce the ability to group todos by todoable object (#282444)
Improve the UX and resolvability such that each todo can be resolved independently and possibility support the ability to blanket mark all todos as done.
Provide better visual indicators where your todo exists within todoable.