From be2b5c66cf0964a971d4d668e0ac1ca71fd46a21 Mon Sep 17 00:00:00 2001 From: rocketchat-github-ci Date: Tue, 8 Aug 2023 20:59:19 +0000 Subject: [PATCH 01/96] Bump 6.3.1 --- .changeset/bump-patch-1691528359038.md | 5 +++++ yarn.lock | 16 ++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 .changeset/bump-patch-1691528359038.md diff --git a/.changeset/bump-patch-1691528359038.md b/.changeset/bump-patch-1691528359038.md new file mode 100644 index 000000000000..e1eaa7980afb --- /dev/null +++ b/.changeset/bump-patch-1691528359038.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Bump @rocket.chat/meteor version. diff --git a/yarn.lock b/yarn.lock index 7252fe9dcce8..81c60fc6670a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9898,9 +9898,9 @@ __metadata: "@rocket.chat/icons": "*" "@rocket.chat/prettier-config": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-contexts": 1.0.0-rc.10 + "@rocket.chat/ui-contexts": 1.0.0 "@rocket.chat/ui-kit": "*" - "@rocket.chat/ui-video-conf": 1.0.0-rc.10 + "@rocket.chat/ui-video-conf": 1.0.0 "@tanstack/react-query": "*" react: "*" react-dom: "*" @@ -9982,14 +9982,14 @@ __metadata: ts-jest: ~29.0.5 typescript: ~5.1.3 peerDependencies: - "@rocket.chat/core-typings": 6.3.0-rc.10 + "@rocket.chat/core-typings": 6.3.0 "@rocket.chat/css-in-js": "*" "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-tokens": "*" "@rocket.chat/message-parser": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-client": 1.0.0-rc.10 - "@rocket.chat/ui-contexts": 1.0.0-rc.10 + "@rocket.chat/ui-client": 1.0.0 + "@rocket.chat/ui-contexts": 1.0.0 katex: "*" react: "*" languageName: unknown @@ -11048,7 +11048,7 @@ __metadata: "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" - "@rocket.chat/ui-contexts": 1.0.0-rc.10 + "@rocket.chat/ui-contexts": 1.0.0 react: ~17.0.2 languageName: unknown linkType: soft @@ -11202,7 +11202,7 @@ __metadata: "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-contexts": 1.0.0-rc.10 + "@rocket.chat/ui-contexts": 1.0.0 react: ^17.0.2 react-dom: ^17.0.2 languageName: unknown @@ -11268,7 +11268,7 @@ __metadata: typescript: ~5.1.3 peerDependencies: "@rocket.chat/layout": "*" - "@rocket.chat/ui-contexts": 1.0.0-rc.10 + "@rocket.chat/ui-contexts": 1.0.0 "@tanstack/react-query": "*" react: "*" react-hook-form: "*" From 25d5e3cd9e280f7f38a8e9b7147691830a029f5c Mon Sep 17 00:00:00 2001 From: Debdut Chakraborty Date: Wed, 9 Aug 2023 03:01:25 +0530 Subject: [PATCH 02/96] fix: user creation using ADMIN_* variables (#30015) --- .changeset/swift-birds-build.md | 5 +++++ apps/meteor/server/startup/initialData.js | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/swift-birds-build.md diff --git a/.changeset/swift-birds-build.md b/.changeset/swift-birds-build.md new file mode 100644 index 000000000000..4af3bddd875b --- /dev/null +++ b/.changeset/swift-birds-build.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Fixed unable to create admin user using ADMIN\_\* environment variables diff --git a/apps/meteor/server/startup/initialData.js b/apps/meteor/server/startup/initialData.js index b5c81314921a..17ecd9654cbd 100644 --- a/apps/meteor/server/startup/initialData.js +++ b/apps/meteor/server/startup/initialData.js @@ -115,11 +115,11 @@ Meteor.startup(async function () { adminUser.type = 'user'; - const id = await Users.create(adminUser); + const { insertedId: userId } = await Users.create(adminUser); - await Accounts.setPasswordAsync(id, process.env.ADMIN_PASS); + await Accounts.setPasswordAsync(userId, process.env.ADMIN_PASS); - await addUserRolesAsync(id, ['admin']); + await addUserRolesAsync(userId, ['admin']); } else { console.log(colors.red('Users with admin role already exist; Ignoring environment variables ADMIN_PASS')); } From dbcad4476333709978e2b478dec91753b622bee1 Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Fri, 28 Jul 2023 03:03:46 -0300 Subject: [PATCH 03/96] chore: Trigger docs update (#29932) --- .github/workflows/ci.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1452e5b122d6..aa86468e1895 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -646,3 +646,11 @@ jobs: event-type: new_release repository: RocketChat/Release.Distributions client-payload: '{"tag": "${{ github.ref_name }}"}' + + - name: Update docs + uses: peter-evans/repository-dispatch@v2 + with: + token: ${{ secrets.DOCS_PAT }} + event-type: new_release + repository: RocketChat/docs + client-payload: '{"tag": "${{ github.ref_name }}"}' From 09a24e59ef2e4948dfae39aaee277cae1b778e2d Mon Sep 17 00:00:00 2001 From: Rodrigo Nascimento Date: Wed, 9 Aug 2023 12:08:58 -0300 Subject: [PATCH 04/96] fix: Performance issue on Engagement Dashboard aggregation (#30022) --- .changeset/heavy-cougars-marry.md | 5 +++ apps/meteor/server/models/raw/Messages.ts | 52 ++++++++++++++++------- 2 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 .changeset/heavy-cougars-marry.md diff --git a/.changeset/heavy-cougars-marry.md b/.changeset/heavy-cougars-marry.md new file mode 100644 index 000000000000..893f53352114 --- /dev/null +++ b/.changeset/heavy-cougars-marry.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Fix performance issue on Engagement Dashboard aggregation diff --git a/apps/meteor/server/models/raw/Messages.ts b/apps/meteor/server/models/raw/Messages.ts index b75088cdf0be..4bf94d5ca392 100644 --- a/apps/meteor/server/models/raw/Messages.ts +++ b/apps/meteor/server/models/raw/Messages.ts @@ -223,10 +223,32 @@ export class MessagesRaw extends BaseRaw implements IMessagesModel { getTotalOfMessagesSentByDate({ start, end, options = {} }: { start: Date; end: Date; options?: PaginatedRequest }): Promise { const params: Exclude['aggregate']>[0], undefined> = [ { $match: { t: { $exists: false }, ts: { $gte: start, $lte: end } } }, + { + $group: { + _id: { + rid: '$rid', + date: { + $dateToString: { format: '%Y%m%d', date: '$ts' }, + }, + }, + messages: { $sum: 1 }, + }, + }, + { + $group: { + _id: '$_id.rid', + data: { + $push: { + date: '$_id.date', + messages: '$messages', + }, + }, + }, + }, { $lookup: { from: 'rocketchat_room', - localField: 'rid', + localField: '_id', foreignField: '_id', as: 'room', }, @@ -237,8 +259,9 @@ export class MessagesRaw extends BaseRaw implements IMessagesModel { }, }, { - $group: { - _id: { + $project: { + data: '$data', + room: { _id: '$room._id', name: { $cond: [{ $ifNull: ['$room.fname', false] }, '$room.fname', '$room.name'], @@ -247,25 +270,22 @@ export class MessagesRaw extends BaseRaw implements IMessagesModel { usernames: { $cond: [{ $ifNull: ['$room.usernames', false] }, '$room.usernames', []], }, - date: { - $concat: [{ $substr: ['$ts', 0, 4] }, { $substr: ['$ts', 5, 2] }, { $substr: ['$ts', 8, 2] }], - }, }, - messages: { $sum: 1 }, + type: 'messages', + }, + }, + { + $unwind: { + path: '$data', }, }, { $project: { _id: 0, - date: '$_id.date', - room: { - _id: '$_id._id', - name: '$_id.name', - t: '$_id.t', - usernames: '$_id.usernames', - }, - type: 'messages', - messages: 1, + date: '$data.date', + room: 1, + type: 1, + messages: '$data.messages', }, }, ]; From a874d5b305cdf1640eb9279df9eb55ce4790f3ed Mon Sep 17 00:00:00 2001 From: Yash Rajpal <58601732+yash-rajpal@users.noreply.github.com> Date: Tue, 1 Aug 2023 10:29:38 +0530 Subject: [PATCH 05/96] fix: locales are requested multiple times (#29973) Co-authored-by: Tasso Evangelista <2263066+tassoevan@users.noreply.github.com> --- .changeset/blue-ladybugs-raise.md | 5 +++++ .../client/providers/TranslationProvider.tsx | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 .changeset/blue-ladybugs-raise.md diff --git a/.changeset/blue-ladybugs-raise.md b/.changeset/blue-ladybugs-raise.md new file mode 100644 index 000000000000..44d7a06b4111 --- /dev/null +++ b/.changeset/blue-ladybugs-raise.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Translation files are requested multiple times diff --git a/apps/meteor/client/providers/TranslationProvider.tsx b/apps/meteor/client/providers/TranslationProvider.tsx index 122579c8e7bb..f09761be9a3b 100644 --- a/apps/meteor/client/providers/TranslationProvider.tsx +++ b/apps/meteor/client/providers/TranslationProvider.tsx @@ -36,6 +36,8 @@ const parseToJSON = (customTranslations: string): Record>(); + const useI18next = (lng: string): typeof i18next => { const basePath = useAbsoluteUrl()('/i18n'); @@ -101,6 +103,22 @@ const useI18next = (lng: string): typeof i18next => { loadPath: `${basePath}/{{lng}}.json`, parse: (data: string, lngs?: string | string[], namespaces: string | string[] = []) => extractKeys(JSON.parse(data), lngs, namespaces), + request: (_options, url, _payload, callback) => { + const params = url.split('/'); + const lng = params[params.length - 1]; + + let promise = localeCache.get(lng); + + if (!promise) { + promise = fetch(url).then((res) => res.text()); + localeCache.set(lng, promise); + } + + promise.then( + (res) => callback(null, { data: res, status: 200 }), + () => callback(null, { data: '', status: 500 }), + ); + }, }, react: { useSuspense: true, From cf9f16b17ce1e62344edbcb86ee1c32caf39d3a8 Mon Sep 17 00:00:00 2001 From: Kevin Aleman Date: Thu, 10 Aug 2023 07:37:26 -0600 Subject: [PATCH 06/96] fix: Performance issue on Messages.countByType aggregation (#30062) --- .changeset/brown-clouds-add.md | 5 +++++ apps/meteor/ee/app/license/server/getStatistics.ts | 2 +- apps/meteor/server/models/raw/Messages.ts | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/brown-clouds-add.md diff --git a/.changeset/brown-clouds-add.md b/.changeset/brown-clouds-add.md new file mode 100644 index 000000000000..6b69289177b5 --- /dev/null +++ b/.changeset/brown-clouds-add.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +fix: Performance issue on `Messages.countByType` aggregation caused by unindexed property on messages collection diff --git a/apps/meteor/ee/app/license/server/getStatistics.ts b/apps/meteor/ee/app/license/server/getStatistics.ts index 9fe9f42c42bd..bd35e710f3b2 100644 --- a/apps/meteor/ee/app/license/server/getStatistics.ts +++ b/apps/meteor/ee/app/license/server/getStatistics.ts @@ -101,7 +101,7 @@ async function getEEStatistics(): Promise { statsPms.push( // Total livechat monitors - Users.col.countDocuments({ type: 'livechat-monitor' }).then((count) => { + Users.col.countDocuments({ roles: 'livechat-monitor' }).then((count) => { statistics.livechatMonitors = count; return true; }), diff --git a/apps/meteor/server/models/raw/Messages.ts b/apps/meteor/server/models/raw/Messages.ts index 4bf94d5ca392..f7c248eede1b 100644 --- a/apps/meteor/server/models/raw/Messages.ts +++ b/apps/meteor/server/models/raw/Messages.ts @@ -77,6 +77,7 @@ export class MessagesRaw extends BaseRaw implements IMessagesModel { { key: { 'navigation.token': 1 }, sparse: true }, { key: { 'federation.eventId': 1 }, sparse: true }, + { key: { t: 1 }, sparse: true }, ]; } From 34f08e7c9545afc1e7198aae7d7aaa043836cf91 Mon Sep 17 00:00:00 2001 From: Debdut Chakraborty Date: Thu, 10 Aug 2023 23:41:53 +0530 Subject: [PATCH 07/96] fix: recurring ENOENT errors when processing export requests (#30063) * fix: unable to create user if user manual approval is enabled * don't create directories when scheduling, create them when actually running * come on * oops * sorry * add changeset * oh you linter --- .changeset/swift-walls-protect.md | 5 +++++ apps/meteor/server/lib/dataExport/processDataDownloads.ts | 6 ++++++ apps/meteor/server/methods/requestDataDownload.ts | 5 +---- 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 .changeset/swift-walls-protect.md diff --git a/.changeset/swift-walls-protect.md b/.changeset/swift-walls-protect.md new file mode 100644 index 000000000000..6e3057775c32 --- /dev/null +++ b/.changeset/swift-walls-protect.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Fixed failing user data exports diff --git a/apps/meteor/server/lib/dataExport/processDataDownloads.ts b/apps/meteor/server/lib/dataExport/processDataDownloads.ts index 8b7ca08c6528..66c8cc77b359 100644 --- a/apps/meteor/server/lib/dataExport/processDataDownloads.ts +++ b/apps/meteor/server/lib/dataExport/processDataDownloads.ts @@ -49,6 +49,8 @@ const generateUserFile = async (exportOperation: IExportOperation, userData?: IU return; } + await mkdir(exportOperation.exportPath, { recursive: true }); + const { username, name, statusText, emails, roles, services } = userData; const dataToSave = { @@ -101,6 +103,8 @@ const generateUserAvatarFile = async (exportOperation: IExportOperation, userDat return; } + await mkdir(exportOperation.exportPath, { recursive: true }); + const file = await Avatars.findOneByName(userData.username); if (!file) { return; @@ -117,6 +121,8 @@ const generateChannelsFile = async (type: 'json' | 'html', exportPath: string, e return; } + await mkdir(exportOperation.exportPath, { recursive: true }); + const fileName = joinPath(exportPath, 'channels.json'); await writeFile( fileName, diff --git a/apps/meteor/server/methods/requestDataDownload.ts b/apps/meteor/server/methods/requestDataDownload.ts index ed3f90672883..87a8ef361060 100644 --- a/apps/meteor/server/methods/requestDataDownload.ts +++ b/apps/meteor/server/methods/requestDataDownload.ts @@ -1,5 +1,5 @@ import path, { join } from 'path'; -import { mkdir, mkdtemp } from 'fs/promises'; +import { mkdtemp } from 'fs/promises'; import { tmpdir } from 'os'; import { Meteor } from 'meteor/meteor'; @@ -65,7 +65,6 @@ Meteor.methods({ } const tempFolder = settings.get('UserData_FileSystemPath')?.trim() || (await mkdtemp(join(tmpdir(), 'userData'))); - await mkdir(tempFolder, { recursive: true }); const exportOperation = { status: 'preparing', @@ -81,10 +80,8 @@ Meteor.methods({ exportOperation._id = id; const folderName = path.join(tempFolder, id); - await mkdir(folderName, { recursive: true }); const assetsFolder = path.join(folderName, 'assets'); - await mkdir(assetsFolder, { recursive: true }); exportOperation.exportPath = folderName; exportOperation.assetsPath = assetsFolder; From f29c3268ee8aad05bf515b4448cb5b621c1bc2e0 Mon Sep 17 00:00:00 2001 From: Pierre Lehnen <55164754+pierre-lehnen-rc@users.noreply.github.com> Date: Thu, 10 Aug 2023 17:24:45 -0300 Subject: [PATCH 08/96] fix: OAuth login issues (#30041) --- .changeset/fast-yaks-collect.md | 5 +++ .changeset/quiet-phones-sell.md | 5 +++ .changeset/tiny-turkeys-burn.md | 5 +++ .../server/custom_oauth_server.js | 4 +-- .../meteor/client/providers/ModalProvider.tsx | 35 +++++++++++++++---- .../client/views/hooks/useImperativeModal.tsx | 24 ------------- 6 files changed, 46 insertions(+), 32 deletions(-) create mode 100644 .changeset/fast-yaks-collect.md create mode 100644 .changeset/quiet-phones-sell.md create mode 100644 .changeset/tiny-turkeys-burn.md delete mode 100644 apps/meteor/client/views/hooks/useImperativeModal.tsx diff --git a/.changeset/fast-yaks-collect.md b/.changeset/fast-yaks-collect.md new file mode 100644 index 000000000000..60dd92030163 --- /dev/null +++ b/.changeset/fast-yaks-collect.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +fixed an issue where 2fa was not working after an OAuth redirect diff --git a/.changeset/quiet-phones-sell.md b/.changeset/quiet-phones-sell.md new file mode 100644 index 000000000000..a6222cba16c9 --- /dev/null +++ b/.changeset/quiet-phones-sell.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +fixed an issue where oauth login was not working with some providers diff --git a/.changeset/tiny-turkeys-burn.md b/.changeset/tiny-turkeys-burn.md new file mode 100644 index 000000000000..a146bd6a0eae --- /dev/null +++ b/.changeset/tiny-turkeys-burn.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +fixed an issue on oauth login that caused missing emails to be detected as changed data diff --git a/apps/meteor/app/custom-oauth/server/custom_oauth_server.js b/apps/meteor/app/custom-oauth/server/custom_oauth_server.js index abfdafed6f53..4bb0b7000602 100644 --- a/apps/meteor/app/custom-oauth/server/custom_oauth_server.js +++ b/apps/meteor/app/custom-oauth/server/custom_oauth_server.js @@ -136,7 +136,7 @@ export class CustomOAuth { const request = await fetch(`${this.tokenPath}`, { method: 'POST', headers, - params, + body: params, }); if (!request.ok) { @@ -355,7 +355,7 @@ export class CustomOAuth { user.services[serviceName] && user.services[serviceName].id === serviceData.id && user.name === serviceData.name && - (this.keyField === 'email' || user.emails?.find(({ address }) => address === serviceData.email)) + (this.keyField === 'email' || !serviceData.email || user.emails?.find(({ address }) => address === serviceData.email)) ) { return; } diff --git a/apps/meteor/client/providers/ModalProvider.tsx b/apps/meteor/client/providers/ModalProvider.tsx index 64101804c233..39d36d172c00 100644 --- a/apps/meteor/client/providers/ModalProvider.tsx +++ b/apps/meteor/client/providers/ModalProvider.tsx @@ -1,15 +1,32 @@ import { ModalContext } from '@rocket.chat/ui-contexts'; -import type { ReactNode, ReactElement } from 'react'; -import React, { useState, useMemo, memo } from 'react'; +import type { ReactNode } from 'react'; +import React, { useState, useMemo, memo, Suspense, createElement, useEffect } from 'react'; -import { useImperativeModal } from '../views/hooks/useImperativeModal'; +import { imperativeModal } from '../lib/imperativeModal'; + +const mapCurrentModal = (descriptor: typeof imperativeModal.current): ReactNode => { + if (descriptor === null) { + return null; + } + + if ('component' in descriptor) { + return ( + }> + {createElement(descriptor.component, { + key: Math.random(), + ...descriptor.props, + })} + + ); + } +}; type ModalProviderProps = { children?: ReactNode; }; -const ModalProvider = ({ children }: ModalProviderProps): ReactElement => { - const [currentModal, setCurrentModal] = useState(null); +const ModalProvider = ({ children }: ModalProviderProps) => { + const [currentModal, setCurrentModal] = useState(() => mapCurrentModal(imperativeModal.current)); const contextValue = useMemo( () => ({ @@ -21,7 +38,13 @@ const ModalProvider = ({ children }: ModalProviderProps): ReactElement => { [currentModal], ); - useImperativeModal(setCurrentModal); + useEffect( + () => + imperativeModal.on('update', (descriptor) => { + setCurrentModal(mapCurrentModal(descriptor)); + }), + [], + ); return ; }; diff --git a/apps/meteor/client/views/hooks/useImperativeModal.tsx b/apps/meteor/client/views/hooks/useImperativeModal.tsx deleted file mode 100644 index b2bcf233d45b..000000000000 --- a/apps/meteor/client/views/hooks/useImperativeModal.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import type { Dispatch, SetStateAction, ReactNode } from 'react'; -import React, { Suspense, createElement, useEffect } from 'react'; - -import { imperativeModal } from '../../lib/imperativeModal'; - -export const useImperativeModal = (setModal: Dispatch>): void => { - useEffect(() => { - return imperativeModal.on('update', (descriptor) => { - if (descriptor === null) { - return setModal(null); - } - if ('component' in descriptor) { - setModal( - }> - {createElement(descriptor.component, { - key: Math.random(), - ...descriptor.props, - })} - , - ); - } - }); - }, [setModal]); -}; From ce2f2eaad33d9bedecdc51be92a003204ac30fdf Mon Sep 17 00:00:00 2001 From: Pierre Lehnen <55164754+pierre-lehnen-rc@users.noreply.github.com> Date: Thu, 10 Aug 2023 17:27:58 -0300 Subject: [PATCH 09/96] feat: ability to freeze or completely disable integration scripts through envvars (#30053) Co-authored-by: Diego Sampaio --- .changeset/curly-shoes-burn.md | 5 ++ .../meteor/app/integrations/server/api/api.js | 13 ++- .../integrations/server/lib/triggerHandler.js | 17 +++- .../server/lib/validateOutgoingIntegration.ts | 4 +- .../incoming/addIncomingIntegration.ts | 6 ++ .../incoming/updateIncomingIntegration.ts | 84 +++++++++++-------- .../outgoing/addOutgoingIntegration.ts | 6 ++ .../outgoing/updateOutgoingIntegration.ts | 36 ++++---- .../rocketchat-i18n/i18n/en.i18n.json | 1 + 9 files changed, 115 insertions(+), 57 deletions(-) create mode 100644 .changeset/curly-shoes-burn.md diff --git a/.changeset/curly-shoes-burn.md b/.changeset/curly-shoes-burn.md new file mode 100644 index 000000000000..67d453ab7245 --- /dev/null +++ b/.changeset/curly-shoes-burn.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Added ability to freeze or completely disable integration scripts through envvars diff --git a/apps/meteor/app/integrations/server/api/api.js b/apps/meteor/app/integrations/server/api/api.js index e4912ad89d8c..3456a7aba4c4 100644 --- a/apps/meteor/app/integrations/server/api/api.js +++ b/apps/meteor/app/integrations/server/api/api.js @@ -16,6 +16,8 @@ import { deleteOutgoingIntegration } from '../methods/outgoing/deleteOutgoingInt import { deasyncPromise } from '../../../../server/deasync/deasync'; import { addOutgoingIntegration } from '../methods/outgoing/addOutgoingIntegration'; +const DISABLE_INTEGRATION_SCRIPTS = ['yes', 'true'].includes(String(process.env.DISABLE_INTEGRATION_SCRIPTS).toLowerCase()); + export const forbiddenModelMethods = ['registerModel', 'getCollectionName']; const compiledScripts = {}; @@ -64,6 +66,10 @@ function buildSandbox(store = {}) { } function getIntegrationScript(integration) { + if (DISABLE_INTEGRATION_SCRIPTS) { + throw API.v1.failure('integration-scripts-disabled'); + } + const compiledScript = compiledScripts[integration._id]; if (compiledScript && +compiledScript._updatedAt === +integration._updatedAt) { return compiledScript.script; @@ -172,7 +178,12 @@ async function executeIntegrationRest() { emoji: this.integration.emoji, }; - if (this.integration.scriptEnabled && this.integration.scriptCompiled && this.integration.scriptCompiled.trim() !== '') { + if ( + !DISABLE_INTEGRATION_SCRIPTS && + this.integration.scriptEnabled && + this.integration.scriptCompiled && + this.integration.scriptCompiled.trim() !== '' + ) { let script; try { script = getIntegrationScript(this.integration); diff --git a/apps/meteor/app/integrations/server/lib/triggerHandler.js b/apps/meteor/app/integrations/server/lib/triggerHandler.js index 5fe002e21270..9988bfd06da5 100644 --- a/apps/meteor/app/integrations/server/lib/triggerHandler.js +++ b/apps/meteor/app/integrations/server/lib/triggerHandler.js @@ -18,6 +18,8 @@ import { forbiddenModelMethods } from '../api/api'; import { httpCall } from '../../../../server/lib/http/call'; import { deasyncPromise } from '../../../../server/deasync/deasync'; +const DISABLE_INTEGRATION_SCRIPTS = ['yes', 'true'].includes(String(process.env.DISABLE_INTEGRATION_SCRIPTS).toLowerCase()); + class RocketChatIntegrationHandler { constructor() { this.successResults = [200, 201, 202]; @@ -270,6 +272,10 @@ class RocketChatIntegrationHandler { } getIntegrationScript(integration) { + if (DISABLE_INTEGRATION_SCRIPTS) { + throw new Meteor.Error('integration-scripts-disabled'); + } + const compiledScript = this.compiledScripts[integration._id]; if (compiledScript && +compiledScript._updatedAt === +integration._updatedAt) { return compiledScript.script; @@ -313,7 +319,12 @@ class RocketChatIntegrationHandler { } hasScriptAndMethod(integration, method) { - if (integration.scriptEnabled !== true || !integration.scriptCompiled || integration.scriptCompiled.trim() === '') { + if ( + DISABLE_INTEGRATION_SCRIPTS || + integration.scriptEnabled !== true || + !integration.scriptCompiled || + integration.scriptCompiled.trim() === '' + ) { return false; } @@ -328,6 +339,10 @@ class RocketChatIntegrationHandler { } async executeScript(integration, method, params, historyId) { + if (DISABLE_INTEGRATION_SCRIPTS) { + return; + } + let script; try { script = this.getIntegrationScript(integration); diff --git a/apps/meteor/app/integrations/server/lib/validateOutgoingIntegration.ts b/apps/meteor/app/integrations/server/lib/validateOutgoingIntegration.ts index 80725fb75aad..2068db0b57e1 100644 --- a/apps/meteor/app/integrations/server/lib/validateOutgoingIntegration.ts +++ b/apps/meteor/app/integrations/server/lib/validateOutgoingIntegration.ts @@ -12,6 +12,8 @@ import { parseCSV } from '../../../../lib/utils/parseCSV'; const scopedChannels = ['all_public_channels', 'all_private_groups', 'all_direct_messages']; const validChannelChars = ['@', '#']; +const FREEZE_INTEGRATION_SCRIPTS = ['yes', 'true'].includes(String(process.env.FREEZE_INTEGRATION_SCRIPTS).toLowerCase()); + function _verifyRequiredFields(integration: INewOutgoingIntegration | IUpdateOutgoingIntegration): void { if ( !integration.event || @@ -169,7 +171,7 @@ export const validateOutgoingIntegration = async function ( delete integrationData.triggerWords; } - if (integration.scriptEnabled === true && integration.script && integration.script.trim() !== '') { + if (!FREEZE_INTEGRATION_SCRIPTS && integration.scriptEnabled === true && integration.script && integration.script.trim() !== '') { try { const babelOptions = Object.assign(Babel.getDefaultOptions({ runtime: false }), { compact: true, diff --git a/apps/meteor/app/integrations/server/methods/incoming/addIncomingIntegration.ts b/apps/meteor/app/integrations/server/methods/incoming/addIncomingIntegration.ts index 09ad473267da..96e2fa280920 100644 --- a/apps/meteor/app/integrations/server/methods/incoming/addIncomingIntegration.ts +++ b/apps/meteor/app/integrations/server/methods/incoming/addIncomingIntegration.ts @@ -11,6 +11,8 @@ import { hasPermissionAsync, hasAllPermissionAsync } from '../../../../authoriza const validChannelChars = ['@', '#']; +const FREEZE_INTEGRATION_SCRIPTS = ['yes', 'true'].includes(String(process.env.FREEZE_INTEGRATION_SCRIPTS).toLowerCase()); + declare module '@rocket.chat/ui-contexts' { // eslint-disable-next-line @typescript-eslint/naming-convention interface ServerMethods { @@ -74,6 +76,10 @@ export const addIncomingIntegration = async (userId: string, integration: INewIn }); } + if (FREEZE_INTEGRATION_SCRIPTS && integration.script?.trim()) { + throw new Meteor.Error('integration-scripts-disabled'); + } + const user = await Users.findOne({ username: integration.username }); if (!user) { diff --git a/apps/meteor/app/integrations/server/methods/incoming/updateIncomingIntegration.ts b/apps/meteor/app/integrations/server/methods/incoming/updateIncomingIntegration.ts index 4e0fa6bf423d..cf5ba5de9123 100644 --- a/apps/meteor/app/integrations/server/methods/incoming/updateIncomingIntegration.ts +++ b/apps/meteor/app/integrations/server/methods/incoming/updateIncomingIntegration.ts @@ -9,6 +9,8 @@ import { hasAllPermissionAsync, hasPermissionAsync } from '../../../../authoriza const validChannelChars = ['@', '#']; +const FREEZE_INTEGRATION_SCRIPTS = ['yes', 'true'].includes(String(process.env.FREEZE_INTEGRATION_SCRIPTS).toLowerCase()); + declare module '@rocket.chat/ui-contexts' { // eslint-disable-next-line @typescript-eslint/naming-convention interface ServerMethods { @@ -64,42 +66,48 @@ Meteor.methods({ }); } - let scriptCompiled: string | undefined; - let scriptError: Pick | undefined; - - if (integration.scriptEnabled === true && integration.script && integration.script.trim() !== '') { - try { - let babelOptions = Babel.getDefaultOptions({ runtime: false }); - babelOptions = _.extend(babelOptions, { compact: true, minified: true, comments: false }); - - scriptCompiled = Babel.compile(integration.script, babelOptions).code; - scriptError = undefined; - await Integrations.updateOne( - { _id: integrationId }, - { - $set: { - scriptCompiled, - }, - $unset: { scriptError: 1 as const }, - }, - ); - } catch (e) { - scriptCompiled = undefined; - if (e instanceof Error) { - const { name, message, stack } = e; - scriptError = { name, message, stack }; - } - await Integrations.updateOne( - { _id: integrationId }, - { - $set: { - scriptError, + if (FREEZE_INTEGRATION_SCRIPTS) { + if (currentIntegration.script?.trim() !== integration.script?.trim()) { + throw new Meteor.Error('integration-scripts-disabled'); + } + } else { + let scriptCompiled: string | undefined; + let scriptError: Pick | undefined; + + if (integration.scriptEnabled === true && integration.script && integration.script.trim() !== '') { + try { + let babelOptions = Babel.getDefaultOptions({ runtime: false }); + babelOptions = _.extend(babelOptions, { compact: true, minified: true, comments: false }); + + scriptCompiled = Babel.compile(integration.script, babelOptions).code; + scriptError = undefined; + await Integrations.updateOne( + { _id: integrationId }, + { + $set: { + scriptCompiled, + }, + $unset: { scriptError: 1 as const }, }, - $unset: { - scriptCompiled: 1 as const, + ); + } catch (e) { + scriptCompiled = undefined; + if (e instanceof Error) { + const { name, message, stack } = e; + scriptError = { name, message, stack }; + } + await Integrations.updateOne( + { _id: integrationId }, + { + $set: { + scriptError, + }, + $unset: { + scriptCompiled: 1 as const, + }, }, - }, - ); + ); + } } } @@ -157,8 +165,12 @@ Meteor.methods({ emoji: integration.emoji, alias: integration.alias, channel: channels, - script: integration.script, - scriptEnabled: integration.scriptEnabled, + ...(FREEZE_INTEGRATION_SCRIPTS + ? {} + : { + script: integration.script, + scriptEnabled: integration.scriptEnabled, + }), overrideDestinationChannelEnabled: integration.overrideDestinationChannelEnabled, _updatedAt: new Date(), _updatedBy: await Users.findOne({ _id: this.userId }, { projection: { username: 1 } }), diff --git a/apps/meteor/app/integrations/server/methods/outgoing/addOutgoingIntegration.ts b/apps/meteor/app/integrations/server/methods/outgoing/addOutgoingIntegration.ts index 146928f643b4..aac9b3644dcf 100644 --- a/apps/meteor/app/integrations/server/methods/outgoing/addOutgoingIntegration.ts +++ b/apps/meteor/app/integrations/server/methods/outgoing/addOutgoingIntegration.ts @@ -14,6 +14,8 @@ declare module '@rocket.chat/ui-contexts' { } } +const FREEZE_INTEGRATION_SCRIPTS = ['yes', 'true'].includes(String(process.env.FREEZE_INTEGRATION_SCRIPTS).toLowerCase()); + export const addOutgoingIntegration = async (userId: string, integration: INewOutgoingIntegration): Promise => { check( integration, @@ -50,6 +52,10 @@ export const addOutgoingIntegration = async (userId: string, integration: INewOu throw new Meteor.Error('not_authorized'); } + if (FREEZE_INTEGRATION_SCRIPTS && integration.script?.trim()) { + throw new Meteor.Error('integration-scripts-disabled'); + } + const integrationData = await validateOutgoingIntegration(integration, userId); const result = await Integrations.insertOne(integrationData); diff --git a/apps/meteor/app/integrations/server/methods/outgoing/updateOutgoingIntegration.ts b/apps/meteor/app/integrations/server/methods/outgoing/updateOutgoingIntegration.ts index a297fd980897..847976083316 100644 --- a/apps/meteor/app/integrations/server/methods/outgoing/updateOutgoingIntegration.ts +++ b/apps/meteor/app/integrations/server/methods/outgoing/updateOutgoingIntegration.ts @@ -16,6 +16,8 @@ declare module '@rocket.chat/ui-contexts' { } } +const FREEZE_INTEGRATION_SCRIPTS = ['yes', 'true'].includes(String(process.env.FREEZE_INTEGRATION_SCRIPTS).toLowerCase()); + Meteor.methods({ async updateOutgoingIntegration(integrationId, _integration) { if (!this.userId) { @@ -51,22 +53,8 @@ Meteor.methods({ throw new Meteor.Error('invalid_integration', '[methods] updateOutgoingIntegration -> integration not found'); } - if (integration.scriptCompiled) { - await Integrations.updateOne( - { _id: integrationId }, - { - $set: { scriptCompiled: integration.scriptCompiled }, - $unset: { scriptError: 1 as const }, - }, - ); - } else { - await Integrations.updateOne( - { _id: integrationId }, - { - $set: { scriptError: integration.scriptError }, - $unset: { scriptCompiled: 1 as const }, - }, - ); + if (FREEZE_INTEGRATION_SCRIPTS && integration.script?.trim() !== currentIntegration.script?.trim()) { + throw new Meteor.Error('integration-scripts-disabled'); } await Integrations.updateOne( @@ -86,8 +74,13 @@ Meteor.methods({ userId: integration.userId, urls: integration.urls, token: integration.token, - script: integration.script, - scriptEnabled: integration.scriptEnabled, + ...(FREEZE_INTEGRATION_SCRIPTS + ? {} + : { + script: integration.script, + scriptEnabled: integration.scriptEnabled, + ...(integration.scriptCompiled ? { scriptCompiled: integration.scriptCompiled } : { scriptError: integration.scriptError }), + }), triggerWords: integration.triggerWords, retryFailedCalls: integration.retryFailedCalls, retryCount: integration.retryCount, @@ -97,6 +90,13 @@ Meteor.methods({ _updatedAt: new Date(), _updatedBy: await Users.findOne({ _id: this.userId }, { projection: { username: 1 } }), }, + ...(FREEZE_INTEGRATION_SCRIPTS + ? {} + : { + $unset: { + ...(integration.scriptCompiled ? { scriptError: 1 as const } : { scriptCompiled: 1 as const }), + }, + }), }, ); diff --git a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json index 9c5adec4e993..1239bf6d8038 100644 --- a/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json +++ b/apps/meteor/packages/rocketchat-i18n/i18n/en.i18n.json @@ -2631,6 +2631,7 @@ "Integration_History_Cleared": "Integration History Successfully Cleared", "Integration_Incoming_WebHook": "Incoming WebHook Integration", "Integration_New": "New Integration", + "integration-scripts-disabled": "Integration Scripts are Disabled", "Integration_Outgoing_WebHook": "Outgoing WebHook Integration", "Integration_Outgoing_WebHook_History": "Outgoing WebHook Integration History", "Integration_Outgoing_WebHook_History_Data_Passed_To_Trigger": "Data Passed to Integration", From 79a0268039efae3ce41f03a9da75754e227fdece Mon Sep 17 00:00:00 2001 From: rocketchat-github-ci Date: Fri, 11 Aug 2023 03:46:00 +0000 Subject: [PATCH 10/96] Release 6.3.1 [no ci] --- .changeset/blue-ladybugs-raise.md | 5 --- .changeset/brown-clouds-add.md | 5 --- .changeset/bump-patch-1691528359038.md | 5 --- .changeset/curly-shoes-burn.md | 5 --- .changeset/fast-yaks-collect.md | 5 --- .changeset/heavy-cougars-marry.md | 5 --- .changeset/quiet-phones-sell.md | 5 --- .changeset/swift-birds-build.md | 5 --- .changeset/swift-walls-protect.md | 5 --- .changeset/tiny-turkeys-burn.md | 5 --- apps/meteor/.docker/Dockerfile.rhel | 2 +- apps/meteor/CHANGELOG.md | 34 +++++++++++++++++++ apps/meteor/app/utils/rocketchat.info | 2 +- apps/meteor/ee/server/services/CHANGELOG.md | 10 ++++++ apps/meteor/ee/server/services/package.json | 2 +- apps/meteor/package.json | 2 +- ee/apps/account-service/CHANGELOG.md | 10 ++++++ ee/apps/account-service/package.json | 2 +- ee/apps/authorization-service/CHANGELOG.md | 10 ++++++ ee/apps/authorization-service/package.json | 2 +- ee/apps/ddp-streamer/CHANGELOG.md | 12 +++++++ ee/apps/ddp-streamer/package.json | 2 +- ee/apps/omnichannel-transcript/CHANGELOG.md | 11 ++++++ ee/apps/omnichannel-transcript/package.json | 2 +- ee/apps/presence-service/CHANGELOG.md | 10 ++++++ ee/apps/presence-service/package.json | 2 +- ee/apps/queue-worker/CHANGELOG.md | 10 ++++++ ee/apps/queue-worker/package.json | 2 +- ee/apps/stream-hub-service/CHANGELOG.md | 9 +++++ ee/apps/stream-hub-service/package.json | 2 +- ee/packages/api-client/CHANGELOG.md | 7 ++++ ee/packages/api-client/package.json | 2 +- ee/packages/ddp-client/CHANGELOG.md | 7 ++++ ee/packages/ddp-client/package.json | 2 +- ee/packages/omnichannel-services/CHANGELOG.md | 11 ++++++ ee/packages/omnichannel-services/package.json | 2 +- ee/packages/pdf-worker/CHANGELOG.md | 6 ++++ ee/packages/pdf-worker/package.json | 2 +- ee/packages/presence/CHANGELOG.md | 8 +++++ ee/packages/presence/package.json | 2 +- package.json | 2 +- packages/core-services/CHANGELOG.md | 8 +++++ packages/core-services/package.json | 2 +- packages/core-typings/CHANGELOG.md | 2 ++ packages/core-typings/package.json | 2 +- packages/cron/CHANGELOG.md | 7 ++++ packages/cron/package.json | 2 +- packages/fuselage-ui-kit/CHANGELOG.md | 8 +++++ packages/fuselage-ui-kit/package.json | 6 ++-- packages/gazzodown/CHANGELOG.md | 8 +++++ packages/gazzodown/package.json | 8 ++--- packages/instance-status/CHANGELOG.md | 6 ++++ packages/instance-status/package.json | 2 +- packages/model-typings/CHANGELOG.md | 6 ++++ packages/model-typings/package.json | 2 +- packages/models/CHANGELOG.md | 6 ++++ packages/models/package.json | 2 +- packages/rest-typings/CHANGELOG.md | 6 ++++ packages/rest-typings/package.json | 2 +- packages/ui-client/CHANGELOG.md | 6 ++++ packages/ui-client/package.json | 4 +-- packages/ui-contexts/CHANGELOG.md | 8 +++++ packages/ui-contexts/package.json | 2 +- packages/ui-video-conf/CHANGELOG.md | 6 ++++ packages/ui-video-conf/package.json | 4 +-- packages/uikit-playground/CHANGELOG.md | 7 ++++ packages/uikit-playground/package.json | 2 +- packages/web-ui-registration/CHANGELOG.md | 6 ++++ packages/web-ui-registration/package.json | 4 +-- 69 files changed, 284 insertions(+), 89 deletions(-) delete mode 100644 .changeset/blue-ladybugs-raise.md delete mode 100644 .changeset/brown-clouds-add.md delete mode 100644 .changeset/bump-patch-1691528359038.md delete mode 100644 .changeset/curly-shoes-burn.md delete mode 100644 .changeset/fast-yaks-collect.md delete mode 100644 .changeset/heavy-cougars-marry.md delete mode 100644 .changeset/quiet-phones-sell.md delete mode 100644 .changeset/swift-birds-build.md delete mode 100644 .changeset/swift-walls-protect.md delete mode 100644 .changeset/tiny-turkeys-burn.md diff --git a/.changeset/blue-ladybugs-raise.md b/.changeset/blue-ladybugs-raise.md deleted file mode 100644 index 44d7a06b4111..000000000000 --- a/.changeset/blue-ladybugs-raise.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Translation files are requested multiple times diff --git a/.changeset/brown-clouds-add.md b/.changeset/brown-clouds-add.md deleted file mode 100644 index 6b69289177b5..000000000000 --- a/.changeset/brown-clouds-add.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@rocket.chat/meteor": patch ---- - -fix: Performance issue on `Messages.countByType` aggregation caused by unindexed property on messages collection diff --git a/.changeset/bump-patch-1691528359038.md b/.changeset/bump-patch-1691528359038.md deleted file mode 100644 index e1eaa7980afb..000000000000 --- a/.changeset/bump-patch-1691528359038.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Bump @rocket.chat/meteor version. diff --git a/.changeset/curly-shoes-burn.md b/.changeset/curly-shoes-burn.md deleted file mode 100644 index 67d453ab7245..000000000000 --- a/.changeset/curly-shoes-burn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Added ability to freeze or completely disable integration scripts through envvars diff --git a/.changeset/fast-yaks-collect.md b/.changeset/fast-yaks-collect.md deleted file mode 100644 index 60dd92030163..000000000000 --- a/.changeset/fast-yaks-collect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -fixed an issue where 2fa was not working after an OAuth redirect diff --git a/.changeset/heavy-cougars-marry.md b/.changeset/heavy-cougars-marry.md deleted file mode 100644 index 893f53352114..000000000000 --- a/.changeset/heavy-cougars-marry.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Fix performance issue on Engagement Dashboard aggregation diff --git a/.changeset/quiet-phones-sell.md b/.changeset/quiet-phones-sell.md deleted file mode 100644 index a6222cba16c9..000000000000 --- a/.changeset/quiet-phones-sell.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -fixed an issue where oauth login was not working with some providers diff --git a/.changeset/swift-birds-build.md b/.changeset/swift-birds-build.md deleted file mode 100644 index 4af3bddd875b..000000000000 --- a/.changeset/swift-birds-build.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Fixed unable to create admin user using ADMIN\_\* environment variables diff --git a/.changeset/swift-walls-protect.md b/.changeset/swift-walls-protect.md deleted file mode 100644 index 6e3057775c32..000000000000 --- a/.changeset/swift-walls-protect.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Fixed failing user data exports diff --git a/.changeset/tiny-turkeys-burn.md b/.changeset/tiny-turkeys-burn.md deleted file mode 100644 index a146bd6a0eae..000000000000 --- a/.changeset/tiny-turkeys-burn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -fixed an issue on oauth login that caused missing emails to be detected as changed data diff --git a/apps/meteor/.docker/Dockerfile.rhel b/apps/meteor/.docker/Dockerfile.rhel index a5bf7cef006c..a0101a487691 100644 --- a/apps/meteor/.docker/Dockerfile.rhel +++ b/apps/meteor/.docker/Dockerfile.rhel @@ -1,6 +1,6 @@ FROM registry.access.redhat.com/ubi8/nodejs-12 -ENV RC_VERSION 6.3.0 +ENV RC_VERSION 6.3.1 MAINTAINER buildmaster@rocket.chat diff --git a/apps/meteor/CHANGELOG.md b/apps/meteor/CHANGELOG.md index f8a1a24f8430..d4f0053e018e 100644 --- a/apps/meteor/CHANGELOG.md +++ b/apps/meteor/CHANGELOG.md @@ -1,5 +1,39 @@ # @rocket.chat/meteor +## 6.3.1 + +### Patch Changes + +- a874d5b305: Translation files are requested multiple times +- cf9f16b17c: fix: Performance issue on `Messages.countByType` aggregation caused by unindexed property on messages collection +- be2b5c66cf: Bump @rocket.chat/meteor version. +- Bump @rocket.chat/meteor version. +- ce2f2eaad3: Added ability to freeze or completely disable integration scripts through envvars +- f29c3268ee: fixed an issue where 2fa was not working after an OAuth redirect +- 09a24e59ef: Fix performance issue on Engagement Dashboard aggregation +- f29c3268ee: fixed an issue where oauth login was not working with some providers +- 25d5e3cd9e: Fixed unable to create admin user using ADMIN\_\* environment variables +- 34f08e7c95: Fixed failing user data exports +- f29c3268ee: fixed an issue on oauth login that caused missing emails to be detected as changed data + - @rocket.chat/core-typings@6.3.1 + - @rocket.chat/rest-typings@6.3.1 + - @rocket.chat/api-client@0.1.1 + - @rocket.chat/omnichannel-services@0.0.7 + - @rocket.chat/pdf-worker@0.0.7 + - @rocket.chat/presence@0.0.7 + - @rocket.chat/core-services@0.1.1 + - @rocket.chat/cron@0.0.3 + - @rocket.chat/gazzodown@1.0.1 + - @rocket.chat/model-typings@0.0.7 + - @rocket.chat/ui-contexts@1.0.1 + - @rocket.chat/fuselage-ui-kit@1.0.1 + - @rocket.chat/models@0.0.7 + - @rocket.chat/ui-theming@0.0.1 + - @rocket.chat/ui-client@1.0.1 + - @rocket.chat/ui-video-conf@1.0.1 + - @rocket.chat/web-ui-registration@1.0.1 + - @rocket.chat/instance-status@0.0.7 + ## 6.3.0 ### Minor Changes diff --git a/apps/meteor/app/utils/rocketchat.info b/apps/meteor/app/utils/rocketchat.info index d80bb027f586..98f9656eb840 100644 --- a/apps/meteor/app/utils/rocketchat.info +++ b/apps/meteor/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "6.3.0" + "version": "6.3.1" } diff --git a/apps/meteor/ee/server/services/CHANGELOG.md b/apps/meteor/ee/server/services/CHANGELOG.md index 6b7427c8986c..d0577552b841 100644 --- a/apps/meteor/ee/server/services/CHANGELOG.md +++ b/apps/meteor/ee/server/services/CHANGELOG.md @@ -1,5 +1,15 @@ # rocketchat-services +## 1.1.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/rest-typings@6.3.1 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/model-typings@0.0.7 +- @rocket.chat/models@0.0.7 + ## 1.1.0 ### Minor Changes diff --git a/apps/meteor/ee/server/services/package.json b/apps/meteor/ee/server/services/package.json index abe11bd71080..6dc1a056f08f 100644 --- a/apps/meteor/ee/server/services/package.json +++ b/apps/meteor/ee/server/services/package.json @@ -1,7 +1,7 @@ { "name": "rocketchat-services", "private": true, - "version": "1.1.0", + "version": "1.1.1", "description": "Rocket.Chat Authorization service", "main": "index.js", "scripts": { diff --git a/apps/meteor/package.json b/apps/meteor/package.json index bf73180362b6..21c4c3e61bf3 100644 --- a/apps/meteor/package.json +++ b/apps/meteor/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/meteor", "description": "The Ultimate Open Source WebChat Platform", - "version": "6.3.0", + "version": "6.3.1", "private": true, "author": { "name": "Rocket.Chat", diff --git a/ee/apps/account-service/CHANGELOG.md b/ee/apps/account-service/CHANGELOG.md index 2a8ff56e7db4..7192d840d72e 100644 --- a/ee/apps/account-service/CHANGELOG.md +++ b/ee/apps/account-service/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/account-service +## 0.2.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/rest-typings@6.3.1 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/model-typings@0.0.7 +- @rocket.chat/models@0.0.7 + ## 0.2.0 ### Minor Changes diff --git a/ee/apps/account-service/package.json b/ee/apps/account-service/package.json index 2a267edaad67..767c9988eb8d 100644 --- a/ee/apps/account-service/package.json +++ b/ee/apps/account-service/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/account-service", "private": true, - "version": "0.2.0", + "version": "0.2.1", "description": "Rocket.Chat Account service", "scripts": { "build": "tsc -p tsconfig.json", diff --git a/ee/apps/authorization-service/CHANGELOG.md b/ee/apps/authorization-service/CHANGELOG.md index 9dc10a5525d5..7adbd9dbe297 100644 --- a/ee/apps/authorization-service/CHANGELOG.md +++ b/ee/apps/authorization-service/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/authorization-service +## 0.2.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/rest-typings@6.3.1 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/model-typings@0.0.7 +- @rocket.chat/models@0.0.7 + ## 0.2.0 ### Minor Changes diff --git a/ee/apps/authorization-service/package.json b/ee/apps/authorization-service/package.json index 06e702830856..c888bd8b5688 100644 --- a/ee/apps/authorization-service/package.json +++ b/ee/apps/authorization-service/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/authorization-service", "private": true, - "version": "0.2.0", + "version": "0.2.1", "description": "Rocket.Chat Authorization service", "scripts": { "build": "tsc -p tsconfig.json", diff --git a/ee/apps/ddp-streamer/CHANGELOG.md b/ee/apps/ddp-streamer/CHANGELOG.md index f1ad5b4d31d3..c2aa573d6229 100644 --- a/ee/apps/ddp-streamer/CHANGELOG.md +++ b/ee/apps/ddp-streamer/CHANGELOG.md @@ -1,5 +1,17 @@ # @rocket.chat/ddp-streamer +## 0.1.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/rest-typings@6.3.1 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/model-typings@0.0.7 +- @rocket.chat/ui-contexts@1.0.1 +- @rocket.chat/models@0.0.7 +- @rocket.chat/instance-status@0.0.7 + ## 0.1.0 ### Minor Changes diff --git a/ee/apps/ddp-streamer/package.json b/ee/apps/ddp-streamer/package.json index 97b97a48066c..5d518361cb94 100644 --- a/ee/apps/ddp-streamer/package.json +++ b/ee/apps/ddp-streamer/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/ddp-streamer", "private": true, - "version": "0.1.0", + "version": "0.1.1", "description": "Rocket.Chat DDP-Streamer service", "scripts": { "build": "tsc -p tsconfig.json", diff --git a/ee/apps/omnichannel-transcript/CHANGELOG.md b/ee/apps/omnichannel-transcript/CHANGELOG.md index 2befcae93140..c8c15dd1e2af 100644 --- a/ee/apps/omnichannel-transcript/CHANGELOG.md +++ b/ee/apps/omnichannel-transcript/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/omnichannel-transcript +## 0.2.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/omnichannel-services@0.0.7 +- @rocket.chat/pdf-worker@0.0.7 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/model-typings@0.0.7 +- @rocket.chat/models@0.0.7 + ## 0.2.0 ### Minor Changes diff --git a/ee/apps/omnichannel-transcript/package.json b/ee/apps/omnichannel-transcript/package.json index f755a96c3ad5..5af9b60b330e 100644 --- a/ee/apps/omnichannel-transcript/package.json +++ b/ee/apps/omnichannel-transcript/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/omnichannel-transcript", "private": true, - "version": "0.2.0", + "version": "0.2.1", "description": "Rocket.Chat service", "scripts": { "build": "tsc -p tsconfig.json", diff --git a/ee/apps/presence-service/CHANGELOG.md b/ee/apps/presence-service/CHANGELOG.md index 68c5b2ce191a..7b38402a95ac 100644 --- a/ee/apps/presence-service/CHANGELOG.md +++ b/ee/apps/presence-service/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/presence-service +## 0.2.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/presence@0.0.7 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/model-typings@0.0.7 +- @rocket.chat/models@0.0.7 + ## 0.2.0 ### Minor Changes diff --git a/ee/apps/presence-service/package.json b/ee/apps/presence-service/package.json index f23a8dc8eafc..a9b6abc9ec54 100644 --- a/ee/apps/presence-service/package.json +++ b/ee/apps/presence-service/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/presence-service", "private": true, - "version": "0.2.0", + "version": "0.2.1", "description": "Rocket.Chat Presence service", "scripts": { "build": "tsc -p tsconfig.json", diff --git a/ee/apps/queue-worker/CHANGELOG.md b/ee/apps/queue-worker/CHANGELOG.md index 76b94996bc7b..2b1d18ebed82 100644 --- a/ee/apps/queue-worker/CHANGELOG.md +++ b/ee/apps/queue-worker/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/queue-worker +## 0.2.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/omnichannel-services@0.0.7 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/model-typings@0.0.7 +- @rocket.chat/models@0.0.7 + ## 0.2.0 ### Minor Changes diff --git a/ee/apps/queue-worker/package.json b/ee/apps/queue-worker/package.json index 36f0a554e764..76abf92a27fb 100644 --- a/ee/apps/queue-worker/package.json +++ b/ee/apps/queue-worker/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/queue-worker", "private": true, - "version": "0.2.0", + "version": "0.2.1", "description": "Rocket.Chat service", "scripts": { "build": "tsc -p tsconfig.json", diff --git a/ee/apps/stream-hub-service/CHANGELOG.md b/ee/apps/stream-hub-service/CHANGELOG.md index 881e5bd2931e..54f74cd268c1 100644 --- a/ee/apps/stream-hub-service/CHANGELOG.md +++ b/ee/apps/stream-hub-service/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/stream-hub-service +## 0.2.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/model-typings@0.0.7 +- @rocket.chat/models@0.0.7 + ## 0.2.0 ### Minor Changes diff --git a/ee/apps/stream-hub-service/package.json b/ee/apps/stream-hub-service/package.json index af1b9f5d8212..221f0dc459e1 100644 --- a/ee/apps/stream-hub-service/package.json +++ b/ee/apps/stream-hub-service/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/stream-hub-service", "private": true, - "version": "0.2.0", + "version": "0.2.1", "description": "Rocket.Chat Stream Hub service", "scripts": { "build": "tsc -p tsconfig.json", diff --git a/ee/packages/api-client/CHANGELOG.md b/ee/packages/api-client/CHANGELOG.md index 01c9eb39f40b..7839e3f0fadf 100644 --- a/ee/packages/api-client/CHANGELOG.md +++ b/ee/packages/api-client/CHANGELOG.md @@ -1,5 +1,12 @@ # @rocket.chat/api-client +## 0.1.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/rest-typings@6.3.1 + ## 0.1.0 ### Minor Changes diff --git a/ee/packages/api-client/package.json b/ee/packages/api-client/package.json index 3c2da541bbad..2bd9cbdf76cf 100644 --- a/ee/packages/api-client/package.json +++ b/ee/packages/api-client/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/api-client", - "version": "0.1.0", + "version": "0.1.1", "devDependencies": { "@swc/core": "^1.3.66", "@swc/jest": "^0.2.26", diff --git a/ee/packages/ddp-client/CHANGELOG.md b/ee/packages/ddp-client/CHANGELOG.md index 0d0b9e0d64e7..f12a936b1b94 100644 --- a/ee/packages/ddp-client/CHANGELOG.md +++ b/ee/packages/ddp-client/CHANGELOG.md @@ -1,5 +1,12 @@ # @rocket.chat/ddp-client +## 0.1.1 + +### Patch Changes + +- @rocket.chat/rest-typings@6.3.1 +- @rocket.chat/api-client@0.1.1 + ## 0.1.0 ### Minor Changes diff --git a/ee/packages/ddp-client/package.json b/ee/packages/ddp-client/package.json index 9b260afc5326..ae88cf03a009 100644 --- a/ee/packages/ddp-client/package.json +++ b/ee/packages/ddp-client/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ddp-client", - "version": "0.1.0", + "version": "0.1.1", "devDependencies": { "@swc/core": "^1.3.66", "@swc/jest": "^0.2.26", diff --git a/ee/packages/omnichannel-services/CHANGELOG.md b/ee/packages/omnichannel-services/CHANGELOG.md index a1f8e0e911d4..d4ce4d464b6e 100644 --- a/ee/packages/omnichannel-services/CHANGELOG.md +++ b/ee/packages/omnichannel-services/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/omnichannel-services +## 0.0.7 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/rest-typings@6.3.1 +- @rocket.chat/pdf-worker@0.0.7 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/model-typings@0.0.7 +- @rocket.chat/models@0.0.7 + ## 0.0.6 ### Patch Changes diff --git a/ee/packages/omnichannel-services/package.json b/ee/packages/omnichannel-services/package.json index 8b30b519c8de..dc9be2a6bd17 100644 --- a/ee/packages/omnichannel-services/package.json +++ b/ee/packages/omnichannel-services/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/omnichannel-services", - "version": "0.0.6", + "version": "0.0.7", "private": true, "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", diff --git a/ee/packages/pdf-worker/CHANGELOG.md b/ee/packages/pdf-worker/CHANGELOG.md index f96716492b01..132a9d21b4b6 100644 --- a/ee/packages/pdf-worker/CHANGELOG.md +++ b/ee/packages/pdf-worker/CHANGELOG.md @@ -1,5 +1,11 @@ # @rocket.chat/pdf-worker +## 0.0.7 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 + ## 0.0.6 ### Patch Changes diff --git a/ee/packages/pdf-worker/package.json b/ee/packages/pdf-worker/package.json index 557309acabf4..75b953559bdc 100644 --- a/ee/packages/pdf-worker/package.json +++ b/ee/packages/pdf-worker/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/pdf-worker", - "version": "0.0.6", + "version": "0.0.7", "private": true, "devDependencies": { "@storybook/addon-essentials": "~6.5.16", diff --git a/ee/packages/presence/CHANGELOG.md b/ee/packages/presence/CHANGELOG.md index 1bc0e993d864..fc190b316e54 100644 --- a/ee/packages/presence/CHANGELOG.md +++ b/ee/packages/presence/CHANGELOG.md @@ -1,5 +1,13 @@ # @rocket.chat/presence +## 0.0.7 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/core-services@0.1.1 +- @rocket.chat/models@0.0.7 + ## 0.0.6 ### Patch Changes diff --git a/ee/packages/presence/package.json b/ee/packages/presence/package.json index a14617232616..19923abf1d1a 100644 --- a/ee/packages/presence/package.json +++ b/ee/packages/presence/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/presence", - "version": "0.0.6", + "version": "0.0.7", "private": true, "devDependencies": { "@babel/core": "~7.22.5", diff --git a/package.json b/package.json index c0cdc332c9b1..407b5925d8b9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rocket.chat", - "version": "6.3.0", + "version": "6.3.1", "description": "Rocket.Chat Monorepo", "main": "index.js", "private": true, diff --git a/packages/core-services/CHANGELOG.md b/packages/core-services/CHANGELOG.md index f08f2aed944f..4a60b8fd0e2e 100644 --- a/packages/core-services/CHANGELOG.md +++ b/packages/core-services/CHANGELOG.md @@ -1,5 +1,13 @@ # @rocket.chat/core-services +## 0.1.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/rest-typings@6.3.1 +- @rocket.chat/models@0.0.7 + ## 0.1.0 ### Minor Changes diff --git a/packages/core-services/package.json b/packages/core-services/package.json index ea0030eb98cb..73ec9d18808f 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/core-services", - "version": "0.1.0", + "version": "0.1.1", "private": true, "devDependencies": { "@babel/core": "^7.21.4", diff --git a/packages/core-typings/CHANGELOG.md b/packages/core-typings/CHANGELOG.md index aa2f9b626d0f..dcadf8f17a9e 100644 --- a/packages/core-typings/CHANGELOG.md +++ b/packages/core-typings/CHANGELOG.md @@ -1,5 +1,7 @@ # @rocket.chat/core-typings +## 6.3.1 + ## 6.3.0 ### Minor Changes diff --git a/packages/core-typings/package.json b/packages/core-typings/package.json index ccdf9d395640..d8cc367126bc 100644 --- a/packages/core-typings/package.json +++ b/packages/core-typings/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/core-typings", - "version": "6.3.0", + "version": "6.3.1", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "eslint": "~8.43.0", diff --git a/packages/cron/CHANGELOG.md b/packages/cron/CHANGELOG.md index 86b37bd21307..c825929ef817 100644 --- a/packages/cron/CHANGELOG.md +++ b/packages/cron/CHANGELOG.md @@ -1,5 +1,12 @@ # @rocket.chat/cron +## 0.0.3 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/models@0.0.7 + ## 0.0.2 ### Patch Changes diff --git a/packages/cron/package.json b/packages/cron/package.json index 2c16fa0fa973..9c42f6c091cd 100644 --- a/packages/cron/package.json +++ b/packages/cron/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/cron", - "version": "0.0.2", + "version": "0.0.3", "private": true, "devDependencies": { "@types/jest": "^27.4.1", diff --git a/packages/fuselage-ui-kit/CHANGELOG.md b/packages/fuselage-ui-kit/CHANGELOG.md index 2f0fb7e79cec..27a43bf608f1 100644 --- a/packages/fuselage-ui-kit/CHANGELOG.md +++ b/packages/fuselage-ui-kit/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 1.0.1 + +### Patch Changes + +- @rocket.chat/gazzodown@1.0.1 +- @rocket.chat/ui-contexts@1.0.1 +- @rocket.chat/ui-video-conf@1.0.1 + ## 1.0.0 ### Minor Changes diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index 172fce3231c4..391426fe75f4 100644 --- a/packages/fuselage-ui-kit/package.json +++ b/packages/fuselage-ui-kit/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/fuselage-ui-kit", "private": true, - "version": "1.0.0", + "version": "1.0.1", "description": "UiKit elements for Rocket.Chat Apps built under Fuselage design system", "homepage": "https://rocketchat.github.io/Rocket.Chat.Fuselage/", "author": { @@ -47,9 +47,9 @@ "@rocket.chat/icons": "*", "@rocket.chat/prettier-config": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-contexts": "1.0.0", + "@rocket.chat/ui-contexts": "1.0.1", "@rocket.chat/ui-kit": "*", - "@rocket.chat/ui-video-conf": "1.0.0", + "@rocket.chat/ui-video-conf": "1.0.1", "@tanstack/react-query": "*", "react": "*", "react-dom": "*" diff --git a/packages/gazzodown/CHANGELOG.md b/packages/gazzodown/CHANGELOG.md index 34b335055cbc..5ab58c8b3106 100644 --- a/packages/gazzodown/CHANGELOG.md +++ b/packages/gazzodown/CHANGELOG.md @@ -1,5 +1,13 @@ # @rocket.chat/gazzodown +## 1.0.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/ui-contexts@1.0.1 +- @rocket.chat/ui-client@1.0.1 + ## 1.0.0 ### Minor Changes diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json index ca3f58f52086..be2029ae7b82 100644 --- a/packages/gazzodown/package.json +++ b/packages/gazzodown/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/gazzodown", - "version": "1.0.0", + "version": "1.0.1", "private": true, "devDependencies": { "@babel/core": "~7.22.5", @@ -65,14 +65,14 @@ "/dist" ], "peerDependencies": { - "@rocket.chat/core-typings": "6.3.0", + "@rocket.chat/core-typings": "6.3.1", "@rocket.chat/css-in-js": "*", "@rocket.chat/fuselage": "*", "@rocket.chat/fuselage-tokens": "*", "@rocket.chat/message-parser": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-client": "1.0.0", - "@rocket.chat/ui-contexts": "1.0.0", + "@rocket.chat/ui-client": "1.0.1", + "@rocket.chat/ui-contexts": "1.0.1", "katex": "*", "react": "*" }, diff --git a/packages/instance-status/CHANGELOG.md b/packages/instance-status/CHANGELOG.md index 5c714b507bf6..48ec1c60b4b0 100644 --- a/packages/instance-status/CHANGELOG.md +++ b/packages/instance-status/CHANGELOG.md @@ -1,5 +1,11 @@ # @rocket.chat/instance-status +## 0.0.7 + +### Patch Changes + +- @rocket.chat/models@0.0.7 + ## 0.0.6 ### Patch Changes diff --git a/packages/instance-status/package.json b/packages/instance-status/package.json index 161f07d8d9e1..df5366c996d2 100644 --- a/packages/instance-status/package.json +++ b/packages/instance-status/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/instance-status", - "version": "0.0.6", + "version": "0.0.7", "private": true, "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", diff --git a/packages/model-typings/CHANGELOG.md b/packages/model-typings/CHANGELOG.md index 2496c0f71f86..21b5662c66b7 100644 --- a/packages/model-typings/CHANGELOG.md +++ b/packages/model-typings/CHANGELOG.md @@ -1,5 +1,11 @@ # @rocket.chat/model-typings +## 0.0.7 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 + ## 0.0.6 ### Patch Changes diff --git a/packages/model-typings/package.json b/packages/model-typings/package.json index 6e5faf3a3076..b8ab854b0a15 100644 --- a/packages/model-typings/package.json +++ b/packages/model-typings/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/model-typings", - "version": "0.0.6", + "version": "0.0.7", "private": true, "devDependencies": { "@types/jest": "~29.5.2", diff --git a/packages/models/CHANGELOG.md b/packages/models/CHANGELOG.md index e2004b93d8ca..7c2d5b329133 100644 --- a/packages/models/CHANGELOG.md +++ b/packages/models/CHANGELOG.md @@ -1,5 +1,11 @@ # @rocket.chat/models +## 0.0.7 + +### Patch Changes + +- @rocket.chat/model-typings@0.0.7 + ## 0.0.6 ### Patch Changes diff --git a/packages/models/package.json b/packages/models/package.json index 290cdd9b343b..2e56a6398837 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/models", - "version": "0.0.6", + "version": "0.0.7", "private": true, "devDependencies": { "@types/jest": "~29.5.2", diff --git a/packages/rest-typings/CHANGELOG.md b/packages/rest-typings/CHANGELOG.md index 287aaa0a6c0a..e9af2d31e3b9 100644 --- a/packages/rest-typings/CHANGELOG.md +++ b/packages/rest-typings/CHANGELOG.md @@ -1,5 +1,11 @@ # @rocket.chat/rest-typings +## 6.3.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 + ## 6.3.0 ### Minor Changes diff --git a/packages/rest-typings/package.json b/packages/rest-typings/package.json index 581abfd9d8c1..9ef354f565c3 100644 --- a/packages/rest-typings/package.json +++ b/packages/rest-typings/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/rest-typings", - "version": "6.3.0", + "version": "6.3.1", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "@types/jest": "~29.5.2", diff --git a/packages/ui-client/CHANGELOG.md b/packages/ui-client/CHANGELOG.md index 1ca4c44cae6f..7931ecd4a598 100644 --- a/packages/ui-client/CHANGELOG.md +++ b/packages/ui-client/CHANGELOG.md @@ -1,5 +1,11 @@ # @rocket.chat/ui-client +## 1.0.1 + +### Patch Changes + +- @rocket.chat/ui-contexts@1.0.1 + ## 1.0.0 ### Patch Changes diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json index 41650e9eba12..7c23ee0d9115 100644 --- a/packages/ui-client/package.json +++ b/packages/ui-client/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-client", - "version": "1.0.0", + "version": "1.0.1", "private": true, "devDependencies": { "@babel/core": "~7.22.5", @@ -53,7 +53,7 @@ "@rocket.chat/fuselage": "*", "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", - "@rocket.chat/ui-contexts": "1.0.0", + "@rocket.chat/ui-contexts": "1.0.1", "react": "~17.0.2" }, "volta": { diff --git a/packages/ui-contexts/CHANGELOG.md b/packages/ui-contexts/CHANGELOG.md index 3935f15ad38f..799b2464be0a 100644 --- a/packages/ui-contexts/CHANGELOG.md +++ b/packages/ui-contexts/CHANGELOG.md @@ -1,5 +1,13 @@ # @rocket.chat/ui-contexts +## 1.0.1 + +### Patch Changes + +- @rocket.chat/core-typings@6.3.1 +- @rocket.chat/rest-typings@6.3.1 +- @rocket.chat/ddp-client@0.1.1 + ## 1.0.0 ### Patch Changes diff --git a/packages/ui-contexts/package.json b/packages/ui-contexts/package.json index 5e7d8a06e80e..0960c4e097b9 100644 --- a/packages/ui-contexts/package.json +++ b/packages/ui-contexts/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-contexts", - "version": "1.0.0", + "version": "1.0.1", "private": true, "devDependencies": { "@rocket.chat/core-typings": "workspace:^", diff --git a/packages/ui-video-conf/CHANGELOG.md b/packages/ui-video-conf/CHANGELOG.md index ca4f42f5fdb2..c4c4f794846d 100644 --- a/packages/ui-video-conf/CHANGELOG.md +++ b/packages/ui-video-conf/CHANGELOG.md @@ -1,5 +1,11 @@ # @rocket.chat/ui-video-conf +## 1.0.1 + +### Patch Changes + +- @rocket.chat/ui-contexts@1.0.1 + ## 1.0.0 ### Patch Changes diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json index 1f99f72f91e2..b7ff24003c97 100644 --- a/packages/ui-video-conf/package.json +++ b/packages/ui-video-conf/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-video-conf", - "version": "1.0.0", + "version": "1.0.1", "private": true, "devDependencies": { "@babel/core": "~7.22.5", @@ -35,7 +35,7 @@ "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-contexts": "1.0.0", + "@rocket.chat/ui-contexts": "1.0.1", "react": "^17.0.2", "react-dom": "^17.0.2" }, diff --git a/packages/uikit-playground/CHANGELOG.md b/packages/uikit-playground/CHANGELOG.md index 4c1fe11bb95a..27cdbec1a0cd 100644 --- a/packages/uikit-playground/CHANGELOG.md +++ b/packages/uikit-playground/CHANGELOG.md @@ -1,5 +1,12 @@ # @rocket.chat/uikit-playground +## 0.1.1 + +### Patch Changes + +- @rocket.chat/ui-contexts@1.0.1 +- @rocket.chat/fuselage-ui-kit@1.0.1 + ## 0.1.0 ### Minor Changes diff --git a/packages/uikit-playground/package.json b/packages/uikit-playground/package.json index 561f6d05a32e..9a6543ad5bf0 100644 --- a/packages/uikit-playground/package.json +++ b/packages/uikit-playground/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/uikit-playground", "private": true, - "version": "0.1.0", + "version": "0.1.1", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/web-ui-registration/CHANGELOG.md b/packages/web-ui-registration/CHANGELOG.md index 626efd8a18a2..9d75b6e88d88 100644 --- a/packages/web-ui-registration/CHANGELOG.md +++ b/packages/web-ui-registration/CHANGELOG.md @@ -1,5 +1,11 @@ # @rocket.chat/web-ui-registration +## 1.0.1 + +### Patch Changes + +- @rocket.chat/ui-contexts@1.0.1 + ## 1.0.0 ### Minor Changes diff --git a/packages/web-ui-registration/package.json b/packages/web-ui-registration/package.json index fc04290637c1..45e634c65754 100644 --- a/packages/web-ui-registration/package.json +++ b/packages/web-ui-registration/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/web-ui-registration", - "version": "1.0.0", + "version": "1.0.1", "private": true, "devDependencies": { "@rocket.chat/layout": "next", @@ -17,7 +17,7 @@ }, "peerDependencies": { "@rocket.chat/layout": "*", - "@rocket.chat/ui-contexts": "1.0.0", + "@rocket.chat/ui-contexts": "1.0.1", "@tanstack/react-query": "*", "react": "*", "react-hook-form": "*", From 778b155ab41a44aa9c95d987a46d7ff2b8f3f1c2 Mon Sep 17 00:00:00 2001 From: rocketchat-github-ci Date: Mon, 21 Aug 2023 17:04:05 +0000 Subject: [PATCH 11/96] Bump 6.3.2 --- .changeset/bump-patch-1692637445510.md | 5 +++++ yarn.lock | 16 ++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 .changeset/bump-patch-1692637445510.md diff --git a/.changeset/bump-patch-1692637445510.md b/.changeset/bump-patch-1692637445510.md new file mode 100644 index 000000000000..e1eaa7980afb --- /dev/null +++ b/.changeset/bump-patch-1692637445510.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Bump @rocket.chat/meteor version. diff --git a/yarn.lock b/yarn.lock index 81c60fc6670a..9b6a545ec9fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9898,9 +9898,9 @@ __metadata: "@rocket.chat/icons": "*" "@rocket.chat/prettier-config": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-contexts": 1.0.0 + "@rocket.chat/ui-contexts": 1.0.1 "@rocket.chat/ui-kit": "*" - "@rocket.chat/ui-video-conf": 1.0.0 + "@rocket.chat/ui-video-conf": 1.0.1 "@tanstack/react-query": "*" react: "*" react-dom: "*" @@ -9982,14 +9982,14 @@ __metadata: ts-jest: ~29.0.5 typescript: ~5.1.3 peerDependencies: - "@rocket.chat/core-typings": 6.3.0 + "@rocket.chat/core-typings": 6.3.1 "@rocket.chat/css-in-js": "*" "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-tokens": "*" "@rocket.chat/message-parser": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-client": 1.0.0 - "@rocket.chat/ui-contexts": 1.0.0 + "@rocket.chat/ui-client": 1.0.1 + "@rocket.chat/ui-contexts": 1.0.1 katex: "*" react: "*" languageName: unknown @@ -11048,7 +11048,7 @@ __metadata: "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" - "@rocket.chat/ui-contexts": 1.0.0 + "@rocket.chat/ui-contexts": 1.0.1 react: ~17.0.2 languageName: unknown linkType: soft @@ -11202,7 +11202,7 @@ __metadata: "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-contexts": 1.0.0 + "@rocket.chat/ui-contexts": 1.0.1 react: ^17.0.2 react-dom: ^17.0.2 languageName: unknown @@ -11268,7 +11268,7 @@ __metadata: typescript: ~5.1.3 peerDependencies: "@rocket.chat/layout": "*" - "@rocket.chat/ui-contexts": 1.0.0 + "@rocket.chat/ui-contexts": 1.0.1 "@tanstack/react-query": "*" react: "*" react-hook-form: "*" From 8a0e36f7b11b81a00df829f77e92a647e09ea8d3 Mon Sep 17 00:00:00 2001 From: gabriellsh <40830821+gabriellsh@users.noreply.github.com> Date: Tue, 15 Aug 2023 11:53:10 -0300 Subject: [PATCH 12/96] fix(meteor): Close video recorder if permission denied (#30054) --- .changeset/witty-feet-warn.md | 5 +++++ .../VideoMessageRecorder/VideoMessageRecorder.tsx | 9 +++++---- 2 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 .changeset/witty-feet-warn.md diff --git a/.changeset/witty-feet-warn.md b/.changeset/witty-feet-warn.md new file mode 100644 index 000000000000..faaa5d44c134 --- /dev/null +++ b/.changeset/witty-feet-warn.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +fixed the video recorder window not closing after permission is denied. diff --git a/apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx b/apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx index 5d43a07d8b0b..41cdc8c3c174 100644 --- a/apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx +++ b/apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx @@ -1,6 +1,7 @@ import type { IMessage, IRoom } from '@rocket.chat/core-typings'; import { css } from '@rocket.chat/css-in-js'; import { Box, ButtonGroup, Button, Icon, PositionAnimated } from '@rocket.chat/fuselage'; +import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import { useTranslation, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; import type { AllHTMLAttributes, RefObject } from 'react'; import React, { useRef, useEffect, useState } from 'react'; @@ -94,24 +95,24 @@ const VideoMessageRecorder = ({ rid, tmid, chatContext, reference }: VideoMessag stopVideoRecording(rid, tmid); }; - const handleCancel = () => { + const handleCancel = useMutableCallback(() => { VideoRecorder.stop(); chat?.composer?.setRecordingVideo(false); setTime(undefined); stopVideoRecording(rid, tmid); - }; + }); useEffect(() => { if (!VideoRecorder.getSupportedMimeTypes()) { return dispatchToastMessage({ type: 'error', message: t('Browser_does_not_support_recording_video') }); } - VideoRecorder.start(videoRef.current ?? undefined); + VideoRecorder.start(videoRef.current ?? undefined, (success) => (!success ? handleCancel() : undefined)); return () => { VideoRecorder.stop(); }; - }, [dispatchToastMessage, t]); + }, [dispatchToastMessage, handleCancel, t]); return ( From 5660169ec8c4d07372eff0a05394e2eaf7799829 Mon Sep 17 00:00:00 2001 From: gabriellsh <40830821+gabriellsh@users.noreply.github.com> Date: Fri, 18 Aug 2023 11:42:12 -0300 Subject: [PATCH 13/96] fix: Keep embedded layout as true once set (#30087) Co-authored-by: Tasso Evangelista <2263066+tassoevan@users.noreply.github.com> --- .changeset/nine-carrots-listen.md | 5 +++++ apps/meteor/client/hooks/useEmbeddedLayout.ts | 4 ++-- apps/meteor/client/lib/utils/isLayoutEmbedded.ts | 8 +++++++- apps/meteor/client/providers/LayoutProvider.tsx | 10 +++++----- apps/meteor/client/startup/e2e.ts | 8 +++++++- apps/meteor/client/views/meet/CallPage.tsx | 14 +++++++------- apps/meteor/client/views/meet/MeetPage.tsx | 5 +++-- 7 files changed, 36 insertions(+), 18 deletions(-) create mode 100644 .changeset/nine-carrots-listen.md diff --git a/.changeset/nine-carrots-listen.md b/.changeset/nine-carrots-listen.md new file mode 100644 index 000000000000..bf5dc72e6cc0 --- /dev/null +++ b/.changeset/nine-carrots-listen.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +fixed layout changing from embedded view when navigating diff --git a/apps/meteor/client/hooks/useEmbeddedLayout.ts b/apps/meteor/client/hooks/useEmbeddedLayout.ts index 1f411377b3e0..61385ef4c12d 100644 --- a/apps/meteor/client/hooks/useEmbeddedLayout.ts +++ b/apps/meteor/client/hooks/useEmbeddedLayout.ts @@ -1,3 +1,3 @@ -import { useSearchParameter } from '@rocket.chat/ui-contexts'; +import { useLayout } from '@rocket.chat/ui-contexts'; -export const useEmbeddedLayout = (): boolean => useSearchParameter('layout') === 'embedded'; +export const useEmbeddedLayout = (): boolean => useLayout().isEmbedded; diff --git a/apps/meteor/client/lib/utils/isLayoutEmbedded.ts b/apps/meteor/client/lib/utils/isLayoutEmbedded.ts index 540ccf129603..330c5ca7f4f3 100644 --- a/apps/meteor/client/lib/utils/isLayoutEmbedded.ts +++ b/apps/meteor/client/lib/utils/isLayoutEmbedded.ts @@ -1,3 +1,9 @@ import { router } from '../../providers/RouterProvider'; -export const isLayoutEmbedded = (): boolean => router.getSearchParameters().layout === 'embedded'; +let embedded = false; + +router.subscribeToRouteChange(() => { + embedded = router.getSearchParameters().layout === 'embedded'; +}); + +export const isLayoutEmbedded = () => embedded; diff --git a/apps/meteor/client/providers/LayoutProvider.tsx b/apps/meteor/client/providers/LayoutProvider.tsx index 95b6b04f9f53..15ecc18705e9 100644 --- a/apps/meteor/client/providers/LayoutProvider.tsx +++ b/apps/meteor/client/providers/LayoutProvider.tsx @@ -1,23 +1,23 @@ import { useBreakpoints } from '@rocket.chat/fuselage-hooks'; -import { LayoutContext, useRouter, useSearchParameter, useSetting } from '@rocket.chat/ui-contexts'; +import { LayoutContext, useRouter, useSetting } from '@rocket.chat/ui-contexts'; import type { FC } from 'react'; import React, { useMemo, useState, useEffect } from 'react'; const LayoutProvider: FC = ({ children }) => { const showTopNavbarEmbeddedLayout = Boolean(useSetting('UI_Show_top_navbar_embedded_layout')); const [isCollapsed, setIsCollapsed] = useState(false); - const layout = useSearchParameter('layout'); - const isEmbedded = layout === 'embedded'; const breakpoints = useBreakpoints(); // ["xs", "sm", "md", "lg", "xl", xxl"] + const router = useRouter(); + // Once the layout is embedded, it can't be changed + const [isEmbedded] = useState(() => router.getSearchParameters().layout === 'embedded'); + const isMobile = !breakpoints.includes('md'); useEffect(() => { setIsCollapsed(isMobile); }, [isMobile]); - const router = useRouter(); - return ( { return; } + if (!window.crypto) { + return; + } + + const enabled = settings.get('E2E_Enable'); + // we don't care about the reactivity of this boolean const adminEmbedded = isLayoutEmbedded() && router.getLocationPathname().startsWith('/admin'); - if (!adminEmbedded && settings.get('E2E_Enable') && window.crypto) { + if (enabled && !adminEmbedded) { e2e.startClient(); e2e.enabled.set(true); } else { diff --git a/apps/meteor/client/views/meet/CallPage.tsx b/apps/meteor/client/views/meet/CallPage.tsx index 8e0fc951e3c5..f9ff9b2fc6ce 100644 --- a/apps/meteor/client/views/meet/CallPage.tsx +++ b/apps/meteor/client/views/meet/CallPage.tsx @@ -17,7 +17,7 @@ type CallPageProps = { visitorId: any; status: any; setStatus: any; - layout: any; + isLayoutEmbedded: boolean; visitorName: any; agentName: any; callStartTime: any; @@ -29,7 +29,7 @@ const CallPage: FC = ({ visitorId, status, setStatus, - layout, + isLayoutEmbedded, visitorName, agentName, callStartTime, @@ -45,7 +45,7 @@ const CallPage: FC = ({ let iconSize = 'x21'; let buttonSize = 'x40'; const avatarSize = 'x48'; - if (layout === 'embedded') { + if (isLayoutEmbedded) { iconSize = 'x19'; buttonSize = 'x35'; } @@ -55,7 +55,7 @@ const CallPage: FC = ({ if (visitorToken) { const webrtcInstance = WebRTC.getInstanceByRoomId(roomId, visitorId); const isMobileDevice = (): boolean => { - if (layout === 'embedded') { + if (isLayoutEmbedded) { setCallInIframe(true); } if (window.innerWidth <= 450 && window.innerHeight >= 629 && window.innerHeight <= 900) { @@ -130,7 +130,7 @@ const CallPage: FC = ({ }); setIsAgentActive(true); } - }, [isAgentActive, status, setStatus, visitorId, roomId, visitorToken, layout]); + }, [isAgentActive, status, setStatus, visitorId, roomId, visitorToken, isLayoutEmbedded]); const toggleButton = (control: any): any => { if (control === 'mic') { @@ -143,7 +143,7 @@ const CallPage: FC = ({ }; const closeWindow = (): void => { - if (layout === 'embedded') { + if (isLayoutEmbedded) { return (parent as any)?.handleIframeClose(); } return window.close(); @@ -213,7 +213,7 @@ const CallPage: FC = ({ > {isCameraOn ? : } - {layout === 'embedded' && ( + {isLayoutEmbedded && ( - - ( -