RocketChat / RocketChat/EmbeddedChat

[FEATURE] feat: Auto-save message drafts per room

Open
#1,370 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

As an EmbeddedChat developer

I need to:
Have my in-progress message automatically saved as a draft when I navigate away from a room or close the chat, and have it restored when I return to that room.

So That:
I never lose text I was composing mid-thought, and I can confidently switch between rooms without finishing every message before moving on.

Acceptance Criteria

  • Unsent text in the message composer is automatically persisted as a draft for the active room whenever the user navigates away, switches rooms, or closes the widget.
  • When the user returns to a room that has a saved draft, the composer is pre-populated with the draft text.
  • Drafts survive a full page reload.
  • A visible 'Draft' label appears in the composer (or near the room entry in any room list) when a draft exists for that room, so the user knows at a glance.
  • Sending a message clears the draft for that room.
  • The user can manually discard a draft (e.g. clearing the composer dismisses it).
  • Draft saving respects the currently configured room/channel so drafts are never mixed across rooms.
  • The feature works correctly in both single-room and multi-room (sidebar) configurations.

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

No files or tests are named in the issue. Start by locating the message composer and room navigation, switching, and close entry points, then inspect any existing client-side persistence. Done means drafts remain separated by room across navigation and reload, appear visibly, restore correctly, and clear on send or manual discard.

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
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.