RocketChat / RocketChat/EmbeddedChat

Feature Request: Offline Message Handling and Resend/Delete UI

Open
#1,091 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
JavaScript
Stars
165
Forks
381
Avg merge
1d 2h
Merged PRs (30d)
1

Description

When a user sends a message while offline or when a network request fails, the application does not provide clear feedback or recovery options. Messages remain in a pending state indefinitely, cannot be retried or deleted through the UI, and are lost entirely on page reload.

This results in poor reliability, confusing user experience, and potential data loss.


Current Behavior

  1. User sends a message while offline or during a network failure.
  2. The message appears in the chat list with a pending or faded style.
  3. The network request fails or times out.
  4. The message remains in a pending state indefinitely.
  5. No error indication is shown.
  6. No retry or delete action is available.
  7. If the page is reloaded, the pending message disappears completely.

Screenshots

Image

Proposed UI

Image Image

Problems Identified

  • No distinction between pending and failed messages
  • No visual error feedback to the user
  • No ability to retry or delete failed messages
  • Failed and pending messages are stored only in memory
  • Messages are lost on page reload

Desired Behavior

When a message fails to send due to offline status or a network error:

  • Message status should transition from pending to error

  • An error icon (for example, an exclamation mark) should be displayed next to the message

  • Clicking the error icon should present the following actions:

    • Resend: Retry sending the message
    • Delete: Remove the message from the local list

Contributor guide

No contributing guide indexed for this repository

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 tracing the message-sending flow, pending-state handling, and local message storage described in the issue. Verify the failed-message UI can show an error state with resend and delete actions, and that pending or failed messages survive a page reload.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.