dwyl / dwyl/chat

Reactions/Emojis on Messages

Open
#33 1 comment 2 reactions 0 assignees View on GitHub
enhancement feature-request
Dominant language
Elixir
Stars
65
Forks
8
PR merge metrics
No merged PRs in 30d

Description

One of the things I _miss_ from `Slack` when I am using _other_ messaging apps
is the ability to leave a "reaction" (_emoji_) on messages rather than replying.
So a message that people _agree_ can get a few 👍 (_up-votes_) without having to _flood_ the stream with "_I agree_" messages.

![image](https://cloud.githubusercontent.com/assets/194400/26211038/5d33debe-3be9-11e7-9a27-69ef7254b392.png)

In this case `@chadrien` joined the channel and rather than _everyone_ greeting him, they just gave a "wave" emoji to signal their awareness.

This reduces the number of message notifications being sent to _everyone_ in the network,
which _saves resources_! (_the feature is both useful and a cost saving in terms of resources!_)

## Story

> as a `person` using the chat app
> I want to leave a `reaction` to messages in the form of an `emoji`
> So that I can `acknowledge a message without replying` to it with more _text_.
(_which clutters up the chat feed with un-necessary one-word replies_)

## Tasks/Todo

+ [ ] Investigate if `Slack` has a **patent** on the "reaction" thing (_or if someone `else` does_...)
+ [ ] decide how to store the `data` for a reaction and associate it with a given message.
provisionally thinking https://github.com/dwyl/learn-kappa-architecture but would love to hear suggestions/alternatives.
+ [ ] Sketch UI for adding reactions to messages.
+ [ ] Sketch UI for _viewing_ reactions:
+ [ ] **Who** created the reaction
+ [ ] **When** was it added
+ [ ] **What** was the emoji
+ [ ] **Was** the emoji ***removed***? (_When?_)
+ [ ] Once we have _discussed_ the feature, please split it out into as many issues as required and estimate each one. (_thanks!)

## _Enhancement_

`Slack` does not allow you to see _when_ the reaction was left, or the _order_ they were left in.
They _must_ be tracking this somewhere, so they _could_ make a view to show it.
The _reason_ this would be _useful_ would be to _know_ when someone reacted so that people:
+ A. Don't "agree" with something weeks after the fact and then point to this "fact" and say "I replied".
+ B. Don't _remove_ their reaction after the fact and _deny_ they saw the message.

> _Both_ of these cases have happened in a team that used to use `Slack` and caused grief.
> We can build something _way_ better.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the issue's unresolved questions about reaction storage, message association, UI creation and display, and removal history. The work is done only after the feature is discussed, broken into scoped issues, and each part has an estimate; no files or tests are named.

Written by the indexing model from the issue text.

Assessment

Tech stack
elixir
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.