RocketChat / RocketChat/Rocket.Chat

Cancel avatar update shows new avatar until page reload

Open
#38,564 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description:

When uploading a new profile picture and clicking Cancel instead of Save, the avatar change is still applied. The cancel action does not discard the pending avatar update, resulting in unintended profile changes and breaking expected cancel behavior.

Steps to reproduce:
  1. Go to ProfileAvatar / Profile Picture.
  2. Upload a new image.
  3. Click Cancel instead of Save.
  4. Reload the page or revisit the profile.
Expected behavior:
  • Clicking Cancel should discard the uploaded avatar.
  • No avatar update request should be triggered.
  • The previously saved avatar should remain unchanged.
Actual behavior:
  • The avatar is updated even after clicking Cancel.
  • The change persists after reload.
  • The cancel action does not prevent the update.
Server Setup Information:
  • Version of Rocket.Chat Server: develop (local build)
  • License Type: Community
  • Number of Users: 1 (local)
  • Operating System: Ubuntu (WSL)
  • Deployment Method: Source (local development)
  • Number of Running Instances: 1
  • DB Replicaset Oplog: Default
  • NodeJS Version: 22.16.0
  • MongoDB Version: 6.0.x
Client Setup Information
  • Desktop App or Browser Version: Chrome (latest)
  • Operating System: Windows / Ubuntu (WSL)
Additional context

This issue appears to occur because the avatar update request is triggered before explicit user confirmation (Save), rather than being applied only after submission.

Relevant logs:

No explicit server or browser errors observed. Network activity indicates the avatar update request is sent even when Cancel is clicked.

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 at Profile → Avatar / Profile Picture and reproduce the upload-then-Cancel flow while watching the network activity. Trace where the avatar update request is triggered relative to Save and Cancel. Done means Cancel sends no avatar update request and the previously saved avatar remains unchanged after reload.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 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.