Track multiple TODOs / mentions per item / issue / merge request
### Release notes You can now stay on top of multiple discussions and mentions within a single issue or merge request. With the new multiple to-do items feature, you'll receive separate to-dos for each mention or action, ensuring you don't miss important updates or requests for your attention. This enhancement helps you manage your work more effectively and respond to your team's needs more efficiently. https://docs.gitlab.com/ee/user/todos.html#multiple-to-do-items-per-object ### 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 https://gitlab.com/gitlab-org/gitlab/-/issues/28355#note_447072597 for more details ### To resolve before making this generally available - [x] 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 - [x] Enable the feature flag by default - [ ] Introduce the ability to group todos by todoable object (https://gitlab.com/gitlab-org/gitlab/-/issues/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. (https://gitlab.com/gitlab-org/gitlab/-/issues/461111) - [ ] Provide better visual indicators where your todo exists within todoable.
issue