Push notifications not working with custom Firebase gateway, client doesn't register token (v7.10.0)

Description

Server Setup Information

  • Version of Rocket.Chat Server: 7.10.0
  • Operating System: ubuntu 22
  • Deployment Method: Docker Compose
  • Number of Running Instances: 1
  • DB Replicaset Oplog: Enabled
  • NodeJS Version: 22.16.0
  • MongoDB Version: 6.0.13
  • Proxy: Traefik
  • Firewalls involved: no

Any additional Information

I’m trying to set up push notifications in my Rocket.Chat instance. My goal is to disable the default gateway.rocket.chat and send notifications directly through my own Firebase project. For this, I am using the official Android application installed from the Google Play Store.
I’ve run into a problem where after all the setup, the mobile and web clients do not register their push token with the server. However, if I set the Enable Gateway setting back to True (using the gateway.rocket.chat gateway), notifications work perfectly. This proves that the issue is not with the phone or the app itself, but specifically with the mode of operation using a custom Firebase project.

Our Configuration

  • Deployment Method: Docker Compose with Traefik as a reverse proxy.
  • Server Information:
    • Rocket.Chat Version: 7.10.0
    • Node Version: v22.16.0
    • MongoDB: 6.0.13 / wiredTiger (oplog enabled)

What happens (when gateway.rocket.chat is disabled)

  1. In Push settings (Administration -> Push), the Enable Gateway option is set to False.
  2. The Google FCM API Credentials field is filled with the JSON key from our Firebase project.
  3. Attempting to send a test notification from the admin panel does nothing.
  4. A database query db.users.findOne(...) shows that the user’s services.push object is empty (services: {}).
  5. Regular chat messaging works perfectly fine.

What We’ve Already Checked

  • :white_check_mark: Docker & SSL Configuration: All .yml files are correct, and the server starts up reliably. Traefik correctly obtains an SSL certificate and routes traffic.
  • :white_check_mark: Firebase/Google Cloud Project: The project is fully configured: the Cloud Messaging API is enabled, and the service account has the “Editor” role. The key has been regenerated.
  • :white_check_mark: Client: The mobile app has been reinstalled and connected to the correct server address.
    However, when I disable the gateway.rocket.chat to use a direct integration with Firebase, the client application (from the Play Store) stops initiating the push token registration.
    This looks very much like a bug in version 7.10.0. Has anyone else encountered a similar problem? Are there any known workarounds or additional steps for this configuration?

IIRC you’ll need to compile your own apps.

Read the docs thoroughly.