Self-Hosted RC 7.4.1: iOS Push Broken, Screenshots Missing, PDF Uploads Ignored

We’re self-hosting Rocket.Chat for a small team and continue to face three persistent issues that we haven’t been able to resolve after extensive troubleshooting:


1. Screenshots via Desktop Client Not Visible to Others

  • Screenshots taken and sent via the Windows desktop client appear to upload successfully, but are not displayed to recipients.
  • The upload shows in the sender’s view, but other users see a broken link or no image.

2. iOS Push Notifications Don’t Arrive

  • No push notifications are received on iOS, despite:
    • Successful “Test Push” from the admin UI.
    • App notification permissions enabled, app active in background.
    • Android notifications appear to work.
  • Re-logging, reinstalling the app, and clearing sessions has no effect.

3. PDF Files Fail to Upload

  • Attempting to attach a PDF results in no feedback in UI — the file is not sent, and there’s no error.
  • We captured full logs around the event but found no errors or upload-related calls. Sample log excerpt attached below.
  • The action attempted was simply attaching a PDF from a user running Firefox on macOS (userAgent: Firefox/138.0).
  • The backend responds 200 OK to most endpoints (sendMessage, users.info, etc.), but no indication of any file upload request appears.

Server Setup Information

  • Version of Rocket.Chat Server: 7.4.1
  • Operating System: Ubuntu 22.04
  • Deployment Method: DigitalOcean Marketplace (1-Click App)
  • Number of Running Instances: 1
  • DB Replicaset Oplog: Enabled
  • NodeJS Version: 14.21.3
  • MongoDB Version: 6.0.13
  • Proxy: nginx with Let’s Encrypt SSL
  • Firewalls involved: DigitalOcean firewall (ports 80, 443, 3000 open)

Any additional Information

  • Domain routing, SSL certs, and DNS all properly configured.
  • SMTP via SendGrid API tested and functional.
  • Using default push gateway: https://gateway.rocket.chat.
  • Desktop screenshot bug happens consistently across multiple clients.
  • Cloud registration shows correct values in MongoDB, but UI says “Workspace not registered”.
  • Uploading images (e.g. PNG) via drag-and-drop usually works - PDF specifically failed in recent test.

Logs excerpt from failed PDF attachment:

{“method”:“POST”,“url”:“/v1/method.call/sendMessage”,“status”:200,“userAgent”:“Firefox/138.0”,“host”:“chat..co.uk",“referer”:“…”,“remoteIP”:"..0.1”}

(no call to /file.upload or /ufs/… observed)

It won’t likely fix your issue but 3000 should not be exposed externally, ever.

Close that now.

80 should be redirect to 443.

Check you are not using GridFS. If so get off it now. See notes elsewhere.

1 Like

hey, thank you. Ill look into ports, we are using GridFS as its default, what else should I use, you mentioned notes elsewhere, could you direct me please?

Search is your friend.

Here, docs etc.

I don’t work here, and I’m on vacation…

Read all this, especially the bits in bold.

Then look for the two migration scripts that are around.

Then read the rest of the docs thoroughly.

Then have a good search here.

1 Like

I understand, I’m aware it’s a bit barren around here at times and do appreciate the help despite you being on holiday. Sadly, I’m not that technical and RocketChat doesn’t help give much help in it so I’ve been looking but the ‘why’ is often missing e.g. its great that the recommended file system is e.g. S3, but I then need to try to config that, etc. We have a short retention policy and its mostly just stuff like screenshots.

‘read the rest of the documentation’ doesn’t really help me understand why sometimes users are not able to upload files and other times they are etc.

the mobile notifications should work accordingly to all documentation but again, they don’t.

ill keep digging around but I’ve come here as I literally ran out of places to get help, there are no developers for hire that I can find easy to help, there is limited responses on forum posts here its been a frustrating intro into Rocketchat.

Enjoy your holiday, I’ve tweaked the ports thank for that.

So I learned what I did by reading extensively, helping others, and building relationships with developers (I am not a dev).

That takes time.

File storage can be ‘local’.

Check websockets and https certificates.

Make sure Site Url is correct and not mistakenly changed to say http://

(Hence block ports & redirect 80)

Thanks, i’ve updated ports etc. all went fine. Currently working on trying to move file storage .. its not going well…

Backups & practice…

“It’s a wise man that has second thoughts first”