RocketChat / RocketChat/Rocket.Chat
bug: Custom Status Empty String Issue & Inconsistent Status Button Behavior
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
There are two major inconsistencies in how custom status updates work in the web client:
🐛 Issues Identified:
-
Empty Custom Status (
"") Behavior:- When a user sets their custom status as an empty string (
""), a toast message appears confirming that the status has been updated. - However, in reality, the status does not get updated, meaning the server rejects the empty value (
""), but the UI does not reflect this rejection.
- When a user sets their custom status as an empty string (
-
Inconsistent Status Button Behavior:
- When selecting status options like "Online," "Busy," "Away," or "Offline", only the status icon updates, but the textual custom status remains unchanged.
- However, selecting "Meeting" does update the textual custom status to "Meeting".
- This inconsistency makes the user experience confusing and should be fixed for consistency.
Steps to reproduce:
- Click on your profile icon.
- Click on meeting status, changing the status to meeting and then do the below, if not set at meeting, the function works fine.
- Checkout various status options, they only change the status icon but not the text.
- The meeting button does change the text to meeting.
- Go to custom status, and make the input field blank (i.e. delete fetched status text).
- Submit, you will receive success toast.
- Again open the custom status modal, you will see that youre status is the same that you wanted to delete.
Expected behavior:
-
For Empty Custom Status (
"") Issue:- Either prevent the user from submitting an empty status OR
- Show a toast message stating: "Custom status cannot be empty."
- Alternatively, if keeping an empty status is valid, the server should allow it.
-
For Status Button Consistency:
- All status buttons (Online, Busy, Away, Offline, Meeting) should update both the status icon and the textual custom status, ensuring consistent behavior.
Actual behavior:
Server Setup Information:
- Testing on Prod
Client Setup Information
- Desktop App or Browser Version:Browser
- Operating System: WSL
Additional context
Relevant logs:
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No files or tests are named. Start by reproducing the issue from the profile icon in the web client, checking the status controls and custom status modal for empty-string submission and changes after Meeting is selected. Done means empty custom statuses are handled consistently and every listed status updates both the icon and textual status, with appropriate user feedback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100