Skip to content

Commit 30a1847

Browse files
Merge branch 'develop' into fix/CORE-217/fixing-room-search-filter-persistence
2 parents 35aacbd + 5d1cb28 commit 30a1847

File tree

264 files changed

+3103
-1228
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

264 files changed

+3103
-1228
lines changed

.changeset/chilly-poems-explode.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@rocket.chat/meteor": minor
3+
"@rocket.chat/core-typings": minor
4+
"@rocket.chat/i18n": patch
5+
---
6+
7+
Introduced a tab layout to the users page and implemented a tab called "All" that lists all users.

.changeset/fifty-planets-rhyme.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@rocket.chat/meteor': patch
3+
---
4+
5+
Deprecate muteUserInRoom and unmuteUserInRoom meteor methods

.changeset/flat-socks-act.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@rocket.chat/meteor": patch
3+
---
4+
5+
Fixed wrong `Business hours` validations between different weeks

.changeset/flat-starfishes-crash.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@rocket.chat/meteor': patch
3+
---
4+
5+
Fixed a problem in how server was processing errors that was sending 2 ephemeral error messages when @all or @here were used while they were disabled via permissions

.changeset/fresh-students-remember.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@rocket.chat/meteor": patch
3+
---
4+
5+
Fixed an issue where translations would fallback to english some of the times.

.changeset/lazy-gorilas-shop.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@rocket.chat/meteor": patch
3+
"@rocket.chat/i18n": patch
4+
---
5+
6+
Fixed an issue with object storage settings that was not allowing admins to decide if files generated via "Export conversation" feature were being proxied through server or not.

.changeset/lovely-trainers-kiss.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@rocket.chat/rest-typings': minor
3+
'@rocket.chat/meteor': minor
4+
---
5+
6+
Convert mute/unmute meteor methods to endpoints

.changeset/shiny-crabs-peel.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@rocket.chat/fuselage-ui-kit': patch
3+
---
4+
5+
Fix translation param on video conf joined message

.changeset/silent-dodos-doubt.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@rocket.chat/meteor": minor
3+
---
4+
5+
Added a new notification provider in light of the old FCM API deprecation, now you can choose to use the new provider or the old via the `Push_UseLegacy` setting

.changeset/tall-wombats-love.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@rocket.chat/meteor': patch
3+
---
4+
5+
Replaces the burger menu with an appropriate button fixing the semantics and mismatching color

.changeset/tame-ducks-turn.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@rocket.chat/meteor": patch
3+
---
4+
5+
Fixed a problem that caused `afterCreateUser` callback to be called without new user's roles inside. This caused Omnichannel Business Hour manager to ignore these users from assigning open business hours until the manager restarted or the business hour restarted.

.changeset/warm-squids-deliver.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@rocket.chat/meteor': minor
3+
---
4+
5+
Changes the scrollbar color in order to improve the contrast and accessibility compliance

.changeset/wild-teachers-design.md

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
"@rocket.chat/meteor": minor
3+
"@rocket.chat/core-typings": minor
4+
"@rocket.chat/i18n": minor
5+
---
6+
7+
Added "Rocket.Chat Cloud Workspace ID" to workspace statistics page

.changeset/yellow-lies-judge.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@rocket.chat/meteor": patch
3+
---
4+
5+
fixed Engagement Dashboard and Device Management admin pages loading indefinitely

.changeset/young-yaks-suffer.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@rocket.chat/meteor': patch
3+
---
4+
5+
bump fuselage adding `AttachmentAuthorName` missing color token

.github/CODEOWNERS

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
/apps/meteor/server/models @RocketChat/Architecture
2323
apps/meteor/server/startup/migrations @RocketChat/Architecture
2424
/apps/meteor/packages/rocketchat-livechat @RocketChat/omnichannel
25-
/apps/meteor/server/services/voip @RocketChat/omnichannel
25+
/apps/meteor/server/services/voip-asterisk @RocketChat/omnichannel
2626
/apps/meteor/server/services/omnichannel-voip @RocketChat/omnichannel
2727
/apps/meteor/server/features/EmailInbox @RocketChat/omnichannel
2828
/apps/meteor/ee/app/canned-responses @RocketChat/omnichannel

.github/workflows/ci-test-e2e.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ jobs:
8383
mongodb-version: ${{ fromJSON(inputs.mongodb-version) }}
8484
shard: ${{ fromJSON(inputs.shard) }}
8585

86-
name: MongoDB ${{ matrix.mongodb-version }} (${{ matrix.shard }}/${{ inputs.total-shard }})
86+
name: MongoDB ${{ matrix.mongodb-version }} (${{ matrix.shard }}/${{ inputs.total-shard }})${{ matrix.mongodb-version == '6.0' && ' - Alpine' || '' }}
8787

8888
steps:
8989
- name: Login to GitHub Container Registry

apps/meteor/CHANGELOG.md

+46
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,51 @@
11
# @rocket.chat/meteor
22

3+
## 6.7.1
4+
5+
### Patch Changes
6+
7+
- Bump @rocket.chat/meteor version.
8+
9+
- Bump @rocket.chat/meteor version.
10+
11+
- ([#32253](https://github.com/RocketChat/Rocket.Chat/pull/32253)) Increased the timeout between calls for the three remaining Omnichannel Agenda Jobs. This should make them happen less often and reduce the load on MongoDB
12+
13+
- ([#32252](https://github.com/RocketChat/Rocket.Chat/pull/32252)) Fixes an issue that forces the focus on the last message when interacting by mouse on message list
14+
15+
- ([#32256](https://github.com/RocketChat/Rocket.Chat/pull/32256)) Fixed open expanded view (galery mode) for image attachments sent by livechat widget
16+
17+
- ([#32254](https://github.com/RocketChat/Rocket.Chat/pull/32254)) Fixed an issue where Rocket.Chat would ask admins to confirm fingerprint change (new workspace vs configuration update), even when `AUTO_ACCEPT_FINGERPRINT` environment variable set to `"true"`.
18+
19+
- ([#32265](https://github.com/RocketChat/Rocket.Chat/pull/32265)) Fixed supported versions not being updated in airgapped environments
20+
21+
- ([#32251](https://github.com/RocketChat/Rocket.Chat/pull/32251)) Fixes an issue where message reactions are vertically misaligned when zooming out
22+
23+
- <details><summary>Updated dependencies []:</summary>
24+
25+
- @rocket.chat/core-typings@6.7.1
26+
- @rocket.chat/rest-typings@6.7.1
27+
- @rocket.chat/api-client@0.1.30
28+
- @rocket.chat/license@0.1.12
29+
- @rocket.chat/omnichannel-services@0.1.12
30+
- @rocket.chat/pdf-worker@0.0.36
31+
- @rocket.chat/presence@0.1.12
32+
- @rocket.chat/apps@0.0.3
33+
- @rocket.chat/core-services@0.3.12
34+
- @rocket.chat/cron@0.0.32
35+
- @rocket.chat/gazzodown@5.0.1
36+
- @rocket.chat/model-typings@0.3.8
37+
- @rocket.chat/ui-contexts@5.0.1
38+
- @rocket.chat/server-cloud-communication@0.0.2
39+
- @rocket.chat/fuselage-ui-kit@5.0.1
40+
- @rocket.chat/models@0.0.36
41+
- @rocket.chat/ui-theming@0.1.2
42+
- @rocket.chat/ui-avatar@1.0.1
43+
- @rocket.chat/ui-client@5.0.1
44+
- @rocket.chat/ui-video-conf@5.0.1
45+
- @rocket.chat/web-ui-registration@5.0.1
46+
- @rocket.chat/instance-status@0.0.36
47+
</details>
48+
349
## 6.7.0
450

551
### Minor Changes

apps/meteor/app/api/server/lib/getServerInfo.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@ import {
55
getCachedSupportedVersionsToken,
66
wrapPromise,
77
} from '../../../cloud/server/functions/supportedVersionsToken/supportedVersionsToken';
8+
import { settings } from '../../../settings/server';
89
import { Info, minimumClientVersions } from '../../../utils/rocketchat.info';
910

1011
const removePatchInfo = (version: string): string => version.replace(/(\d+\.\d+).*/, '$1');
1112

1213
export async function getServerInfo(userId?: string): Promise<IWorkspaceInfo> {
1314
const hasPermissionToViewStatistics = userId && (await hasPermissionAsync(userId, 'view-statistics'));
1415
const supportedVersionsToken = await wrapPromise(getCachedSupportedVersionsToken());
16+
const cloudWorkspaceId = settings.get<string | undefined>('Cloud_Workspace_Id');
1517

1618
return {
1719
version: removePatchInfo(Info.version),
18-
1920
...(hasPermissionToViewStatistics && {
2021
info: {
2122
...Info,
@@ -28,5 +29,7 @@ export async function getServerInfo(userId?: string): Promise<IWorkspaceInfo> {
2829
supportedVersionsToken.result && {
2930
supportedVersions: { signed: supportedVersionsToken.result },
3031
}),
32+
33+
cloudWorkspaceId,
3134
};
3235
}

apps/meteor/app/api/server/v1/rooms.ts

+40-1
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@ import { Media } from '@rocket.chat/core-services';
22
import type { IRoom, IUpload } from '@rocket.chat/core-typings';
33
import { Messages, Rooms, Users, Uploads } from '@rocket.chat/models';
44
import type { Notifications } from '@rocket.chat/rest-typings';
5-
import { isGETRoomsNameExists, isRoomsImagesProps } from '@rocket.chat/rest-typings';
5+
import { isGETRoomsNameExists, isRoomsImagesProps, isRoomsMuteUnmuteUserProps } from '@rocket.chat/rest-typings';
66
import { Meteor } from 'meteor/meteor';
77

88
import { isTruthy } from '../../../../lib/isTruthy';
99
import * as dataExport from '../../../../server/lib/dataExport';
1010
import { eraseRoom } from '../../../../server/methods/eraseRoom';
11+
import { muteUserInRoom } from '../../../../server/methods/muteUserInRoom';
12+
import { unmuteUserInRoom } from '../../../../server/methods/unmuteUserInRoom';
1113
import { canAccessRoomAsync, canAccessRoomIdAsync } from '../../../authorization/server/functions/canAccessRoom';
1214
import { hasPermissionAsync } from '../../../authorization/server/functions/hasPermission';
1315
import { saveRoomSettings } from '../../../channel-settings/server/methods/saveRoomSettings';
@@ -19,6 +21,7 @@ import { settings } from '../../../settings/server';
1921
import { API } from '../api';
2022
import { composeRoomWithLastMessage } from '../helpers/composeRoomWithLastMessage';
2123
import { getPaginationItems } from '../helpers/getPaginationItems';
24+
import { getUserFromParams } from '../helpers/getUserFromParams';
2225
import { getUploadFormData } from '../lib/getUploadFormData';
2326
import {
2427
findAdminRoom,
@@ -678,3 +681,39 @@ API.v1.addRoute(
678681
},
679682
},
680683
);
684+
685+
API.v1.addRoute(
686+
'rooms.muteUser',
687+
{ authRequired: true, validateParams: isRoomsMuteUnmuteUserProps },
688+
{
689+
async post() {
690+
const user = await getUserFromParams(this.bodyParams);
691+
692+
if (!user.username) {
693+
return API.v1.failure('Invalid user');
694+
}
695+
696+
await muteUserInRoom(this.userId, { rid: this.bodyParams.roomId, username: user.username });
697+
698+
return API.v1.success();
699+
},
700+
},
701+
);
702+
703+
API.v1.addRoute(
704+
'rooms.unmuteUser',
705+
{ authRequired: true, validateParams: isRoomsMuteUnmuteUserProps },
706+
{
707+
async post() {
708+
const user = await getUserFromParams(this.bodyParams);
709+
710+
if (!user.username) {
711+
return API.v1.failure('Invalid user');
712+
}
713+
714+
await unmuteUserInRoom(this.userId, { rid: this.bodyParams.roomId, username: user.username });
715+
716+
return API.v1.success();
717+
},
718+
},
719+
);

apps/meteor/app/api/server/v1/voip/extensions.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Voip } from '@rocket.chat/core-services';
1+
import { VoipAsterisk } from '@rocket.chat/core-services';
22
import type { IVoipExtensionBase } from '@rocket.chat/core-typings';
33
import { Users } from '@rocket.chat/models';
44
import { Match, check } from 'meteor/check';
@@ -14,7 +14,7 @@ API.v1.addRoute(
1414
{ authRequired: true, permissionsRequired: ['manage-voip-call-settings'] },
1515
{
1616
async get() {
17-
const version = await Voip.getConnectorVersion();
17+
const version = await VoipAsterisk.getConnectorVersion();
1818
return API.v1.success(version);
1919
},
2020
},
@@ -26,7 +26,7 @@ API.v1.addRoute(
2626
{ authRequired: true, permissionsRequired: ['manage-voip-call-settings'] },
2727
{
2828
async get() {
29-
const list = await Voip.getExtensionList();
29+
const list = await VoipAsterisk.getExtensionList();
3030
const result = list.result as IVoipExtensionBase[];
3131
return API.v1.success({ extensions: result });
3232
},
@@ -48,7 +48,7 @@ API.v1.addRoute(
4848
extension: String,
4949
}),
5050
);
51-
const endpointDetails = await Voip.getExtensionDetails(this.queryParams);
51+
const endpointDetails = await VoipAsterisk.getExtensionDetails(this.queryParams);
5252
return API.v1.success({ ...endpointDetails.result });
5353
},
5454
},
@@ -68,7 +68,7 @@ API.v1.addRoute(
6868
extension: String,
6969
}),
7070
);
71-
const endpointDetails = await Voip.getRegistrationInfo(this.queryParams);
71+
const endpointDetails = await VoipAsterisk.getRegistrationInfo(this.queryParams);
7272
const encKey = settings.get<string>('VoIP_JWT_Secret');
7373
if (!encKey) {
7474
logger.warn('No JWT keys set. Sending registration info as plain text');
@@ -111,7 +111,7 @@ API.v1.addRoute(
111111
return API.v1.notFound('Extension not found');
112112
}
113113

114-
const endpointDetails = await Voip.getRegistrationInfo({ extension });
114+
const endpointDetails = await VoipAsterisk.getRegistrationInfo({ extension });
115115
const encKey = settings.get<string>('VoIP_JWT_Secret');
116116
if (!encKey) {
117117
logger.warn('No JWT keys set. Sending registration info as plain text');

apps/meteor/app/api/server/v1/voip/queues.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Voip } from '@rocket.chat/core-services';
1+
import { VoipAsterisk } from '@rocket.chat/core-services';
22
import type { IVoipConnectorResult, IQueueSummary, IQueueMembershipDetails, IQueueMembershipSubscription } from '@rocket.chat/core-typings';
33
import { Match, check } from 'meteor/check';
44

@@ -9,7 +9,7 @@ API.v1.addRoute(
99
{ authRequired: true, permissionsRequired: ['inbound-voip-calls'] },
1010
{
1111
async get() {
12-
const queueSummary = await Voip.getQueueSummary();
12+
const queueSummary = await VoipAsterisk.getQueueSummary();
1313
return API.v1.success({ summary: queueSummary.result as IQueueSummary[] });
1414
},
1515
},
@@ -26,7 +26,7 @@ API.v1.addRoute(
2626
extension: String,
2727
}),
2828
);
29-
const membershipDetails: IVoipConnectorResult = await Voip.getQueuedCallsForThisExtension(this.queryParams);
29+
const membershipDetails: IVoipConnectorResult = await VoipAsterisk.getQueuedCallsForThisExtension(this.queryParams);
3030
return API.v1.success(membershipDetails.result as IQueueMembershipDetails);
3131
},
3232
},
@@ -43,7 +43,7 @@ API.v1.addRoute(
4343
extension: String,
4444
}),
4545
);
46-
const membershipDetails: IVoipConnectorResult = await Voip.getQueueMembership(this.queryParams);
46+
const membershipDetails: IVoipConnectorResult = await VoipAsterisk.getQueueMembership(this.queryParams);
4747
return API.v1.success(membershipDetails.result as IQueueMembershipSubscription);
4848
},
4949
},

apps/meteor/app/api/server/v1/voip/server-connection.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Voip } from '@rocket.chat/core-services';
1+
import { VoipAsterisk } from '@rocket.chat/core-services';
22
import { Match, check } from 'meteor/check';
33

44
import { API } from '../../api';
@@ -18,7 +18,7 @@ API.v1.addRoute(
1818
}),
1919
);
2020
const { host, port, username, password } = this.queryParams;
21-
return API.v1.success(await Voip.checkManagementConnection(host, port, username, password));
21+
return API.v1.success(await VoipAsterisk.checkManagementConnection(host, port, username, password));
2222
},
2323
},
2424
);
@@ -53,7 +53,7 @@ API.v1.addRoute(
5353
}
5454
}
5555

56-
return API.v1.success(await Voip.checkCallserverConnection(socketUrl));
56+
return API.v1.success(await VoipAsterisk.checkCallserverConnection(socketUrl));
5757
},
5858
},
5959
);

0 commit comments

Comments
 (0)