Project

General

Profile

Actions

Feature #42630

open

Add reaction feature

Added by Katsuya HIDAKA 4 days ago. Updated about 6 hours ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
UI
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:

Description

This patch adds a reaction feature.

  • Adds reaction buttons to issues and notes, news and comments, and forum messages
  • Shows a tooltip with the names of users who reacted—up to 10 names, with the remaining number shown if there are more than 10
  • The feature is enabled by default and can be turned off in the administration settings

Please also refer to the following screenshots and GIF:

Background / Purpose

  • In my experience, there are many times on Redmine when I want to react to something without leaving a full comment. Reactions are now a common way to express appreciation, agreement, or support. I believe this feature will help encourage more interaction within Redmine.
  • Many modern project management tools like GitHub and Jira already support reactions. By adding this feature to Redmine, I believe it will help modernize the platform and promote its adoption.

Details

  • The icon used for reactions is thumb-up. This icon is commonly used to express appreciation, agreement, or support, and is widely adopted in tools similar to Redmine, such as GitHub, Jira, Asana, and Slack. Based on my experience, thumb-up is the most frequently used reaction icon in these tools.
  • Since reactions should be widely available by nature, this patch does not add a specific permission for them. Instead, access is controlled based on the following rules:
    • Add/Remove a reaction: Any logged-in user who can view the object (e.g., object.visible?(user) returns true)
    • View reaction button: Any user who can view the object

Implementation

  • To reduce memory usage and performance impact when displaying objects with many journals (such as issues), I implemented the feature to load only the minimum necessary data.
  • I confirmed that all tests, including system tests, pass.

You can also check the source code on GitHub:
https://github.com/hidakatsuya/redmine/tree/reaction-feature-dev

Performance

The following results were measured using rack-mini-profiler and memory_profiler when opening an issue detail page. The tested issue has 50 journals, each with reactions from 10 users. The Redmine instance is running the latest trunk on PostgreSQL in production mode.

Response Time (average of 5 runs) Memory Performance
Reactions Enabled 257ms Total allocated: 14490218 bytes (128483 objects)
Total retained: 2576895 bytes (7804 objects)
Reactions Disabled 214ms Total allocated: 11122428 bytes (96509 objects)
Total retained: 2064420 bytes (6036 objects)

Files

screenshot-forum.png (101 KB) screenshot-forum.png Katsuya HIDAKA, 2025-04-25 08:40
screenshot-issue.png (176 KB) screenshot-issue.png Katsuya HIDAKA, 2025-04-25 08:40
screenshot-news.png (103 KB) screenshot-news.png Katsuya HIDAKA, 2025-04-25 08:40
screenshot-setting.png (166 KB) screenshot-setting.png Katsuya HIDAKA, 2025-04-25 08:40
screenshot-tooltip-more-than-10-users.png (96.9 KB) screenshot-tooltip-more-than-10-users.png Katsuya HIDAKA, 2025-04-25 08:40
short-demo.gif (535 KB) short-demo.gif Katsuya HIDAKA, 2025-04-25 08:40
0001-Adds-reaction-feature-to-issues-news-and-forums.patch (28.1 KB) 0001-Adds-reaction-feature-to-issues-news-and-forums.patch Katsuya HIDAKA, 2025-04-25 08:40
0002-Adds-tests-for-reaction-feature.patch (31.4 KB) 0002-Adds-tests-for-reaction-feature.patch Katsuya HIDAKA, 2025-04-25 08:40
Add-reaction-feature.patch (56.1 KB) Add-reaction-feature.patch Katsuya HIDAKA, 2025-04-25 10:10

Related issues

Related to Redmine - Feature #1011: Add voting to ticketsNew2008-04-07

Actions
Actions

Also available in: Atom PDF