-
-
Implementation plan
Related note from issue OD-2989: since mentions span projects, expose a cross-project surface under Global Views.
Current behavior
Mentions today are membership flags only (
IssueMention/PullRequestMention/CodeCommentMention, unique per entity+user). They drivementioned mequeries, authorize/watch side effects, and "(Mentioned You)" emails, but have no timestamp, source comment, or seen/unread state. The existing "Mentioned me" saved query is therefore not enough for an inbox with deep links.This issue stays narrower than issue OD-1995 (general notification center).
Proposed design
1. New
MentionNotificationentity (server-core)Keep existing mention join tables for query/auth/watch. Add a separate inbox row per mention event:
- Recipient user, actor, date
- Seen flag / seen date
- Target type + ids needed to open the right page with comment anchor (issue / pull request / code comment)
- Indexes suitable for
(user, seen, date)listing
Write rows from existing mention handling in
IssueNotificationManager(and PR / code-comment managers in the same feature or a follow-up). Prefer one notification per mentioning event even if the join-table mention already exists, so re-mentions stay visible.2. Topbar dropdown (primary UX)
Mirror the Alerts dropdown in
LayoutPage(topbar-right):- Icon + unread badge
- Opening the dropdown marks listed items as seen
- Row click navigates via
UrlServiceto the entity URL with comment anchor - Live refresh via the same observer/websocket pattern as alerts
3. Global Views page (cross-project)
Add a Mentions entry under Global Views (main menu), with a cross-project list page in the same family as
~issues/~pulls:- Shows the current user's mention notifications across projects
- Deep-links to the mentioning comment
- Complements the dropdown (dropdown = recent/unread; page = fuller history while retained)
4. Cleanup
Daily scheduled task (same idea as chat retention): delete seen notifications older than about 14 days.
5. Nice-to-haves (can be follow-ups)
- Profile setting (near Notify Own Events) to enable/disable mention emails
- First-class PR and code-comment mentions in the same table/UI
Out of scope here
- Full notification center / watch / build bells (issue OD-1995)
- Replacing email with in-app-only delivery
Suggested order
- Entity + service + write path for issue mentions
- Topbar dropdown + mark-seen + cleanup
- Global Views list page + menu entry
- PR/code-comment coverage + optional email preference
Please review/adjust before implementation.
-
-
| Type |
New Feature
|
| Priority |
Normal
|
| Assignee | |
| Labels |
No labels
|
Similar to OD-1995 but with a focused scope to minimize noise.
I frequently interact with users through issue comments. The problem is that I have no way of knowing when I have been mentioned in an issue that needs my attention. It would be nice to have a view that provides a direct link to the issue comment where I am mentioned.
Potential scope:
topbar-rightto show mention notificationsafter 14 days)Nice to have: