Server thinks it's air gapped, but it's not!

I’ve been running a Rocket.Chat server for about the past six months. It’s always worked fine, but several days ago, I started getting notices that the server is air gapped and would soon enter readonly mode.

  • This is a snap install running on an AWS virtual server.
  • The server has connectivity to the Internet. It has a public IP address and there is no firewall or anything preventing it from making outgoing connections.
  • I can connect to collector.rocket.chat via CURL from the server’s command line.
  • When I view the rocketchat_statistics collection in Mongo, I can see that it has failed to obtain a token for the past several days, but it was collecting the token up until then.
  • Nothing changed on the server that would affect connectivity to collector.rocket.chat and as I explained, I can connect to it from the command line.
  • I see the following log entry each time it attempts to post stats:
{
    "level": 50,
    "time": "2025-08-10T15:07:20.652Z",
    "pid": 20560,
    "hostname": "ip-172-26-2-85",
    "name": "SyncedCron",
    "msg": "Failed to send usage report",
    "err": {
        "type": "FetchError",
        "message": "invalid json response body at https://collector.rocket.chat/ reason: Unexpected end of JSON input",
        "stack": "FetchError: invalid json response body at https://collector.rocket.chat/ reason: Unexpected end of JSON input\n    at /snap/rocketchat-server/1677/programs/server/npm/node_modules/node-fetch/lib/index.js:273:32\n    at processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at sendStats (app/statistics/server/functions/sendUsageReport.ts:25:26)\n    at usageReportCron (server/cron/usageReport.ts:19:21)\n    at async Promise.all (index 2)\n    at startCronJobs (server/startup/cron.ts:15:2)",
        "name": "FetchError"
    }
}

Server Setup Information

  • Version of Rocket.Chat Server: 7.9.0
  • Operating System: Ubuntu 24
  • Deployment Method: Snap
  • Number of Running Instances:1
  • DB Replicaset Oplog: ???
  • NodeJS Version: Not sure
  • MongoDB Version: 6.0.19
  • Proxy: No
  • Firewalls involved: No

Posting in multiple places with no linked references in the hope of eliciting a response just wastes time.

This is you down here.

If you have a paid version then open a support ticket. If not you’ll have to hope someone takes a look when they have a free minute.

Note downgrades are not supported and may wreck your install. The only safe way is via backup/restore with the correct vesrsions.

In the meantime to save confusion please stick to the bug. Thanks.