Channel messages: auto-resolve @mentions on exact unique name match, not just dropdown selection
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
## Context
Raised by a user during triage of #6027 (the group-DM zero-p-tag bug). Related but distinct — this is about regular multi-person channels, not DMs.
## Current behavior
In a channel, typing `@name` as plain text and hitting send does **not** produce a real mention (no `p` tag) unless the suggestion is explicitly selected from the autocomplete dropdown. See `desktop/src/features/messages/lib/useMentions.ts` and `desktop/src/features/messages/ui/useMentionSendFlow.ts` for the current flow.
## Feedback
A user pointed out that requiring a manual tap/selection even after typing a name that **uniquely and exactly matches** one channel member is unnecessary friction — if two members share a prefix, the user already has to keep typing until the name is unambiguous; at that point the match is no less certain than a dropdown click would confirm. The dropdown-selection requirement doesn't add real disambiguation value once the typed text uniquely resolves to one member — it only adds a mandatory extra tap.
## Ask
Consider auto-resolving to a real mention (`p` tag) when the typed `@name` text is an exact, unique, unambiguous match against a current channel member — without requiring the user to select it from the dropdown. Dropdown selection would still be needed/available for:
- Ambiguous partial text (multiple candidates still match)
- Non-member or misspelled names
This is a product/UX decision (changes when a plain-typed word becomes a real notification), not a pure bug — flagging for maintainer judgment rather than assuming the "requires explicit selection" behavior was purely a safety measure. No PR attached; needs a design decision on exact-match semantics before implementation.
Contributor guide
Research direction
Start by reading desktop/src/features/messages/lib/useMentions.ts and desktop/src/features/messages/ui/useMentionSendFlow.ts to understand the current autocomplete and send flow. Confirm the exact-match semantics with maintainers before implementation, including ambiguous, non-member, and misspelled names. Done means the design decision is recorded and the resulting behavior distinguishes exact unique matches from cases that still require dropdown selection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100