RocketChat / RocketChat/Rocket.Chat

Sticky Thread UI Bug on Deleted Messages

Open
#40,036 4 comments 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

https://github.com/user-attachments/assets/4a69346c-7839-4b48-8b33-6b2a05bd52ae

Bug Report: Sticky Thread UI on Deleted Messages

Description:

Sticky Thread UI Bug on Deleted Messages: Clicking on a "Message removed" placeholder opens a thread view that becomes "stuck." The user cannot close this thread, and clicking on other valid threads continues to show the context/sidebar of the deleted message. This persists until the page is reloaded.


Steps to reproduce:
  1. Go to any channel where a message has been deleted (showing the "Message removed" system placeholder).
  2. Click directly on the "Message removed" text/placeholder.
  3. The Threads sidebar will open on the right.
  4. Try to click the "X" to close the sidebar (it fails to close or reset the view).
  5. Click on "View Thread" on a different, valid message in the channel.
  6. Observe that the sidebar remains "stuck" on the deleted message's context or fails to update its content to the new thread.

Expected behavior:
  • Clicking a deleted message placeholder should either be disabled or open a state that can be closed normally.
  • Clicking a new "View Thread" button should immediately update the sidebar with the correct message content, clearing the previous state.
  • The "Close" (X) button should always be functional.

Actual behavior:

The Thread sidebar becomes unresponsive and "stuck" in a broken state. It refuses to switch context to other threads or close properly. The only ways to recover are a full browser refresh (F5) or using the "Reply in thread" icon (which seems to trigger a different, working route) instead of clicking the message body or "View thread" text.


Server Setup Information:
  • Version of Rocket.Chat Server: Latest (Running on open.rocket.chat)
  • Deployment Method: Official Cloud/Community Workspace
Client Setup Information
  • Desktop App or Browser Version: Brave Browser / Chrome (Web)
  • Operating System: macOS

Additional context

The screen recording shows this sequence starting at 00:28. You can see the attempts to switch threads while the UI remains locked to the deleted message reference. This indicates a state-management failure in the React/Meteor front-end when a threadId belongs to a non-existent or deleted message.

Workaround:
  • Reload the page (F5).
  • Use the "Reply in thread" icon in the message action bar instead of clicking the message body or "View Thread".

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

Start by reproducing the deleted-message and thread-switching sequence in the Rocket.Chat web client, then trace the React/Meteor front-end state for the thread sidebar and its threadId. Done means deleted-message placeholders do not leave the sidebar stuck, the close control works, and selecting another valid thread updates its content without requiring a reload.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend, web-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.