multica/apps/web/components/common
Bohan Jiang f353e8db59
feat(mentions): support @mentioning issues + server-side auto-expansion (#242)
* feat(mentions): support @mentioning issues in comments

- Extend MentionItem type to include "issue" alongside "member"/"agent"
- Add issue search (by identifier and title) to mention suggestion dropdown
- Render issue mentions with CircleDot icon in autocomplete popup
- Issue mentions serialize as [MUL-117 Title](mention://issue/id) (no @ prefix)
- Markdown renderer shows issue mentions as clickable links to /issues/:id
- Backend mentionRe regex updated to match issue mention type

* feat(mentions): auto-expand issue identifiers and add mention format to agent instructions

1. Path A — CLAUDE.md template (runtime_config.go):
   Add a "## Mentions" section teaching agents the mention serialization
   format for issues, members, and agents. All agents automatically
   receive this via the auto-generated CLAUDE.md.

2. Approach 2 — Server-side auto-conversion (internal/mention/):
   New ExpandIssueIdentifiers() utility that scans comment content for
   bare issue identifiers (e.g. MUL-117) and replaces them with
   [MUL-117](mention://issue/<uuid>) mention links. Skips code blocks,
   inline code, and existing markdown links. Integrated into both:
   - handler.CreateComment (HTTP API path)
   - service.createAgentComment (agent task output path)
2026-04-02 13:48:53 +08:00
..
actor-avatar.tsx refactor(web): unify all avatar rendering with ActorAvatar 2026-04-01 16:58:43 +08:00
code-block-view.tsx feat(ui): editor UX improvements — lowlight, upload, emoji, comment editing 2026-03-31 18:37:53 +08:00
emoji-picker.tsx feat(reactions): add emoji reactions for comments and issue descriptions 2026-03-30 22:37:59 +08:00
file-upload-button.tsx feat(ui): editor UX improvements — lowlight, upload, emoji, comment editing 2026-03-31 18:37:53 +08:00
mention-hover-card.tsx feat(mentions): support @all to mention all workspace members 2026-04-01 20:58:33 +08:00
mention-suggestion.tsx feat(mentions): support @all to mention all workspace members 2026-04-01 20:58:33 +08:00
quick-emoji-picker.tsx feat(ui): editor UX improvements — lowlight, upload, emoji, comment editing 2026-03-31 18:37:53 +08:00
reaction-bar.tsx feat(ui): editor UX improvements — lowlight, upload, emoji, comment editing 2026-03-31 18:37:53 +08:00
rich-text-editor.css feat(ui): editor UX improvements — lowlight, upload, emoji, comment editing 2026-03-31 18:37:53 +08:00
rich-text-editor.tsx feat(mentions): support @mentioning issues + server-side auto-expansion (#242) 2026-04-02 13:48:53 +08:00
title-editor.css feat(editor): add TitleEditor component, replace <input> for issue titles 2026-03-31 15:38:42 +08:00
title-editor.tsx fix(web): delay TitleEditor autofocus to avoid Dialog animation conflict 2026-04-01 14:15:31 +08:00