Skip to content

Commit

Permalink
Merge branch 'develop' into fix/otrTimeout
Browse files Browse the repository at this point in the history
  • Loading branch information
gabriellsh committed May 31, 2023
2 parents 780967d + 7db2fc5 commit 59414c0
Show file tree
Hide file tree
Showing 419 changed files with 9,071 additions and 3,409 deletions.
5 changes: 5 additions & 0 deletions .changeset/blue-cougars-wave.md
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

fix: broken error messages on room.saveInfo & missing CF validations on omni/contact api
5 changes: 5 additions & 0 deletions .changeset/cold-years-beg.md
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

fix: getActiveLocalUserCount query always returning 0
5 changes: 5 additions & 0 deletions .changeset/friendly-apricots-juggle.md
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

fix: Clicking uploaded file title replaces current tab
5 changes: 5 additions & 0 deletions .changeset/great-dolphins-remember.md
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

Fixed omnichannel contact form asynchronous validations
5 changes: 5 additions & 0 deletions .changeset/heavy-years-repeat.md
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

fix: Admins unable to create new users if new users require manual approval
5 changes: 5 additions & 0 deletions .changeset/khaki-avocados-fix.md
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': patch
---

fix wrong %s translations
5 changes: 5 additions & 0 deletions .changeset/late-carrots-think.md
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': minor
---

fix: Hide roomLeader padding
6 changes: 6 additions & 0 deletions .changeset/mean-keys-rhyme.md
@@ -0,0 +1,6 @@
---
'@rocket.chat/meteor': minor
'@rocket.chat/rest-typings': patch
---

Refactored Omnichannel department pages to use best practices, also fixed existing bugs
5 changes: 5 additions & 0 deletions .changeset/nervous-masks-speak.md
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

fix: unable to upload files in IOS Safari browsers
5 changes: 5 additions & 0 deletions .changeset/polite-clouds-notice.md
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

chore: update room on `cleanRoomHistory` only if any message has been deleted
5 changes: 5 additions & 0 deletions .changeset/proud-apples-jog.md
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

test: add missing omnichannel contact-center tests
5 changes: 5 additions & 0 deletions .changeset/quiet-rules-swim.md
@@ -0,0 +1,5 @@
---
"@rocket.chat/meteor": patch
---

fix: Add missing awaits to .count() calls
5 changes: 5 additions & 0 deletions .changeset/strange-clocks-peel.md
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': minor
---

Added ability to see attachments in the contact history message list
5 changes: 5 additions & 0 deletions .changeset/wild-lizards-guess.md
@@ -0,0 +1,5 @@
---
'@rocket.chat/meteor': minor
---

fix: Analytics page crash
9 changes: 8 additions & 1 deletion .github/CODEOWNERS
Validating CODEOWNERS rules …
Expand Up @@ -8,11 +8,18 @@
/.github/ @RocketChat/Architecture
/_templates/ @RocketChat/Architecture
/apps/meteor/client/ @RocketChat/frontend
/apps/meteor/tests/ @RocketChat/Architecture
/apps/meteor/tests/e2e @RocketChat/frontend
/apps/meteor/tests/end-to-end @RocketChat/backend
/apps/meteor/tests/unit/app @RocketChat/backend
/apps/meteor/tests/unit/app/ui-utils @RocketChat/frontend
/apps/meteor/tests/unit/client @RocketChat/frontend
/apps/meteor/tests/unit/server @RocketChat/backend
/apps/meteor/app/apps/ @RocketChat/apps
/apps/meteor/app/livechat @RocketChat/omnichannel
/apps/meteor/app/voip @RocketChat/omnichannel
/apps/meteor/app/sms @RocketChat/omnichannel
/apps/meteor/server @RocketChat/backend
/apps/meteor/server/models @RocketChat/Architecture
/apps/meteor/packages/rocketchat-livechat @RocketChat/omnichannel
/apps/meteor/server/services/voip @RocketChat/omnichannel
/apps/meteor/server/services/omnichannel-voip @RocketChat/omnichannel
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/ci-test-e2e.yml
Expand Up @@ -214,6 +214,7 @@ jobs:
if: inputs.type == 'api'
working-directory: ./apps/meteor
env:
WEBHOOK_TEST_URL: 'http://host.docker.internal:10000'
IS_EE: ${{ inputs.release == 'ee' && 'true' || '' }}
run: |
for i in $(seq 1 2); do
Expand Down
2 changes: 1 addition & 1 deletion apps/meteor/app/authentication/server/startup/index.js
Expand Up @@ -196,7 +196,7 @@ const onCreateUserAsync = async function (options, user = {}) {
if (!user.active) {
const destinations = [];
const usersInRole = await Roles.findUsersInRole('admin');
await usersInRole.toArray().forEach((adminUser) => {
await usersInRole.forEach((adminUser) => {
if (Array.isArray(adminUser.emails)) {
adminUser.emails.forEach((email) => {
destinations.push(`${adminUser.name}<${email.address}>`);
Expand Down
219 changes: 219 additions & 0 deletions apps/meteor/app/authorization/server/constant/permissions.ts
@@ -0,0 +1,219 @@
// Note:
// 1.if we need to create a role that can only edit channel message, but not edit group message
// then we can define edit-<type>-message instead of edit-message
// 2. admin, moderator, and user roles should not be deleted as they are referenced in the code.
export const permissions = [
{ _id: 'access-permissions', roles: ['admin'] },
{ _id: 'access-setting-permissions', roles: ['admin'] },
{ _id: 'add-oauth-service', roles: ['admin'] },
{ _id: 'add-user-to-joined-room', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'add-user-to-any-c-room', roles: ['admin'] },
{ _id: 'add-user-to-any-p-room', roles: [] },
{ _id: 'api-bypass-rate-limit', roles: ['admin', 'bot', 'app'] },
{ _id: 'archive-room', roles: ['admin', 'owner'] },
{ _id: 'assign-admin-role', roles: ['admin'] },
{ _id: 'assign-roles', roles: ['admin'] },
{ _id: 'ban-user', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'bulk-register-user', roles: ['admin'] },
{ _id: 'change-livechat-room-visitor', roles: ['admin', 'livechat-manager', 'livechat-agent'] },
{ _id: 'create-c', roles: ['admin', 'user', 'bot', 'app'] },
{ _id: 'create-d', roles: ['admin', 'user', 'bot', 'app'] },
{ _id: 'create-p', roles: ['admin', 'user', 'bot', 'app'] },
{ _id: 'create-personal-access-tokens', roles: ['admin', 'user'] },
{ _id: 'create-user', roles: ['admin'] },
{ _id: 'clean-channel-history', roles: ['admin'] },
{ _id: 'delete-c', roles: ['admin', 'owner'] },
{ _id: 'delete-d', roles: ['admin'] },
{ _id: 'delete-message', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'delete-own-message', roles: ['admin', 'user'] },
{ _id: 'delete-p', roles: ['admin', 'owner'] },
{ _id: 'delete-user', roles: ['admin'] },
{ _id: 'edit-message', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'edit-other-user-active-status', roles: ['admin'] },
{ _id: 'edit-other-user-info', roles: ['admin'] },
{ _id: 'edit-other-user-password', roles: ['admin'] },
{ _id: 'edit-other-user-avatar', roles: ['admin'] },
{ _id: 'edit-other-user-e2ee', roles: ['admin'] },
{ _id: 'edit-other-user-totp', roles: ['admin'] },
{ _id: 'edit-privileged-setting', roles: ['admin'] },
{ _id: 'edit-room', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'edit-room-avatar', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'edit-room-retention-policy', roles: ['admin'] },
{ _id: 'force-delete-message', roles: ['admin', 'owner'] },
{ _id: 'join-without-join-code', roles: ['admin', 'bot', 'app'] },
{ _id: 'leave-c', roles: ['admin', 'user', 'bot', 'anonymous', 'app'] },
{ _id: 'leave-p', roles: ['admin', 'user', 'bot', 'anonymous', 'app'] },
{ _id: 'logout-other-user', roles: ['admin'] },
{ _id: 'manage-assets', roles: ['admin'] },
{ _id: 'manage-email-inbox', roles: ['admin'] },
{ _id: 'manage-emoji', roles: ['admin'] },
{ _id: 'manage-user-status', roles: ['admin'] },
{ _id: 'manage-outgoing-integrations', roles: ['admin'] },
{ _id: 'manage-incoming-integrations', roles: ['admin'] },
{ _id: 'manage-own-outgoing-integrations', roles: ['admin'] },
{ _id: 'manage-own-incoming-integrations', roles: ['admin'] },
{ _id: 'manage-oauth-apps', roles: ['admin'] },
{ _id: 'manage-selected-settings', roles: ['admin'] },
{ _id: 'mention-all', roles: ['admin', 'owner', 'moderator', 'user'] },
{ _id: 'mention-here', roles: ['admin', 'owner', 'moderator', 'user'] },
{ _id: 'mute-user', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'remove-user', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'run-import', roles: ['admin'] },
{ _id: 'run-migration', roles: ['admin'] },
{ _id: 'set-moderator', roles: ['admin', 'owner'] },
{ _id: 'set-owner', roles: ['admin', 'owner'] },
{ _id: 'send-many-messages', roles: ['admin', 'bot', 'app'] },
{ _id: 'set-leader', roles: ['admin', 'owner'] },
{ _id: 'unarchive-room', roles: ['admin'] },
{ _id: 'view-c-room', roles: ['admin', 'user', 'bot', 'app', 'anonymous'] },
{ _id: 'user-generate-access-token', roles: ['admin'] },
{ _id: 'view-d-room', roles: ['admin', 'user', 'bot', 'app', 'guest'] },
{ _id: 'view-full-other-user-info', roles: ['admin'] },
{ _id: 'view-history', roles: ['admin', 'user', 'anonymous'] },
{ _id: 'view-joined-room', roles: ['guest', 'bot', 'app', 'anonymous'] },
{ _id: 'view-join-code', roles: ['admin'] },
{ _id: 'view-logs', roles: ['admin'] },
{ _id: 'view-other-user-channels', roles: ['admin'] },
{ _id: 'view-p-room', roles: ['admin', 'user', 'anonymous', 'guest'] },
{ _id: 'view-privileged-setting', roles: ['admin'] },
{ _id: 'view-room-administration', roles: ['admin'] },
{ _id: 'view-statistics', roles: ['admin'] },
{ _id: 'view-user-administration', roles: ['admin'] },
{ _id: 'preview-c-room', roles: ['admin', 'user', 'anonymous'] },
{ _id: 'view-outside-room', roles: ['admin', 'owner', 'moderator', 'user'] },
{ _id: 'view-broadcast-member-list', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'call-management', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'create-invite-links', roles: ['admin', 'owner', 'moderator'] },
{
_id: 'view-l-room',
roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'],
},
{ _id: 'view-livechat-manager', roles: ['livechat-manager', 'livechat-monitor', 'admin'] },
{
_id: 'view-omnichannel-contact-center',
roles: ['livechat-manager', 'livechat-agent', 'livechat-monitor', 'admin'],
},
{ _id: 'edit-omnichannel-contact', roles: ['livechat-manager', 'livechat-agent', 'admin'] },
{ _id: 'view-livechat-rooms', roles: ['livechat-manager', 'livechat-monitor', 'admin'] },
{
_id: 'close-livechat-room',
roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'],
},
{ _id: 'close-others-livechat-room', roles: ['livechat-manager', 'livechat-monitor', 'admin'] },
{
_id: 'on-hold-livechat-room',
roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'],
},
{
_id: 'on-hold-others-livechat-room',
roles: ['livechat-manager', 'livechat-monitor', 'admin'],
},
{ _id: 'save-others-livechat-room-info', roles: ['livechat-manager', 'livechat-monitor', 'admin'] },
{
_id: 'remove-closed-livechat-rooms',
roles: ['livechat-manager', 'livechat-monitor', 'admin'],
},
{ _id: 'view-livechat-analytics', roles: ['livechat-manager', 'livechat-monitor', 'admin'] },
{
_id: 'view-livechat-queue',
roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'],
},
{ _id: 'transfer-livechat-guest', roles: ['livechat-manager', 'livechat-monitor', 'admin'] },
{ _id: 'manage-livechat-managers', roles: ['livechat-manager', 'admin'] },
{ _id: 'manage-livechat-agents', roles: ['livechat-manager', 'livechat-monitor', 'admin'] },
{
_id: 'manage-livechat-departments',
roles: ['livechat-manager', 'livechat-monitor', 'admin'],
},
{ _id: 'view-livechat-departments', roles: ['livechat-manager', 'livechat-monitor', 'admin'] },
{
_id: 'add-livechat-department-agents',
roles: ['livechat-manager', 'livechat-monitor', 'admin'],
},
{
_id: 'view-livechat-current-chats',
roles: ['livechat-manager', 'livechat-monitor', 'admin'],
},
{
_id: 'view-livechat-real-time-monitoring',
roles: ['livechat-manager', 'livechat-monitor', 'admin'],
},
{ _id: 'view-livechat-triggers', roles: ['livechat-manager', 'admin'] },
{ _id: 'view-livechat-customfields', roles: ['livechat-manager', 'admin'] },
{ _id: 'view-livechat-installation', roles: ['livechat-manager', 'admin'] },
{ _id: 'view-livechat-appearance', roles: ['livechat-manager', 'admin'] },
{ _id: 'view-livechat-webhooks', roles: ['livechat-manager', 'admin'] },
{
_id: 'view-livechat-business-hours',
roles: ['livechat-manager', 'livechat-monitor', 'admin'],
},
{
_id: 'view-livechat-room-closed-same-department',
roles: ['livechat-manager', 'livechat-monitor', 'admin'],
},
{
_id: 'view-livechat-room-closed-by-another-agent',
roles: ['livechat-manager', 'livechat-monitor', 'admin'],
},
{
_id: 'view-livechat-room-customfields',
roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'],
},
{
_id: 'edit-livechat-room-customfields',
roles: ['livechat-manager', 'livechat-monitor', 'livechat-agent', 'admin'],
},
{ _id: 'send-omnichannel-chat-transcript', roles: ['livechat-manager', 'admin'] },
{ _id: 'mail-messages', roles: ['admin'] },
{ _id: 'toggle-room-e2e-encryption', roles: ['owner', 'admin'] },
{ _id: 'message-impersonate', roles: ['bot', 'app'] },
{ _id: 'create-team', roles: ['admin', 'user'] },
{ _id: 'delete-team', roles: ['admin', 'owner'] },
{ _id: 'convert-team', roles: ['admin', 'owner'] },
{ _id: 'edit-team', roles: ['admin', 'owner'] },
{ _id: 'add-team-member', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'edit-team-member', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'add-team-channel', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'edit-team-channel', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'remove-team-channel', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'view-all-team-channels', roles: ['admin', 'owner'] },
{ _id: 'view-all-teams', roles: ['admin'] },
{ _id: 'remove-closed-livechat-room', roles: ['livechat-manager', 'admin'] },
{ _id: 'remove-livechat-department', roles: ['livechat-manager', 'admin'] },

// VOIP Permissions
// allows to manage voip calls configuration
{ _id: 'manage-voip-call-settings', roles: ['livechat-manager', 'admin'] },
{ _id: 'manage-voip-contact-center-settings', roles: ['livechat-manager', 'admin'] },
// allows agent-extension association.
{ _id: 'manage-agent-extension-association', roles: ['admin'] },
{ _id: 'view-agent-extension-association', roles: ['livechat-manager', 'admin', 'livechat-agent'] },
// allows to receive a voip call
{ _id: 'inbound-voip-calls', roles: ['livechat-agent'] },

{ _id: 'remove-livechat-department', roles: ['livechat-manager', 'admin'] },
{ _id: 'manage-apps', roles: ['admin'] },
{ _id: 'post-readonly', roles: ['admin', 'owner', 'moderator'] },
{ _id: 'set-readonly', roles: ['admin', 'owner'] },
{ _id: 'set-react-when-readonly', roles: ['admin', 'owner'] },
{ _id: 'manage-cloud', roles: ['admin'] },
{ _id: 'manage-sounds', roles: ['admin'] },
{ _id: 'access-mailer', roles: ['admin'] },
{ _id: 'pin-message', roles: ['owner', 'moderator', 'admin'] },
{ _id: 'mobile-upload-file', roles: ['user', 'admin'] },
{ _id: 'send-mail', roles: ['admin'] },
{ _id: 'view-federation-data', roles: ['admin'] },
{ _id: 'add-all-to-room', roles: ['admin'] },
{ _id: 'get-server-info', roles: ['admin'] },
{ _id: 'register-on-cloud', roles: ['admin'] },
{ _id: 'test-admin-options', roles: ['admin'] },
{ _id: 'sync-auth-services-users', roles: ['admin'] },
{ _id: 'restart-server', roles: ['admin'] },
{ _id: 'remove-slackbridge-links', roles: ['admin'] },
{ _id: 'view-import-operations', roles: ['admin'] },
{ _id: 'clear-oembed-cache', roles: ['admin'] },
{ _id: 'videoconf-ring-users', roles: ['admin', 'owner', 'moderator', 'user'] },
{ _id: 'view-moderation-console', roles: ['admin'] },
{ _id: 'manage-moderation-actions', roles: ['admin'] },
{ _id: 'bypass-time-limit-edit-and-delete', roles: ['bot', 'app'] },
];

0 comments on commit 59414c0

Please sign in to comment.