RocketChat / RocketChat/Rocket.Chat

Recently used emojis are not synchronized across clients/devices

Open
#41,985 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: bug
Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Description

The Recently Used section in the emoji picker is not synchronized across Rocket.Chat clients/devices for the same user.

When an emoji is used frequently on one device or client, it appears in the "Recently Used" section there, but the list remains different on other devices or clients where the same Rocket.Chat user is logged in.

This makes the recent emoji history effectively client-local instead of user-specific.

Steps to reproduce

  1. Log in to the same Rocket.Chat account on two different clients or devices.
  2. On client A, send or react with several emojis so that they appear in the Recently Used section of the emoji picker.
  3. Open the emoji picker on client B.
  4. Check the Recently Used section.

Expected behavior

The recently used emoji list should be associated with the user account and synchronized across clients/devices.

After using an emoji on client A, the recent emoji history should also be reflected on client B after synchronization/reload.

Actual behavior

Each client/device appears to maintain its own independent list of recently used emojis.

Emojis recently used on one client do not appear in the Recently Used section on another client logged in with the same user.

Why this matters

The client side storage seems to be cleared when a logout happens or when you force refresh the desktop app. IMO the recent emoji selection should be stored server-side to mitigate this which also means it's synced across clients.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by locating the emoji picker's Recently Used handling and its client-side storage, then trace how user data is persisted and synchronized between clients. Done means recent emojis for one account appear consistently on another client after use and remain available after reload or logout.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
full-stack
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.