Direct Messages broken on new install


I cannot select a user for direct messages via Browser or Electron app, but it works on Mobile. When I try to send a direct message via Electron/Browser, the logs fill with “Meteor -> method createDirectMessage” and, if I do not disable DDP Rate Limiting, it will quickly show as rate limited.

Server Setup Information

  • Version of Rocket.Chat Server: 3.0.7
  • Operating System: CentOS 8
  • Deployment Method: manual (per guide from website).
  • Number of Running Instances: 1
  • DB Replicaset Oplog: Enabled
  • NodeJS Version: 12.14.0
  • MongoDB Version: 4.2.5.-1-gf2c3790 (wiredTiger)
  • Proxy: nginx
  • Firewalls involved:firewalld

Any additional Information

RateLimiter ➔ info { “allowed”: false, “timeToReset”: 13476, “numInvocationsLeft”: 0, “userId”: “xxxxxxxx”, “clientAddress”: “xxxxxxxxx”, “type”: “method”, “name”: “createDirectMessage”, “connectionId”: “xxxxxxxxxx”, “broadcastAuth”: false }

This does not happen using Mobile (iOS App) - API calls appear fine.

I have tried upgrading to 3.0.9, which did not resolve the issue (the upgrade was successful).

I was able to resolve this issue. The issue was that my SAML configuration was regenerating user Name fields on sign-in, and once that happened, direct messages to a user would fail.
My solution was to change my SAML connection’s assertions, and no longer change user Name fields. My SAML IdP is ADFS 4.0.

I suspect this is a bug, because of the lack of grace of the failure. I will try to write it up as such.