Overview
Reactions allow you to:- Respond quickly with emoji
- Show agreement or acknowledgment
- Express emotions without interrupting conversation
- See who reacted with each emoji
- Use standard Unicode emoji
- Use custom organization emoji (if configured)
Quick Feedback
React instantly without composing a message
One Per User
Each user can use each emoji once per message
Toggleable
Click again to remove your reaction
Custom Emoji
Use organization-specific custom emoji
Adding Reactions
Quick React
Add a reaction to any message:- Hover over a message
- Click the reaction icon (π) that appears
- Select an emoji from the picker
- Or click a frequently used emoji
Reaction Picker
The emoji picker includes:- Recent - Your recently used emoji
- Frequently Used - Popular reactions
- Emoji Categories - People, Nature, Food, Activities, etc.
- Custom Emoji - Organization-specific emoji (if configured)
- Search - Find emoji by name or keyword
Keyboard Shortcuts
Quick reactions with hotkeys:- π - Thumbs up
- β€οΈ - Heart
- π - Laughing face
- π - Party popper
- π - Rocket
Hover over a message and press the corresponding number key (1-5) to add these quick reactions.
Removing Reactions
Remove your reaction:- Click your reaction emoji on the message
- The reaction is instantly removed
- Hover over the message
- Click the reaction icon
- Click the highlighted emoji to toggle it off
Viewing Reactions
See who reacted to a message:- Hover over a reaction count
- Tooltip shows list of users who reacted
- Your reaction is highlighted
Reaction Behavior
One Reaction Per Emoji
Each user can react once with each emoji:- β You can add π and β€οΈ to the same message
- β You cannot add π twice to the same message
- Clicking an emoji youβve already used removes it (toggle behavior)
Real-Time Updates
Reactions sync instantly:- See reactions from other users immediately
- Reaction counts update in real-time
- Optimistic updates for instant feedback
- Automatic sync via Electric SQL
Persistence
Reactions are permanently stored:- Survive app restarts
- Sync across all your devices
- Visible to all channel members
- Deleted when message is deleted
Custom Emoji
Organizations can add custom emoji:Adding Custom Emoji
- Go to Organization Settings β Custom Emoji
- Click Add Emoji
- Upload an image file (PNG, GIF recommended)
- Enter a short name (e.g., βsuccessβ)
- Save the custom emoji
Using Custom Emoji
- Type
:shortname:in messages (e.g.,:success:) - Select from the emoji picker
- Use in reactions like standard emoji
- Available only in the organization where created
Custom emoji must be uploaded by organization admins or owners. Rate limited to 5 uploads per hour.
Reaction Notifications
Receive notifications when someone reacts to your message:- Notification appears in your notification center
- Shows who reacted and with which emoji
- Links directly to the message
- Can be disabled per channel
Use Cases
Quick Acknowledgment
Use π to acknowledge youβve seen and understood a message without adding noise to the conversation.Voting and Polls
Create informal polls:Showing Support
Use β€οΈ to show support or appreciation for someoneβs message or achievement.Indicating Status
Use reactions to show task status:- β - Done
- π§ - In progress
- βΈοΈ - Blocked
Celebrating Wins
Use π, π, or π to celebrate team wins and milestones.Reaction Analytics (Coming Soon)
Future features:- Most used emoji in organization
- Reaction trends over time
- Top reactors leaderboard
- Custom emoji usage statistics
Technical Details
Data Model
Each reaction includes:Unique Constraint
Database enforces uniqueness:RPC Operations
Toggle Reaction:Database Indexes
Optimized queries with indexes on:channel_id- Channel reactionsmessage_id- Message reactionsuser_id- Userβs reactionsmessage_id, user_id, emoji- Uniqueness check
Emoji Format
Reactions support: Standard Emoji:- Stored as Unicode characters (e.g., βπβ, ββ€οΈβ)
- Cross-platform compatible
- Maximum 50 characters (for multi-codepoint emoji)
- Stored as custom emoji ID reference
- Resolved to image URL in frontend
- Organization-specific
Real-Time Sync
Reactions sync via Electric SQL:- Instant delivery to all channel members
- Optimistic updates for instant UI feedback
- Automatic conflict resolution
- Offline support with sync on reconnect
Permissions
Add Reactions:- Must be channel member
- Rate limited with message operations (60/min)
- Only your own reactions
- Or organization admin/owner
- All channel members