fix: add English labels for app permissions that had none

MR
14h ago
+32-0

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):

PermissionLabel
contact.read / contact.writeAccess / Modify omnichannel contact information
email.sendSend emails from this server
livechat-message.multipleAccess multiple livechat messages at once
moderation.read / moderation.writeAccess moderation reports / Report messages and dismiss moderation reports
oauth-app.read / oauth-app.writeAccess OAuth app information / Create, modify and delete OAuth apps
outbound-communication.provideProvide outbound message channels
role.read / role.writeAccess role information / Modify roles
threads.readAccess thread messages
ui.registerButtonsAdd action buttons to the UI
video-conference-providerProvide a video conference service
video-conference.read / video-conference.writeAccess 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.