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
Intended users
Developers, particularly reviewers
Further details
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.
Proposal
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
Nothing new
Documentation
https://docs.gitlab.com/ee/user/todos.html#multiple-to-do-items-per-object
Current Status
Feature flag
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.
Next
-
Enable the feature flag by default -
Introduce the ability to group todos by todoable object (#282444 (closed)) -
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. (#461111 (closed)) -
Provide better visual indicators where your todo exists within todoable.