RocketChat / RocketChat/Rocket.Chat
Bugginess around disabling users in 4.6.3.
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
Disabling a user who owns a room brings up a dialog saying a new room owner will be randomly assigned. Clicking "Yes, deactivate it!" appears to do nothing. However, if you click "Cancel", you can see that the user has been disabled. The room also still shows that user as the owner, but it does appear to have assigned another user as an additional owner.
I also tried re-enabling the user, manually removing them as an owner, leaving only one, then disabling them again. But the channel info under Administration still lists them as the owner.
Steps to reproduce:
- Click on Administration, Users, select user. Select Disable user on a user who is the only owner of a private room.
- On the dialog that comes up saying the user is the only owner of a room and a new owner will be randomly assigned, click "Yes, delete it!"
- Click on Rooms, then find the room mentioned in the previous dialog. Note the owner is still the now-deactivated user.
- Go to the room, get the user list, select another user as owner. The user list now contains two users other than the deactivated user who are owners.
- Click on Administration, Rooms, select the room. Note the owner is still the deactivated user.
- Re-activate the user, go to the room, and remove them as an owner, the deactivate them again.
- Click on Administration, Rooms, select the room. Note the owner is still the deactivated user.
Expected behavior:
The room owner should at least change to the new randomly selected (or a manually selected) user when the user has been manually removed from ownership, if not when they were deactivated.
Actual behavior:
It appears to be no longer possible to remove the user as owner. It may work when deleting them, but I haven't tried this yet.
Server Setup Information:
- Version of Rocket.Chat Server: 4.6.3
- Operating System: Linux
- Deployment Method: docker
- Number of Running Instances: 1
- DB Replicaset Oplog: Enabled
- NodeJS Version: v14.18.3
- MongoDB Version: v4.4.13 / wiredTiger (oplog Enabled)
Client Setup Information
- Desktop App or Browser Version: Rocket 3.5.7
- Operating System: Ubuntu 20.04.4 LTS
Additional context
Relevant logs:
No obvious errors logged from either server or client on loglevel INFO.
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
Start by reproducing the issue through Administration > Users and Administration > Rooms, then compare the room owner shown there with the room's user list after disabling and re-enabling the user. Done means disabling or manually removing a sole room owner consistently updates the owner shown in both administration and the room, with the replacement owner assigned as expected.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- mongodb, typescript
- Domain
- authorization, backend, database
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100