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
- Install any Rocket.Chat App that registers a slash command (e.g. Jitsi Video Call)
- Open the React Native mobile app and navigate to any room
- Tap the message input and type
/
- Observe the autocomplete list of slash commands
Expected Behavior
Each slash command should display a human-readable description, e.g.:
/jitsi → Generate a Jitsi conference call.
Actual Behavior
Slash commands from Apps display the raw translation key as their description, e.g.:
/jitsi → app-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
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.
Describe the Bug
Slash commands registered by Rocket.Chat Apps (e.g. Jitsi, Giphy) display their raw internal
translation keyas 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
/Expected Behavior
Each slash command should display a human-readable description, e.g.:
/jitsi→ Generate a Jitsi conference call.Actual Behavior
Slash commands from Apps display the raw translation key as their description, e.g.:
/jitsi→ app-3b387ba9-f57c-44c6-9810-8c0256abd64c.command_descriptionRocket.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
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 standarden.jsontranslation files.