fix: add English labels for app permissions that had none
Proposed changes
AppPermissionsList labels each permission an app asks for with Apps_Permissions_<name> (dots turned into underscores). Sixteen permissions defined in packages/apps-engine/src/definition/metadata/AppPermissions.ts have no such key in en.i18n.json, so the permission review shown when installing or updating an app lists them as raw keys, for example Apps_Permissions_threads_read.
This adds English labels for them, worded after what each one allows in packages/apps/src/server (bridges and managers):
| Permission | Label |
|---|---|
contact.read / contact.write | Access / Modify omnichannel contact information |
email.send | Send emails from this server |
livechat-message.multiple | Access multiple livechat messages at once |
moderation.read / moderation.write | Access moderation reports / Report messages and dismiss moderation reports |
oauth-app.read / oauth-app.write | Access OAuth app information / Create, modify and delete OAuth apps |
outbound-communication.provide | Provide outbound message channels |
role.read / role.write | Access role information / Modify roles |
threads.read | Access thread messages |
ui.registerButtons | Add action buttons to the UI |
video-conference-provider | Provide a video conference service |
video-conference.read / video-conference.write | Access video conference information / Create and modify video conferences |
Only en.i18n.json changes; other locales fall back to English until translated (docs/i18n.md).
Issue(s)
No existing issue. Found by comparing every name in AppPermissions with the Apps_Permissions_ keys.
Steps to test or reproduce
Install or update an app whose manifest requests, for example, threads.read or ui.registerButtons: the permission list shows the raw key before this change and the label after it.
appPermissionTranslations.spec.ts checks that every permission in AppPermissions has an English label; the sixteen above fail without this change. yarn workspace @rocket.chat/i18n check passes and the marketplace suites pass (22 suites).
Further comments
The spec builds the key with replaceAll('.', '_'); AppPermissionsList itself still uses replace, which only matters for room.system.view-all and is fixed separately in #43065.
Summary by CodeRabbit
- Bug Fixes
- App permission reviews now display readable English labels instead of raw translation keys for permissions related to omnichannel contacts, email, moderation, OAuth apps, messages, roles, threads, UI actions, and video conferences.
- Added English labels for these app permissions to improve clarity when reviewing access.