Skip to content

bug: Slash commands from Rocket.Chat Apps show raw i18n key instead of description #7071

@divyanshu-patil

Description

@divyanshu-patil

Describe the Bug

Slash commands registered by Rocket.Chat Apps (e.g. Jitsi, Giphy) display their raw internal translation key as the description instead of the human-readable text. This happens because the React Native client uses i18n-js which does not receive the dynamic app translations that are only injected into the web client at runtime.

Steps to Reproduce

  1. Install any Rocket.Chat App that registers a slash command (e.g. Jitsi Video Call)
  2. Open the React Native mobile app and navigate to any room
  3. Tap the message input and type /
  4. Observe the autocomplete list of slash commands

Expected Behavior

Each slash command should display a human-readable description, e.g.:
/jitsiGenerate a Jitsi conference call.

Actual Behavior

Slash commands from Apps display the raw translation key as their description, e.g.:
/jitsiapp-3b387ba9-f57c-44c6-9810-8c0256abd64c.command_description

Rocket.Chat Server Version

8.3.0-develop

Rocket.Chat App Version

4.71.0

Device Name

iPhone 17 pro simulator

OS Version

iOS 26

Screenshots

Image

Additional Context

The root cause is that Rocket.Chat Apps bundle their i18n strings locally and the web client receives them via AppClientOrchestratorInstance.load() TAPi18next.addResourceBundle() at runtime. The React Native client has no equivalent mechanism and no existing REST endpoint exposes these translations. All built-in slash commands are unaffected since their descriptions are static keys present in the standard en.json translation files.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions