Reactivating a deactivated user, certain user permission groups messages are read only

Description

I have run into an issue and I want to post here before I put in a bug.

I deactivated an user and then reactivated them. It all seemed to work correctly except when they went to their direct messages to someone with the “guest” permissions their chat was read only.

I verified this in the DB:
image

I deactivated the user and reactivated them again and there was no change. The only way to get this to work is to edit the ro tag in MongoDB to false.

Is this an expected behavior or is this a bug?

Server Setup Information

  • Version of Rocket.Chat Server: 4.6.0
  • Operating System: Ubuntu 20.04
  • Deployment Method: Manual
  • Number of Running Instances: 1
  • DB Replicaset Oplog: Enabked
  • NodeJS Version: 14.0.0
  • MongoDB Version: 4.4.13
  • Proxy: nginx
  • Firewalls involved: None.

Any additional Information

Steps to reproduce
  1. Deactivate the user.
  2. Reactivate the user.
  3. Go to user and open the direct message with whom has the “guest” permissions.
  4. See the room is set to read only.

Hi!

I was not able to reproduce this.

Whenever I deactivate the user, it will mark it’s directs as ro:true, and after reactivating, it will mark as ro:false

I am still able to direct message between those users after the reactivation.

am I missing something? Can you record a quick with the exact steps? Is this something you can reproduce on a clean, fresh, docker install?

How do I get you the video?
I recorded it using OBS to get an MP4. If there is another method needed for this forum, please let me know.

How can I get the video to you?

I think you can attach it here.

It does not allow for video files on this forum. I would gif it but it is 30 seconds and longer than most gifs are useful for.

EDIT:

I did end up “giffing” the video. The only real issue is when it loops, it looks like it goes from broken to fixed but that is just the video looping.

Issue

Showing-read-only

Manual fix

I go into MongoDB, and change the ro flag to false. Then it works.