Skip to content

feat: add channel mentions to rich text editor - #245

Merged
StephenTangCook merged 1 commit into
mainfrom
StephenTangCook/eng-6388-channel-mention-picker
Oct 15, 2026
Merged

StephenTangCook merged 1 commit into
mainfrom
StephenTangCook/eng-6388-channel-mention-picker

Conversation

@StephenTangCook

@StephenTangCook StephenTangCook commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds an opt-in host-backed channel mention picker to the rich text editor. Typing # at a valid trigger position or choosing the new Channel toolbar action searches channels and inserts an exact Slack { type: "channel", channel_id } element.

  • Extends MentionsConfig with searchChannels and getChannelName, plus the exported MentionChannel type.
  • Preserves existing channel mentions in WYSIWYG mode, including supported bold, italic, strike, and underline styles.
  • Keeps the @ and # suggestion plugins independent and available in the same editor.
  • Exposes combobox/listbox state to assistive technology while focus remains in the editor.
  • Falls back to structured mode for unsupported channel styles, code-block mentions, and malformed channel elements.

Why

ENG-6388 needs Message Blaster admins to tag Slack channels without editing raw Block Kit JSON. Search remains host-brokered so consumers control tenant and caller visibility.

Test plan

  • pnpm typecheck
  • pnpm lint
  • pnpm test (723 tests)
  • pnpm build
  • Added Storybook coverage for seeded user and channel mentions.
  • Verified typed and toolbar channel picks, keyboard selection, Escape behavior, exact Slack serialization, name fallback, no-config round trip, styles, and malformed payload fallback.

Notes for reviewer

This is the package prerequisite for the Tightknit app integration. After merge, release-please must publish the next package version before the app PR can replace its local validation link with the npm release.

Tightknit ENG-6388


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@github-actions

Copy link
Copy Markdown
Contributor

Cloudflare preview

✅ Deployed 89320e7 · Branch preview · Commit preview · Build logs

@cloudflare-workers-and-pages

Copy link
Copy Markdown
Contributor

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
block-kitchen 89320e7 Commit Preview URL

Branch Preview URL
Oct 15 2026, 05:10 PM

@StephenTangCook
StephenTangCook merged commit 98012e3 into main Oct 15, 2026
13 checks passed
@StephenTangCook
StephenTangCook deleted the StephenTangCook/eng-6388-channel-mention-picker branch October 15, 2026 17:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant