From ada4c789360ae9071e757ac41203299d599f85c9 Mon Sep 17 00:00:00 2001 From: rocketchat-github-ci Date: Tue, 16 Apr 2024 20:51:28 +0000 Subject: [PATCH 001/185] Bump 6.7.1 --- .changeset/bump-patch-1713300687976.md | 5 +++++ yarn.lock | 24 ++++++++++++------------ 2 files changed, 17 insertions(+), 12 deletions(-) create mode 100644 .changeset/bump-patch-1713300687976.md diff --git a/.changeset/bump-patch-1713300687976.md b/.changeset/bump-patch-1713300687976.md new file mode 100644 index 0000000000000..e1eaa7980afb1 --- /dev/null +++ b/.changeset/bump-patch-1713300687976.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Bump @rocket.chat/meteor version. diff --git a/yarn.lock b/yarn.lock index 42907cd2af05a..5cc8060dc7132 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8784,17 +8784,17 @@ __metadata: typescript: ~5.3.3 peerDependencies: "@rocket.chat/apps-engine": "*" - "@rocket.chat/eslint-config": 0.6.2-rc.0 + "@rocket.chat/eslint-config": 0.6.2 "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/fuselage-polyfills": "*" "@rocket.chat/icons": "*" "@rocket.chat/prettier-config": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 1.0.0-rc.4 - "@rocket.chat/ui-contexts": 5.0.0-rc.4 + "@rocket.chat/ui-avatar": 1.0.0 + "@rocket.chat/ui-contexts": 5.0.0 "@rocket.chat/ui-kit": 0.33.0 - "@rocket.chat/ui-video-conf": 5.0.0-rc.4 + "@rocket.chat/ui-video-conf": 5.0.0 "@tanstack/react-query": "*" react: "*" react-dom: "*" @@ -8881,10 +8881,10 @@ __metadata: "@rocket.chat/css-in-js": "*" "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-tokens": "*" - "@rocket.chat/message-parser": 0.31.29-rc.0 + "@rocket.chat/message-parser": 0.31.29 "@rocket.chat/styled": "*" - "@rocket.chat/ui-client": 5.0.0-rc.4 - "@rocket.chat/ui-contexts": 5.0.0-rc.4 + "@rocket.chat/ui-client": 5.0.0 + "@rocket.chat/ui-contexts": 5.0.0 katex: "*" react: "*" languageName: unknown @@ -10088,7 +10088,7 @@ __metadata: typescript: ~5.3.3 peerDependencies: "@rocket.chat/fuselage": "*" - "@rocket.chat/ui-contexts": 5.0.0-rc.4 + "@rocket.chat/ui-contexts": 5.0.0 react: ~17.0.2 languageName: unknown linkType: soft @@ -10141,7 +10141,7 @@ __metadata: "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" - "@rocket.chat/ui-contexts": 5.0.0-rc.4 + "@rocket.chat/ui-contexts": 5.0.0 react: ~17.0.2 languageName: unknown linkType: soft @@ -10317,8 +10317,8 @@ __metadata: "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 1.0.0-rc.4 - "@rocket.chat/ui-contexts": 5.0.0-rc.4 + "@rocket.chat/ui-avatar": 1.0.0 + "@rocket.chat/ui-contexts": 5.0.0 react: ^17.0.2 react-dom: ^17.0.2 languageName: unknown @@ -10408,7 +10408,7 @@ __metadata: peerDependencies: "@rocket.chat/layout": "*" "@rocket.chat/tools": 0.2.1 - "@rocket.chat/ui-contexts": 5.0.0-rc.4 + "@rocket.chat/ui-contexts": 5.0.0 "@tanstack/react-query": "*" react: "*" react-hook-form: "*" From bc31a9f302caa6abf4a5ff0012da6b52fa04fa63 Mon Sep 17 00:00:00 2001 From: "dionisio-bot[bot]" <117394943+dionisio-bot[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 22:49:52 +0000 Subject: [PATCH 002/185] fix: Focus being forced on last message when interacting with mouse (#32252) Co-authored-by: Douglas Fabris <27704687+dougfabris@users.noreply.github.com> --- .changeset/eleven-seas-explain.md | 5 ++++ .../room/hooks/useMessageListNavigation.ts | 18 ++++++------ apps/meteor/tests/e2e/messaging.spec.ts | 28 ++++++++++++++++++- 3 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 .changeset/eleven-seas-explain.md diff --git a/.changeset/eleven-seas-explain.md b/.changeset/eleven-seas-explain.md new file mode 100644 index 0000000000000..a41d2fbc625d1 --- /dev/null +++ b/.changeset/eleven-seas-explain.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Fixes an issue that forces the focus on the last message when interacting by mouse on message list diff --git a/apps/meteor/client/views/room/hooks/useMessageListNavigation.ts b/apps/meteor/client/views/room/hooks/useMessageListNavigation.ts index ac24862cb52ad..691db14cae824 100644 --- a/apps/meteor/client/views/room/hooks/useMessageListNavigation.ts +++ b/apps/meteor/client/views/room/hooks/useMessageListNavigation.ts @@ -19,7 +19,6 @@ export const useMessageListNavigation = (): { messageListRef: RefCallback { let lastMessageFocused: HTMLElement | null = null; - let triggeredByKeyboard = false; let initialFocus = true; if (!node) { @@ -68,14 +67,15 @@ export const useMessageListNavigation = (): { messageListRef: RefCallback { - if (!triggeredByKeyboard || !(e.currentTarget instanceof HTMLElement && e.relatedTarget instanceof HTMLElement)) { + if ( + !(e.relatedTarget as HTMLElement)?.classList.contains('focus-visible') || + !(e.currentTarget instanceof HTMLElement && e.relatedTarget instanceof HTMLElement) + ) { return; } @@ -89,20 +89,20 @@ export const useMessageListNavigation = (): { messageListRef: RefCallback { + const triggeredByKeyboard = (e.target as HTMLElement)?.classList.contains('focus-visible'); + if (!triggeredByKeyboard || !(e.currentTarget instanceof HTMLElement && e.relatedTarget instanceof HTMLElement)) { + return; + } + if (initialFocus) { massageListFocusManager.focusLast({ accept: (node) => isListItem(node) }); lastMessageFocused = document.activeElement as HTMLElement; initialFocus = false; - } - - if (!triggeredByKeyboard || !(e.currentTarget instanceof HTMLElement && e.relatedTarget instanceof HTMLElement)) { return; } if (lastMessageFocused && !e.currentTarget.contains(e.relatedTarget) && node.contains(e.target as HTMLElement)) { lastMessageFocused?.focus(); - lastMessageFocused = null; - triggeredByKeyboard = false; } }, { capture: true }, diff --git a/apps/meteor/tests/e2e/messaging.spec.ts b/apps/meteor/tests/e2e/messaging.spec.ts index 02c5f01f495ce..edc322c574a00 100644 --- a/apps/meteor/tests/e2e/messaging.spec.ts +++ b/apps/meteor/tests/e2e/messaging.spec.ts @@ -93,11 +93,37 @@ test.describe.serial('Messaging', () => { await poHomeChannel.sidenav.openChat(targetChannel); await page.locator('[data-qa-type="message"]:has-text("msg1")').click(); await poHomeChannel.composer.click(); - await page.locator('[data-qa-type="message"]:has-text("msg2")').click(); + await page.keyboard.press('Shift+Tab'); await expect(page.locator('[data-qa-type="message"]:has-text("msg2")')).toBeFocused(); }); + test('should not focus on the last message when focusing by click', async ({ page }) => { + await poHomeChannel.sidenav.openChat(targetChannel); + await page.locator('[data-qa-type="message"]:has-text("msg1")').click(); + + await expect(page.locator('[data-qa-type="message"]').last()).not.toBeFocused(); + }); + + test('should focus on the recent message when moving the focus on the list and theres no previous focus', async ({ page }) => { + await poHomeChannel.sidenav.openChat(targetChannel); + await page.getByRole('button', { name: targetChannel }).first().focus(); + + // move focus to the list + await page.keyboard.press('Tab'); + await page.keyboard.press('Tab'); + await page.keyboard.press('Tab'); + await expect(page.locator('[data-qa-type="message"]').last()).toBeFocused(); + + await page.getByRole('button', { name: targetChannel }).first().click(); + + // move focus to the list again + await page.keyboard.press('Tab'); + await page.keyboard.press('Tab'); + await page.keyboard.press('Tab'); + await expect(page.locator('[data-qa-type="message"]').last()).toBeFocused(); + }); + test('expect show "hello word" in both contexts (targetChannel)', async ({ browser }) => { await poHomeChannel.sidenav.openChat(targetChannel); const { page } = await createAuxContext(browser, Users.user2); From c2a3ee0dc5a5b2e96e1ca80ed955c891904f4df4 Mon Sep 17 00:00:00 2001 From: "dionisio-bot[bot]" <117394943+dionisio-bot[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 23:05:10 +0000 Subject: [PATCH 003/185] fix: `MessageReactions` misalignment when zooming out (#32251) Co-authored-by: Douglas Fabris <27704687+dougfabris@users.noreply.github.com> --- .changeset/thin-peaches-own.md | 5 +++ .../components/message/content/Reactions.tsx | 35 +++++++++---------- 2 files changed, 21 insertions(+), 19 deletions(-) create mode 100644 .changeset/thin-peaches-own.md diff --git a/.changeset/thin-peaches-own.md b/.changeset/thin-peaches-own.md new file mode 100644 index 0000000000000..b002e2f774c24 --- /dev/null +++ b/.changeset/thin-peaches-own.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Fixes an issue where message reactions are vertically misaligned when zooming out diff --git a/apps/meteor/client/components/message/content/Reactions.tsx b/apps/meteor/client/components/message/content/Reactions.tsx index 4126991fff88e..c71afcf3feb1a 100644 --- a/apps/meteor/client/components/message/content/Reactions.tsx +++ b/apps/meteor/client/components/message/content/Reactions.tsx @@ -23,25 +23,22 @@ const Reactions = ({ message, ...props }: ReactionsProps): ReactElement => { const { toolbarProps } = useToolbar(props, ref); return ( - - {message.reactions && ( -
- {Object.entries(message.reactions).map(([name, reactions]) => ( - user !== username).map((username) => `@${username}`)} - messageId={message._id} - onKeyDown={(e: KeyboardEvent) => - (e.code === 'Space' || e.code === 'Enter') && toggleReactionMutation.mutate({ mid: message._id, reaction: name }) - } - onClick={() => toggleReactionMutation.mutate({ mid: message._id, reaction: name })} - /> - ))} -
- )} + + {message.reactions && + Object.entries(message.reactions).map(([name, reactions]) => ( + user !== username).map((username) => `@${username}`)} + messageId={message._id} + onKeyDown={(e: KeyboardEvent) => + (e.code === 'Space' || e.code === 'Enter') && toggleReactionMutation.mutate({ mid: message._id, reaction: name }) + } + onClick={() => toggleReactionMutation.mutate({ mid: message._id, reaction: name })} + /> + ))} (e.code === 'Space' || e.code === 'Enter') && openEmojiPicker(e)} From 121e2347f5e267cd0b4b63d704e578abb3649e1a Mon Sep 17 00:00:00 2001 From: "dionisio-bot[bot]" <117394943+dionisio-bot[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 23:09:13 +0000 Subject: [PATCH 004/185] chore: bump fuselage packages (#32257) Co-authored-by: Douglas Fabris <27704687+dougfabris@users.noreply.github.com> --- apps/meteor/package.json | 4 +-- ee/packages/pdf-worker/package.json | 2 +- ee/packages/ui-theming/package.json | 2 +- packages/fuselage-ui-kit/package.json | 2 +- packages/gazzodown/package.json | 4 +-- packages/livechat/package.json | 2 +- packages/ui-avatar/package.json | 2 +- packages/ui-client/package.json | 2 +- packages/ui-composer/package.json | 2 +- packages/ui-video-conf/package.json | 2 +- packages/uikit-playground/package.json | 4 +-- yarn.lock | 46 +++++++++++++------------- 12 files changed, 37 insertions(+), 37 deletions(-) diff --git a/apps/meteor/package.json b/apps/meteor/package.json index 3e3feebe92758..3038889a60152 100644 --- a/apps/meteor/package.json +++ b/apps/meteor/package.json @@ -242,11 +242,11 @@ "@rocket.chat/favicon": "workspace:^", "@rocket.chat/forked-matrix-appservice-bridge": "^4.0.2", "@rocket.chat/forked-matrix-bot-sdk": "^0.6.0-beta.3", - "@rocket.chat/fuselage": "^0.53.2", + "@rocket.chat/fuselage": "^0.53.4", "@rocket.chat/fuselage-hooks": "^0.33.1", "@rocket.chat/fuselage-polyfills": "~0.31.25", "@rocket.chat/fuselage-toastbar": "^0.31.26", - "@rocket.chat/fuselage-tokens": "^0.33.0", + "@rocket.chat/fuselage-tokens": "^0.33.1", "@rocket.chat/fuselage-ui-kit": "workspace:^", "@rocket.chat/gazzodown": "workspace:^", "@rocket.chat/i18n": "workspace:^", diff --git a/ee/packages/pdf-worker/package.json b/ee/packages/pdf-worker/package.json index f7c471e20ac79..f2be21dcb1f70 100644 --- a/ee/packages/pdf-worker/package.json +++ b/ee/packages/pdf-worker/package.json @@ -34,7 +34,7 @@ "dependencies": { "@react-pdf/renderer": "^3.1.14", "@rocket.chat/core-typings": "workspace:^", - "@rocket.chat/fuselage-tokens": "^0.33.0", + "@rocket.chat/fuselage-tokens": "^0.33.1", "@types/react": "~17.0.69", "emoji-assets": "^7.0.1", "emoji-toolkit": "^7.0.1", diff --git a/ee/packages/ui-theming/package.json b/ee/packages/ui-theming/package.json index dbe8a13947617..0906c99154f84 100644 --- a/ee/packages/ui-theming/package.json +++ b/ee/packages/ui-theming/package.json @@ -4,7 +4,7 @@ "private": true, "devDependencies": { "@rocket.chat/css-in-js": "~0.31.25", - "@rocket.chat/fuselage": "^0.53.2", + "@rocket.chat/fuselage": "^0.53.4", "@rocket.chat/fuselage-hooks": "^0.33.1", "@rocket.chat/icons": "^0.34.0", "@rocket.chat/ui-contexts": "workspace:~", diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index bd215f0fd8f84..d7874d5dd145e 100644 --- a/packages/fuselage-ui-kit/package.json +++ b/packages/fuselage-ui-kit/package.json @@ -64,7 +64,7 @@ "@babel/preset-typescript": "~7.22.15", "@rocket.chat/apps-engine": "^1.42.1", "@rocket.chat/eslint-config": "workspace:^", - "@rocket.chat/fuselage": "^0.53.2", + "@rocket.chat/fuselage": "^0.53.4", "@rocket.chat/fuselage-hooks": "^0.33.1", "@rocket.chat/fuselage-polyfills": "~0.31.25", "@rocket.chat/icons": "^0.34.0", diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json index 5068fccc13f40..5128f28417307 100644 --- a/packages/gazzodown/package.json +++ b/packages/gazzodown/package.json @@ -6,8 +6,8 @@ "@babel/core": "~7.22.20", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/css-in-js": "~0.31.25", - "@rocket.chat/fuselage": "^0.53.2", - "@rocket.chat/fuselage-tokens": "^0.33.0", + "@rocket.chat/fuselage": "^0.53.4", + "@rocket.chat/fuselage-tokens": "^0.33.1", "@rocket.chat/message-parser": "workspace:^", "@rocket.chat/styled": "~0.31.25", "@rocket.chat/ui-client": "workspace:^", diff --git a/packages/livechat/package.json b/packages/livechat/package.json index 9c210c2bfe329..677aeeab6aab3 100644 --- a/packages/livechat/package.json +++ b/packages/livechat/package.json @@ -32,7 +32,7 @@ "@rocket.chat/ddp-client": "workspace:^", "@rocket.chat/eslint-config": "workspace:^", "@rocket.chat/fuselage-hooks": "^0.33.1", - "@rocket.chat/fuselage-tokens": "^0.33.0", + "@rocket.chat/fuselage-tokens": "^0.33.1", "@rocket.chat/logo": "^0.31.30", "@rocket.chat/ui-contexts": "workspace:^", "@storybook/addon-essentials": "~6.5.16", diff --git a/packages/ui-avatar/package.json b/packages/ui-avatar/package.json index 084b0c77f4802..4621e593c6e54 100644 --- a/packages/ui-avatar/package.json +++ b/packages/ui-avatar/package.json @@ -4,7 +4,7 @@ "private": true, "devDependencies": { "@babel/core": "~7.22.20", - "@rocket.chat/fuselage": "^0.53.2", + "@rocket.chat/fuselage": "^0.53.4", "@rocket.chat/ui-contexts": "workspace:^", "@types/babel__core": "~7.20.3", "@types/react": "~17.0.69", diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json index bbcf316d34a3c..cc0a44c948066 100644 --- a/packages/ui-client/package.json +++ b/packages/ui-client/package.json @@ -6,7 +6,7 @@ "@babel/core": "~7.22.20", "@react-aria/toolbar": "^3.0.0-beta.1", "@rocket.chat/css-in-js": "~0.31.25", - "@rocket.chat/fuselage": "^0.53.2", + "@rocket.chat/fuselage": "^0.53.4", "@rocket.chat/fuselage-hooks": "^0.33.1", "@rocket.chat/icons": "^0.34.0", "@rocket.chat/mock-providers": "workspace:^", diff --git a/packages/ui-composer/package.json b/packages/ui-composer/package.json index 3c484c984afdb..12f7c7253e35d 100644 --- a/packages/ui-composer/package.json +++ b/packages/ui-composer/package.json @@ -6,7 +6,7 @@ "@babel/core": "~7.22.20", "@react-aria/toolbar": "^3.0.0-beta.1", "@rocket.chat/eslint-config": "workspace:^", - "@rocket.chat/fuselage": "^0.53.2", + "@rocket.chat/fuselage": "^0.53.4", "@rocket.chat/icons": "^0.34.0", "@storybook/addon-actions": "~6.5.16", "@storybook/addon-docs": "~6.5.16", diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json index 5bf2f7b2b797e..44e96dda7de9e 100644 --- a/packages/ui-video-conf/package.json +++ b/packages/ui-video-conf/package.json @@ -6,7 +6,7 @@ "@babel/core": "~7.22.20", "@rocket.chat/css-in-js": "~0.31.25", "@rocket.chat/eslint-config": "workspace:^", - "@rocket.chat/fuselage": "^0.53.2", + "@rocket.chat/fuselage": "^0.53.4", "@rocket.chat/fuselage-hooks": "^0.33.1", "@rocket.chat/icons": "^0.34.0", "@rocket.chat/styled": "~0.31.25", diff --git a/packages/uikit-playground/package.json b/packages/uikit-playground/package.json index 8b885bca304b5..f4646e3d3eb17 100644 --- a/packages/uikit-playground/package.json +++ b/packages/uikit-playground/package.json @@ -15,11 +15,11 @@ "@codemirror/tooltip": "^0.19.16", "@lezer/highlight": "^1.1.6", "@rocket.chat/css-in-js": "~0.31.25", - "@rocket.chat/fuselage": "^0.53.2", + "@rocket.chat/fuselage": "^0.53.4", "@rocket.chat/fuselage-hooks": "^0.33.1", "@rocket.chat/fuselage-polyfills": "~0.31.25", "@rocket.chat/fuselage-toastbar": "^0.31.26", - "@rocket.chat/fuselage-tokens": "^0.33.0", + "@rocket.chat/fuselage-tokens": "^0.33.1", "@rocket.chat/fuselage-ui-kit": "workspace:~", "@rocket.chat/icons": "^0.34.0", "@rocket.chat/logo": "^0.31.30", diff --git a/yarn.lock b/yarn.lock index 5cc8060dc7132..b2646a7bced87 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8724,10 +8724,10 @@ __metadata: languageName: node linkType: hard -"@rocket.chat/fuselage-tokens@npm:^0.33.0": - version: 0.33.0 - resolution: "@rocket.chat/fuselage-tokens@npm:0.33.0" - checksum: fee164884da145fdc1e121f4c96c46d32106cd04ed5d1901634552cc3a0d512f9e41cf7905bac0dc9d4212a3d984db4ff23c3227005ba347782a72851cbc7277 +"@rocket.chat/fuselage-tokens@npm:^0.33.1": + version: 0.33.1 + resolution: "@rocket.chat/fuselage-tokens@npm:0.33.1" + checksum: 0c320995b2dcc6f114982308401479184a03778cb5f539a3f711e89f50aae1ce5680b23bd427950372afd24cdbc81eabf4f9a5e726672816088ea266241a6cfa languageName: node linkType: hard @@ -8741,7 +8741,7 @@ __metadata: "@babel/preset-typescript": ~7.22.15 "@rocket.chat/apps-engine": ^1.42.1 "@rocket.chat/eslint-config": "workspace:^" - "@rocket.chat/fuselage": ^0.53.2 + "@rocket.chat/fuselage": ^0.53.4 "@rocket.chat/fuselage-hooks": ^0.33.1 "@rocket.chat/fuselage-polyfills": ~0.31.25 "@rocket.chat/gazzodown": "workspace:^" @@ -8801,13 +8801,13 @@ __metadata: languageName: unknown linkType: soft -"@rocket.chat/fuselage@npm:^0.53.2": - version: 0.53.2 - resolution: "@rocket.chat/fuselage@npm:0.53.2" +"@rocket.chat/fuselage@npm:^0.53.4": + version: 0.53.4 + resolution: "@rocket.chat/fuselage@npm:0.53.4" dependencies: "@rocket.chat/css-in-js": ^0.31.25 "@rocket.chat/css-supports": ^0.31.25 - "@rocket.chat/fuselage-tokens": ^0.33.0 + "@rocket.chat/fuselage-tokens": ^0.33.1 "@rocket.chat/memo": ^0.31.25 "@rocket.chat/styled": ^0.31.25 invariant: ^2.2.4 @@ -8821,7 +8821,7 @@ __metadata: react: ^17.0.2 react-dom: ^17.0.2 react-virtuoso: 1.2.4 - checksum: 3dd1464821330cc353fdb3de585853e7d41f181e87a90c8281d8ef28ba719dd95ddc92f048a321127e800a9287638f77d5549412548b443bceedbefa4d728e40 + checksum: 3a926f6f29f8111c23d423d056f51f13679f329cb58b418a9b2999ceac54897232f6078d656e3c7858d52dbe5fa55137267397feaa24b4271cf10e1e955891b6 languageName: node linkType: hard @@ -8832,8 +8832,8 @@ __metadata: "@babel/core": ~7.22.20 "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/css-in-js": ~0.31.25 - "@rocket.chat/fuselage": ^0.53.2 - "@rocket.chat/fuselage-tokens": ^0.33.0 + "@rocket.chat/fuselage": ^0.53.4 + "@rocket.chat/fuselage-tokens": ^0.33.1 "@rocket.chat/message-parser": "workspace:^" "@rocket.chat/styled": ~0.31.25 "@rocket.chat/ui-client": "workspace:^" @@ -8983,7 +8983,7 @@ __metadata: "@rocket.chat/ddp-client": "workspace:^" "@rocket.chat/eslint-config": "workspace:^" "@rocket.chat/fuselage-hooks": ^0.33.1 - "@rocket.chat/fuselage-tokens": ^0.33.0 + "@rocket.chat/fuselage-tokens": ^0.33.1 "@rocket.chat/gazzodown": "workspace:^" "@rocket.chat/logo": ^0.31.30 "@rocket.chat/message-parser": "workspace:^" @@ -9192,11 +9192,11 @@ __metadata: "@rocket.chat/favicon": "workspace:^" "@rocket.chat/forked-matrix-appservice-bridge": ^4.0.2 "@rocket.chat/forked-matrix-bot-sdk": ^0.6.0-beta.3 - "@rocket.chat/fuselage": ^0.53.2 + "@rocket.chat/fuselage": ^0.53.4 "@rocket.chat/fuselage-hooks": ^0.33.1 "@rocket.chat/fuselage-polyfills": ~0.31.25 "@rocket.chat/fuselage-toastbar": ^0.31.26 - "@rocket.chat/fuselage-tokens": ^0.33.0 + "@rocket.chat/fuselage-tokens": ^0.33.1 "@rocket.chat/fuselage-ui-kit": "workspace:^" "@rocket.chat/gazzodown": "workspace:^" "@rocket.chat/i18n": "workspace:^" @@ -9708,7 +9708,7 @@ __metadata: dependencies: "@react-pdf/renderer": ^3.1.14 "@rocket.chat/core-typings": "workspace:^" - "@rocket.chat/fuselage-tokens": ^0.33.0 + "@rocket.chat/fuselage-tokens": ^0.33.1 "@storybook/addon-essentials": ~6.5.16 "@storybook/react": ~6.5.16 "@testing-library/jest-dom": ^5.16.5 @@ -10074,7 +10074,7 @@ __metadata: resolution: "@rocket.chat/ui-avatar@workspace:packages/ui-avatar" dependencies: "@babel/core": ~7.22.20 - "@rocket.chat/fuselage": ^0.53.2 + "@rocket.chat/fuselage": ^0.53.4 "@rocket.chat/ui-contexts": "workspace:^" "@types/babel__core": ~7.20.3 "@types/react": ~17.0.69 @@ -10100,7 +10100,7 @@ __metadata: "@babel/core": ~7.22.20 "@react-aria/toolbar": ^3.0.0-beta.1 "@rocket.chat/css-in-js": ~0.31.25 - "@rocket.chat/fuselage": ^0.53.2 + "@rocket.chat/fuselage": ^0.53.4 "@rocket.chat/fuselage-hooks": ^0.33.1 "@rocket.chat/icons": ^0.34.0 "@rocket.chat/mock-providers": "workspace:^" @@ -10153,7 +10153,7 @@ __metadata: "@babel/core": ~7.22.20 "@react-aria/toolbar": ^3.0.0-beta.1 "@rocket.chat/eslint-config": "workspace:^" - "@rocket.chat/fuselage": ^0.53.2 + "@rocket.chat/fuselage": ^0.53.4 "@rocket.chat/icons": ^0.34.0 "@storybook/addon-actions": ~6.5.16 "@storybook/addon-docs": ~6.5.16 @@ -10245,7 +10245,7 @@ __metadata: resolution: "@rocket.chat/ui-theming@workspace:ee/packages/ui-theming" dependencies: "@rocket.chat/css-in-js": ~0.31.25 - "@rocket.chat/fuselage": ^0.53.2 + "@rocket.chat/fuselage": ^0.53.4 "@rocket.chat/fuselage-hooks": ^0.33.1 "@rocket.chat/icons": ^0.34.0 "@rocket.chat/ui-contexts": "workspace:~" @@ -10288,7 +10288,7 @@ __metadata: "@rocket.chat/css-in-js": ~0.31.25 "@rocket.chat/emitter": ~0.31.25 "@rocket.chat/eslint-config": "workspace:^" - "@rocket.chat/fuselage": ^0.53.2 + "@rocket.chat/fuselage": ^0.53.4 "@rocket.chat/fuselage-hooks": ^0.33.1 "@rocket.chat/icons": ^0.34.0 "@rocket.chat/styled": ~0.31.25 @@ -10333,11 +10333,11 @@ __metadata: "@codemirror/tooltip": ^0.19.16 "@lezer/highlight": ^1.1.6 "@rocket.chat/css-in-js": ~0.31.25 - "@rocket.chat/fuselage": ^0.53.2 + "@rocket.chat/fuselage": ^0.53.4 "@rocket.chat/fuselage-hooks": ^0.33.1 "@rocket.chat/fuselage-polyfills": ~0.31.25 "@rocket.chat/fuselage-toastbar": ^0.31.26 - "@rocket.chat/fuselage-tokens": ^0.33.0 + "@rocket.chat/fuselage-tokens": ^0.33.1 "@rocket.chat/fuselage-ui-kit": "workspace:~" "@rocket.chat/icons": ^0.34.0 "@rocket.chat/logo": ^0.31.30 From 04448e54f92bade52e98e920a135ab580b045ba9 Mon Sep 17 00:00:00 2001 From: "dionisio-bot[bot]" <117394943+dionisio-bot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 01:13:44 +0000 Subject: [PATCH 005/185] fix: supported versions not being updated (#32265) Co-authored-by: Guilherme Gazzo <5263975+ggazzo@users.noreply.github.com> --- .changeset/sharp-yaks-turn.md | 5 +++++ .../meteor/app/cloud/server/functions/syncWorkspace/index.ts | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .changeset/sharp-yaks-turn.md diff --git a/.changeset/sharp-yaks-turn.md b/.changeset/sharp-yaks-turn.md new file mode 100644 index 0000000000000..7c05bf5a3b0ec --- /dev/null +++ b/.changeset/sharp-yaks-turn.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +Fixed supported versions not being updated in airgapped environments diff --git a/apps/meteor/app/cloud/server/functions/syncWorkspace/index.ts b/apps/meteor/app/cloud/server/functions/syncWorkspace/index.ts index 4c1d784406483..1fd121cb710cc 100644 --- a/apps/meteor/app/cloud/server/functions/syncWorkspace/index.ts +++ b/apps/meteor/app/cloud/server/functions/syncWorkspace/index.ts @@ -13,9 +13,9 @@ import { syncCloudData } from './syncCloudData'; */ export async function syncWorkspace() { try { + await getCachedSupportedVersionsToken.reset(); await announcementSync(); await syncCloudData(); - await getCachedSupportedVersionsToken.reset(); } catch (err) { switch (true) { case err instanceof CloudWorkspaceRegistrationError: @@ -33,8 +33,8 @@ export async function syncWorkspace() { function: 'syncCloudData', }); try { - await legacySyncWorkspace(); await getCachedSupportedVersionsToken.reset(); + await legacySyncWorkspace(); } catch (err) { switch (true) { case err instanceof CloudWorkspaceRegistrationError: From 12106a7f46b20408d80f79f4d51867888d87f78f Mon Sep 17 00:00:00 2001 From: "dionisio-bot[bot]" <117394943+dionisio-bot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 01:16:48 +0000 Subject: [PATCH 006/185] chore: better instant to call `getCachedSupportedVersionsToken.reset()` (#32255) Co-authored-by: Guilherme Gazzo <5263975+ggazzo@users.noreply.github.com> --- apps/meteor/app/cloud/server/functions/syncWorkspace/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/meteor/app/cloud/server/functions/syncWorkspace/index.ts b/apps/meteor/app/cloud/server/functions/syncWorkspace/index.ts index 1fd121cb710cc..a410ea274c07c 100644 --- a/apps/meteor/app/cloud/server/functions/syncWorkspace/index.ts +++ b/apps/meteor/app/cloud/server/functions/syncWorkspace/index.ts @@ -13,7 +13,6 @@ import { syncCloudData } from './syncCloudData'; */ export async function syncWorkspace() { try { - await getCachedSupportedVersionsToken.reset(); await announcementSync(); await syncCloudData(); } catch (err) { @@ -33,7 +32,6 @@ export async function syncWorkspace() { function: 'syncCloudData', }); try { - await getCachedSupportedVersionsToken.reset(); await legacySyncWorkspace(); } catch (err) { switch (true) { @@ -52,5 +50,7 @@ export async function syncWorkspace() { } } } + } finally { + await getCachedSupportedVersionsToken.reset(); } } From f717f347988ef23f77af9a7ec54fce3f9dccf260 Mon Sep 17 00:00:00 2001 From: "dionisio-bot[bot]" <117394943+dionisio-bot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 04:07:23 +0000 Subject: [PATCH 007/185] fix: Omnichannel Jobs running every 5 seconds (#32253) Co-authored-by: Kevin Aleman <11577696+KevLehman@users.noreply.github.com> --- .changeset/chilly-glasses-sin.md | 5 +++++ .../server/lib/AutoCloseOnHoldScheduler.ts | 1 + .../server/lib/AutoTransferChatScheduler.ts | 1 + .../livechat-enterprise/server/lib/QueueInactivityMonitor.ts | 1 + .../omnichannel/omnichannel-auto-onhold-chat-closing.spec.ts | 4 +++- 5 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .changeset/chilly-glasses-sin.md diff --git a/.changeset/chilly-glasses-sin.md b/.changeset/chilly-glasses-sin.md new file mode 100644 index 0000000000000..3ff7f1ef1c1ff --- /dev/null +++ b/.changeset/chilly-glasses-sin.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +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 diff --git a/apps/meteor/ee/app/livechat-enterprise/server/lib/AutoCloseOnHoldScheduler.ts b/apps/meteor/ee/app/livechat-enterprise/server/lib/AutoCloseOnHoldScheduler.ts index c59c272825011..4ea92a4e062f9 100644 --- a/apps/meteor/ee/app/livechat-enterprise/server/lib/AutoCloseOnHoldScheduler.ts +++ b/apps/meteor/ee/app/livechat-enterprise/server/lib/AutoCloseOnHoldScheduler.ts @@ -33,6 +33,7 @@ class AutoCloseOnHoldSchedulerClass { mongo: (MongoInternals.defaultRemoteCollectionDriver().mongo as any).client.db(), db: { collection: SCHEDULER_NAME }, defaultConcurrency: 1, + processEvery: '1 minute', }); await this.scheduler.start(); diff --git a/apps/meteor/ee/app/livechat-enterprise/server/lib/AutoTransferChatScheduler.ts b/apps/meteor/ee/app/livechat-enterprise/server/lib/AutoTransferChatScheduler.ts index 68044a5502778..80af04df64728 100644 --- a/apps/meteor/ee/app/livechat-enterprise/server/lib/AutoTransferChatScheduler.ts +++ b/apps/meteor/ee/app/livechat-enterprise/server/lib/AutoTransferChatScheduler.ts @@ -35,6 +35,7 @@ class AutoTransferChatSchedulerClass { mongo: (MongoInternals.defaultRemoteCollectionDriver().mongo as any).client.db(), db: { collection: SCHEDULER_NAME }, defaultConcurrency: 1, + processEvery: '1 minute', }); await this.scheduler.start(); diff --git a/apps/meteor/ee/app/livechat-enterprise/server/lib/QueueInactivityMonitor.ts b/apps/meteor/ee/app/livechat-enterprise/server/lib/QueueInactivityMonitor.ts index df975a3690be1..a861219d6089e 100644 --- a/apps/meteor/ee/app/livechat-enterprise/server/lib/QueueInactivityMonitor.ts +++ b/apps/meteor/ee/app/livechat-enterprise/server/lib/QueueInactivityMonitor.ts @@ -39,6 +39,7 @@ class OmnichannelQueueInactivityMonitorClass { mongo: (MongoInternals.defaultRemoteCollectionDriver().mongo as any).client.db(), db: { collection: SCHEDULER_NAME }, defaultConcurrency: 1, + processEvery: '1 minute', }); this.createIndex(); const language = settings.get('Language') || 'en'; diff --git a/apps/meteor/tests/e2e/omnichannel/omnichannel-auto-onhold-chat-closing.spec.ts b/apps/meteor/tests/e2e/omnichannel/omnichannel-auto-onhold-chat-closing.spec.ts index e3ed090689c5f..7f321342b5026 100644 --- a/apps/meteor/tests/e2e/omnichannel/omnichannel-auto-onhold-chat-closing.spec.ts +++ b/apps/meteor/tests/e2e/omnichannel/omnichannel-auto-onhold-chat-closing.spec.ts @@ -53,7 +53,9 @@ test.describe('omnichannel-auto-onhold-chat-closing', () => { await poLiveChat.btnSendMessageToOnlineAgent.click(); }); - test('expect on-hold chat to be closed automatically in 5 seconds', async () => { + // Note: Skipping this test as the scheduler is gonna take 1 minute to process now + // And waiting for 1 minute in a test is horrible + test.skip('expect on-hold chat to be closed automatically in 5 seconds', async () => { await agent.poHomeChannel.sidenav.openChat(newVisitor.name); await agent.poHomeChannel.content.sendMessage('this_is_a_test_message_from_agent'); From f02012b2aed5000de983ba3bdeca234ea80fb3c0 Mon Sep 17 00:00:00 2001 From: "dionisio-bot[bot]" <117394943+dionisio-bot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 15:47:39 +0000 Subject: [PATCH 008/185] fix: fingerprint auto accepted still asks for admin confirmation (#32254) Co-authored-by: Debdut Chakraborty <76006232+debdutdeb@users.noreply.github.com> --- .changeset/shaggy-yaks-train.md | 5 +++++ apps/meteor/server/settings/misc.ts | 1 + 2 files changed, 6 insertions(+) create mode 100644 .changeset/shaggy-yaks-train.md diff --git a/.changeset/shaggy-yaks-train.md b/.changeset/shaggy-yaks-train.md new file mode 100644 index 0000000000000..1dbc97b48228a --- /dev/null +++ b/.changeset/shaggy-yaks-train.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +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"`. diff --git a/apps/meteor/server/settings/misc.ts b/apps/meteor/server/settings/misc.ts index e04c4d6d3b8eb..ae8371276533a 100644 --- a/apps/meteor/server/settings/misc.ts +++ b/apps/meteor/server/settings/misc.ts @@ -40,6 +40,7 @@ const verifyFingerPrint = async function () { if (process.env.AUTO_ACCEPT_FINGERPRINT === 'true') { logger.info('Updating fingerprint as AUTO_ACCEPT_FINGERPRINT is true', fingerprint); await updateFingerprint(fingerprint, true); + return; } logger.warn('Updating fingerprint as pending for admin verification', fingerprint); From 6e7c5b36b1c94c6e175f38e22b8120c7eede54af Mon Sep 17 00:00:00 2001 From: "dionisio-bot[bot]" <117394943+dionisio-bot[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 12:46:02 -0400 Subject: [PATCH 009/185] fix(Omnichannel): Open expanded view (galery mode) for image attachments from livechat (#32256) Co-authored-by: Tiago Evangelista Pinto --- .changeset/green-ways-tie.md | 5 +++++ .../server/methods/sendMessageLivechat.ts | 7 +++--- apps/meteor/tests/data/livechat/rooms.ts | 22 +++++++++++++++++++ .../end-to-end/api/livechat/20-messages.ts | 14 ++++++++++++ 4 files changed, 45 insertions(+), 3 deletions(-) create mode 100644 .changeset/green-ways-tie.md diff --git a/.changeset/green-ways-tie.md b/.changeset/green-ways-tie.md new file mode 100644 index 0000000000000..73a334fd32a08 --- /dev/null +++ b/.changeset/green-ways-tie.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +Fixed open expanded view (galery mode) for image attachments sent by livechat widget diff --git a/apps/meteor/app/livechat/server/methods/sendMessageLivechat.ts b/apps/meteor/app/livechat/server/methods/sendMessageLivechat.ts index 516a9bc5081f9..ad16dea23e4fa 100644 --- a/apps/meteor/app/livechat/server/methods/sendMessageLivechat.ts +++ b/apps/meteor/app/livechat/server/methods/sendMessageLivechat.ts @@ -26,7 +26,7 @@ declare module '@rocket.chat/ui-contexts' { } export const sendMessageLivechat = async ({ - message: { token, _id, rid, msg, file, attachments }, + message: { token, _id, rid, msg, file, files, attachments }, agent, }: ISendMessageLivechat): Promise => { check(token, String); @@ -67,6 +67,7 @@ export const sendMessageLivechat = async ({ msg, token, file, + files, attachments, }, agent, @@ -79,7 +80,7 @@ export const sendMessageLivechat = async ({ }; Meteor.methods({ - async sendMessageLivechat({ token, _id, rid, msg, file, attachments }: ILivechatMessage, agent: ILivechatMessageAgent) { - return sendMessageLivechat({ message: { token, _id, rid, msg, file, attachments }, agent }); + async sendMessageLivechat({ token, _id, rid, msg, file, files, attachments }: ILivechatMessage, agent: ILivechatMessageAgent) { + return sendMessageLivechat({ message: { token, _id, rid, msg, file, files, attachments }, agent }); }, }); diff --git a/apps/meteor/tests/data/livechat/rooms.ts b/apps/meteor/tests/data/livechat/rooms.ts index a3981a67c3d34..3ae59c626a21c 100644 --- a/apps/meteor/tests/data/livechat/rooms.ts +++ b/apps/meteor/tests/data/livechat/rooms.ts @@ -13,6 +13,7 @@ import { IUserCredentialsHeader, adminUsername } from '../user'; import { getRandomVisitorToken } from './users'; import { DummyResponse, sleep } from './utils'; import { Response } from 'supertest'; +import { imgURL } from '../interactions'; export const createLivechatRoom = async (visitorToken: string, extraRoomParams?: Record): Promise => { const urlParams = new URLSearchParams(); @@ -208,6 +209,21 @@ export const sendMessage = (roomId: string, message: string, visitorToken: strin }); }; +export const uploadFile = (roomId: string, visitorToken: string): Promise => { + return new Promise((resolve, reject) => { + request + .post(api(`livechat/upload/${roomId}`)) + .set({ 'x-visitor-token': visitorToken, ...credentials }) + .attach('file', imgURL) + .end((err: Error, res: DummyResponse) => { + if (err) { + return reject(err); + } + resolve(res.body as unknown as IMessage); + }); + }); +}; + // Sends a message using sendMessage method from agent export const sendAgentMessage = (roomId: string, msg?: string): Promise => { return new Promise((resolve, reject) => { @@ -243,6 +259,12 @@ export const fetchMessages = (roomId: string, visitorToken: string): Promise { expect(quotedMessageAttachments).to.have.property('text').that.is.equal(agentMsgSentence); } }); + + it('should verify if visitor is receiving a message with a image attachment', async () => { + const { + room: { _id: roomId }, + visitor: { token }, + } = await startANewLivechatRoomAndTakeIt(); + + const imgMessage = await uploadFile(roomId, token); + + expect(imgMessage).to.have.property('files').that.is.an('array'); + expect(imgMessage.files?.[0]).to.have.keys('_id', 'name', 'type'); + expect(imgMessage).to.have.property('file').that.deep.equal(imgMessage?.files?.[0]); + }); }); }); From a271e35f09ae767285fffc0b7d0edb58d86b7be6 Mon Sep 17 00:00:00 2001 From: rocketchat-github-ci Date: Tue, 23 Apr 2024 16:53:30 +0000 Subject: [PATCH 010/185] Release 6.8.0-rc.0 --- .changeset/pre.json | 114 ++++++++++++++ apps/meteor/CHANGELOG.md | 142 ++++++++++++++++++ apps/meteor/app/utils/rocketchat.info | 2 +- apps/meteor/ee/server/services/CHANGELOG.md | 15 ++ apps/meteor/ee/server/services/package.json | 2 +- apps/meteor/package.json | 2 +- ee/apps/account-service/CHANGELOG.md | 13 ++ ee/apps/account-service/package.json | 2 +- ee/apps/authorization-service/CHANGELOG.md | 13 ++ ee/apps/authorization-service/package.json | 2 +- ee/apps/ddp-streamer/CHANGELOG.md | 15 ++ ee/apps/ddp-streamer/package.json | 2 +- ee/apps/omnichannel-transcript/CHANGELOG.md | 14 ++ ee/apps/omnichannel-transcript/package.json | 2 +- ee/apps/presence-service/CHANGELOG.md | 13 ++ ee/apps/presence-service/package.json | 2 +- ee/apps/queue-worker/CHANGELOG.md | 13 ++ ee/apps/queue-worker/package.json | 2 +- ee/apps/stream-hub-service/CHANGELOG.md | 12 ++ ee/apps/stream-hub-service/package.json | 2 +- ee/packages/api-client/CHANGELOG.md | 10 ++ ee/packages/api-client/package.json | 2 +- ee/packages/ddp-client/CHANGELOG.md | 10 ++ ee/packages/ddp-client/package.json | 2 +- ee/packages/license/CHANGELOG.md | 9 ++ ee/packages/license/package.json | 2 +- ee/packages/omnichannel-services/CHANGELOG.md | 14 ++ ee/packages/omnichannel-services/package.json | 2 +- ee/packages/pdf-worker/CHANGELOG.md | 9 ++ ee/packages/pdf-worker/package.json | 2 +- ee/packages/presence/CHANGELOG.md | 11 ++ ee/packages/presence/package.json | 2 +- package.json | 2 +- packages/apps/CHANGELOG.md | 10 ++ packages/apps/package.json | 2 +- packages/core-services/CHANGELOG.md | 15 ++ packages/core-services/package.json | 2 +- packages/core-typings/CHANGELOG.md | 17 +++ packages/core-typings/package.json | 2 +- packages/cron/CHANGELOG.md | 11 ++ packages/cron/package.json | 2 +- packages/eslint-config/CHANGELOG.md | 6 + packages/eslint-config/package.json | 2 +- packages/fuselage-ui-kit/CHANGELOG.md | 14 ++ packages/fuselage-ui-kit/package.json | 10 +- packages/gazzodown/CHANGELOG.md | 12 ++ packages/gazzodown/package.json | 6 +- packages/i18n/CHANGELOG.md | 14 ++ packages/i18n/package.json | 3 +- packages/instance-status/CHANGELOG.md | 9 ++ packages/instance-status/package.json | 2 +- packages/livechat/CHANGELOG.md | 18 +++ packages/livechat/package.json | 2 +- packages/mock-providers/CHANGELOG.md | 9 ++ packages/mock-providers/package.json | 2 +- packages/model-typings/CHANGELOG.md | 13 ++ packages/model-typings/package.json | 2 +- packages/models/CHANGELOG.md | 9 ++ packages/models/package.json | 2 +- packages/release-action/CHANGELOG.md | 9 ++ packages/release-action/package.json | 2 +- packages/rest-typings/CHANGELOG.md | 21 +++ packages/rest-typings/package.json | 2 +- packages/ui-avatar/CHANGELOG.md | 9 ++ packages/ui-avatar/package.json | 4 +- packages/ui-client/CHANGELOG.md | 9 ++ packages/ui-client/package.json | 4 +- packages/ui-contexts/CHANGELOG.md | 16 ++ packages/ui-contexts/package.json | 2 +- packages/ui-video-conf/CHANGELOG.md | 10 ++ packages/ui-video-conf/package.json | 6 +- packages/uikit-playground/CHANGELOG.md | 11 ++ packages/uikit-playground/package.json | 2 +- packages/web-ui-registration/CHANGELOG.md | 9 ++ packages/web-ui-registration/package.json | 4 +- 75 files changed, 727 insertions(+), 50 deletions(-) create mode 100644 .changeset/pre.json diff --git a/.changeset/pre.json b/.changeset/pre.json new file mode 100644 index 0000000000000..01ac58008bed2 --- /dev/null +++ b/.changeset/pre.json @@ -0,0 +1,114 @@ +{ + "mode": "pre", + "tag": "rc", + "initialVersions": { + "@rocket.chat/meteor": "6.8.0-develop", + "rocketchat-services": "1.1.29", + "@rocket.chat/account-service": "0.3.11", + "@rocket.chat/authorization-service": "0.3.11", + "@rocket.chat/ddp-streamer": "0.2.10", + "@rocket.chat/omnichannel-transcript": "0.3.11", + "@rocket.chat/presence-service": "0.3.11", + "@rocket.chat/queue-worker": "0.3.11", + "@rocket.chat/stream-hub-service": "0.3.11", + "@rocket.chat/api-client": "0.1.29", + "@rocket.chat/ddp-client": "0.2.20", + "@rocket.chat/license": "0.1.11", + "@rocket.chat/omnichannel-services": "0.1.11", + "@rocket.chat/pdf-worker": "0.0.35", + "@rocket.chat/presence": "0.1.11", + "@rocket.chat/ui-theming": "0.1.2", + "@rocket.chat/account-utils": "0.0.2", + "@rocket.chat/agenda": "0.1.0", + "@rocket.chat/apps": "0.0.2", + "@rocket.chat/base64": "1.0.13", + "@rocket.chat/cas-validate": "0.0.2", + "@rocket.chat/core-services": "0.3.11", + "@rocket.chat/core-typings": "6.8.0-develop", + "@rocket.chat/cron": "0.0.31", + "@rocket.chat/eslint-config": "0.6.2", + "@rocket.chat/favicon": "0.0.2", + "@rocket.chat/fuselage-ui-kit": "5.0.0", + "@rocket.chat/gazzodown": "5.0.0", + "@rocket.chat/i18n": "0.2.0", + "@rocket.chat/instance-status": "0.0.35", + "@rocket.chat/jwt": "0.1.1", + "@rocket.chat/livechat": "1.15.0", + "@rocket.chat/log-format": "0.0.2", + "@rocket.chat/logger": "0.0.2", + "@rocket.chat/message-parser": "0.31.29", + "@rocket.chat/mock-providers": "0.0.5", + "@rocket.chat/model-typings": "0.3.7", + "@rocket.chat/models": "0.0.35", + "@rocket.chat/poplib": "0.0.2", + "@rocket.chat/password-policies": "0.0.2", + "@rocket.chat/patch-injection": "0.0.1", + "@rocket.chat/peggy-loader": "0.31.25", + "@rocket.chat/random": "1.2.2", + "@rocket.chat/release-action": "2.2.2", + "@rocket.chat/release-changelog": "0.1.0", + "@rocket.chat/rest-typings": "6.8.0-develop", + "@rocket.chat/server-cloud-communication": "0.0.2", + "@rocket.chat/server-fetch": "0.0.3", + "@rocket.chat/sha256": "1.0.10", + "@rocket.chat/tools": "0.2.1", + "@rocket.chat/ui-avatar": "1.0.0", + "@rocket.chat/ui-client": "5.0.0", + "@rocket.chat/ui-composer": "0.1.0", + "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-kit": "0.33.0", + "@rocket.chat/ui-video-conf": "5.0.0", + "@rocket.chat/uikit-playground": "0.2.20", + "@rocket.chat/web-ui-registration": "5.0.0" + }, + "changesets": [ + "afraid-poets-sparkle", + "breezy-starfishes-attack", + "chilly-glasses-sin", + "chilly-walls-knock", + "eighty-pans-joke", + "eleven-news-stare", + "eleven-seas-explain", + "fair-peaches-cough", + "fifty-cups-sort", + "fifty-planets-rhyme", + "flat-socks-act", + "four-eyes-sniff", + "good-ducks-vanish", + "good-ghosts-doubt", + "great-moles-rest", + "green-ways-tie", + "heavy-singers-retire", + "lemon-schools-double", + "lovely-trainers-kiss", + "nervous-elephants-jam", + "nice-hounds-enjoy", + "nine-houses-reply", + "old-geckos-march", + "pink-ants-sing", + "pink-parrots-end", + "popular-fishes-lay", + "proud-experts-taste", + "shaggy-yaks-train", + "sharp-yaks-turn", + "silent-dodos-doubt", + "slow-cows-dance", + "small-moons-matter", + "smart-squids-begin", + "soft-shrimps-beg", + "strange-comics-camp", + "strange-countries-visit", + "strange-rivers-live", + "strong-bananas-flash", + "sweet-books-trade", + "swift-readers-speak", + "tame-ducks-turn", + "thin-peaches-own", + "thirty-hotels-greet", + "tough-boats-beg", + "twelve-seas-battle", + "two-suns-marry", + "wild-keys-obey", + "young-candles-explode" + ] +} diff --git a/apps/meteor/CHANGELOG.md b/apps/meteor/CHANGELOG.md index f44de4f5450ff..8097838bd6cac 100644 --- a/apps/meteor/CHANGELOG.md +++ b/apps/meteor/CHANGELOG.md @@ -1,5 +1,147 @@ # @rocket.chat/meteor +## 6.8.0-rc.0 + +### Minor Changes + +- ([#31898](https://github.com/RocketChat/Rocket.Chat/pull/31898)) Created a new endpoint to get a filtered and paginated list of users. + +- ([#32224](https://github.com/RocketChat/Rocket.Chat/pull/32224)) Allow Custom Fields in Messages. API-only feature. It can be enabled and configured in Workspace Settings. + +- ([#32115](https://github.com/RocketChat/Rocket.Chat/pull/32115)) Introduces sidebar navigability, allowing users to navigate on sidebar channels through keyboard + +- ([#29461](https://github.com/RocketChat/Rocket.Chat/pull/29461)) Introduces a resizable Contextualbar allowing users to change the width just by dragging it + +- ([#31840](https://github.com/RocketChat/Rocket.Chat/pull/31840)) Encrypt file descriptions in E2EE rooms + +- ([#31811](https://github.com/RocketChat/Rocket.Chat/pull/31811)) Convert mute/unmute meteor methods to endpoints + +- ([#32084](https://github.com/RocketChat/Rocket.Chat/pull/32084)) Added a new setting to automatically disable users from LDAP that can no longer be found by the background sync + +- ([#31965](https://github.com/RocketChat/Rocket.Chat/pull/31965)) Added the ability to serve .well-known paths directly from Rocket.Chat, if using federation, removing the need for special reverse proxy configuration or another component layer for specific types of reverse proxies / loadbalancers. + +- ([#31898](https://github.com/RocketChat/Rocket.Chat/pull/31898)) Created a new endpoint to resend the welcome email to a given user + +- ([#32208](https://github.com/RocketChat/Rocket.Chat/pull/32208)) 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 + +- ([#31976](https://github.com/RocketChat/Rocket.Chat/pull/31976)) Added support for allowing agents to forward inquiries to departments that may not have any online agents given that `Allow department to receive forwarded inquiries even when there's no available agents` is set to `true` in the department configuration. + This configuration empowers agents to seamlessly direct incoming requests to the designated department, ensuring efficient handling of queries even when departmental resources are not actively online. When an agent becomes available, any pending inquiries will be automatically routed to them if the routing algorithm supports it. +- ([#32173](https://github.com/RocketChat/Rocket.Chat/pull/32173)) Added "Enable Users" option under "Sync User Active State" LDAP setting to allow only re-enabling users found on LDAP background sync + +- ([#31865](https://github.com/RocketChat/Rocket.Chat/pull/31865)) Redesign Save E2EE password modal + +- ([#32272](https://github.com/RocketChat/Rocket.Chat/pull/32272)) Support Message Custom Fields on upload API via field `customField` and JSON value + +- ([#32055](https://github.com/RocketChat/Rocket.Chat/pull/32055)) feat: `ConnectionStatusBar` redesign + +- ([#32073](https://github.com/RocketChat/Rocket.Chat/pull/32073)) Fixed an issue affecting the update modal/contextual bar by apps when it comes to error handling and regular surface update + +### Patch Changes + +- ([#31996](https://github.com/RocketChat/Rocket.Chat/pull/31996)) Fixed Security tab visibility to allow password changes when 2FA/E2E is disabled. + +- ([#32210](https://github.com/RocketChat/Rocket.Chat/pull/32210)) Fixes error `audio.pause() is not a function` and makes the continuous new room notification (livechat) respect the volume set in user preferences. + +- ([#32186](https://github.com/RocketChat/Rocket.Chat/pull/32186)) 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 + +- ([#32216](https://github.com/RocketChat/Rocket.Chat/pull/32216)) Fixed an issue while creating tokens via the special `users.createToken` API was not respecting the maximum login tokens allowed for a user. + + The following endpoint was deprecated and will be removed on version `8.0.0`: + + - `/api/v1/users.createToken` + + The following Meteor method (realtime API) was deprecated and will be removed on version `8.0.0`: + + - `createToken` + +- ([#31958](https://github.com/RocketChat/Rocket.Chat/pull/31958)) Force logout the clients which are actively online, whenever a user resets E2EE keys. + +- ([#31989](https://github.com/RocketChat/Rocket.Chat/pull/31989)) Fixed issue with login via SAML not redirecting to invite link + +- ([#32187](https://github.com/RocketChat/Rocket.Chat/pull/32187)) Fixes an issue that forces the focus on the last message when interacting by mouse on message list + +- ([#31765](https://github.com/RocketChat/Rocket.Chat/pull/31765)) Fixes the livechat client ignoring the `livechat_fileuploads_enabled` setting when uploading files + +- ([#31811](https://github.com/RocketChat/Rocket.Chat/pull/31811)) Deprecate muteUserInRoom and unmuteUserInRoom meteor methods + +- ([#32287](https://github.com/RocketChat/Rocket.Chat/pull/32287)) Fixed wrong `Business hours` validations between different weeks + +- ([#31990](https://github.com/RocketChat/Rocket.Chat/pull/31990)) Fixed open expanded view (galery mode) for image attachments sent by livechat widget + +- ([#32248](https://github.com/RocketChat/Rocket.Chat/pull/32248)) Fixes an issue where the last threads list item wasn't displaying properly + +- ([#32112](https://github.com/RocketChat/Rocket.Chat/pull/32112)) fixed an issue where mentioning a team would trigger the bot message warning that the team is not a part of the channel + +- ([#32069](https://github.com/RocketChat/Rocket.Chat/pull/32069)) Livechat: A registered user loses their messages if 'registerGuest' is called using the same token. + +- ([#32063](https://github.com/RocketChat/Rocket.Chat/pull/32063)) Fixed a UI issue that allowed a user to "mark" a room as favorite even when a room was not default. The Back-End was correctly ignoring the `favorite` property from being updated when the room was not default, but the UI still allowed users to try. + As UI allowed but changes were not saved, this gave the impression that the function was not working. +- ([#32237](https://github.com/RocketChat/Rocket.Chat/pull/32237)) **Fixed settings-related statistics not being updated according to the license.** + + We've identified an issue where certain statistics were not reflecting recent license changes. This resulted in outdated information being reported for workspaces. + This change ensures that all reported statistics are current and consider the workspace license. + +- ([#32170](https://github.com/RocketChat/Rocket.Chat/pull/32170)) Fixed a language priority issue. It should now respect the following order: User Preference -> Browser Language -> Server Language + +- ([#32202](https://github.com/RocketChat/Rocket.Chat/pull/32202)) 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"`. + +- ([#32220](https://github.com/RocketChat/Rocket.Chat/pull/32220)) Fixed supported versions not being updated in airgapped environments + +- ([#32141](https://github.com/RocketChat/Rocket.Chat/pull/32141)) Deprecate `channels.images` in favor of `rooms.images`. `Rooms` endpoints are more broad and should interact with all types of rooms. `Channels` on the other hand are specific to public channels. + This change is to keep the semantics and conventions of the endpoints +- ([#32157](https://github.com/RocketChat/Rocket.Chat/pull/32157)) Fixed custom OAuth roles not synced on the first login (on user creation) + +- ([#32136](https://github.com/RocketChat/Rocket.Chat/pull/32136)) Fixes the missing space between name and user name on system messages + +- ([#32007](https://github.com/RocketChat/Rocket.Chat/pull/32007)) This PR have made enhancements to the select and multiselect inputs related to Omnichannel Departments, now the options properly display the complete department names, ensuring clarity for users and added text wrapping for long department names, enhancing readability and UX. + +- ([#32221](https://github.com/RocketChat/Rocket.Chat/pull/32221)) Fixed an issue where an endpoint was called before checking configuration that enables automatic translation when launching the application + +- ([#32230](https://github.com/RocketChat/Rocket.Chat/pull/32230)) Fixed a problem that caused OTR Session messages' to not being transmitted from one peer to another when running Rocket.Chat as microservices. This was caused by a legacy streamer that tried to use the websocket directly, which works on monolith but doesn't on microservices, cause these events are routed through DDP Streamer service. + +- ([#32021](https://github.com/RocketChat/Rocket.Chat/pull/32021)) Fixed duplicate API calls during livechat room forwarding by adding loading state for submit button + +- ([#32123](https://github.com/RocketChat/Rocket.Chat/pull/32123)) fixed search room not showing the new name room name changes + +- ([#30309](https://github.com/RocketChat/Rocket.Chat/pull/30309)) 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. + +- ([#32172](https://github.com/RocketChat/Rocket.Chat/pull/32172)) Fixes an issue where message reactions are vertically misaligned when zooming out + +- ([#32062](https://github.com/RocketChat/Rocket.Chat/pull/32062)) Fixed an issue where old exports would get overwritten by new ones if generated on the same day, when using external storage services (such as Amazon S3) + +-
Updated dependencies [845fd64f45, c47a8e3514, 9a6a7d0a40, da45cb6998, 845fd64f45, 9902554388, 8b0986d15a, 4aba7c8a26, c4e58afd8b, c9a92e6ea2, c0d54d742a]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/i18n@0.3.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/ui-contexts@6.0.0-rc.0 + - @rocket.chat/api-client@0.1.30-rc.0 + - @rocket.chat/omnichannel-services@0.1.12-rc.0 + - @rocket.chat/presence@0.1.12-rc.0 + - @rocket.chat/license@0.1.12-rc.0 + - @rocket.chat/pdf-worker@0.0.36-rc.0 + - @rocket.chat/apps@0.0.3-rc.0 + - @rocket.chat/cron@0.0.32-rc.0 + - @rocket.chat/gazzodown@6.0.0-rc.0 + - @rocket.chat/web-ui-registration@6.0.0-rc.0 + - @rocket.chat/models@0.0.36-rc.0 + - @rocket.chat/base64@1.0.13 + - @rocket.chat/fuselage-ui-kit@6.0.0-rc.0 + - @rocket.chat/instance-status@0.0.36-rc.0 + - @rocket.chat/message-parser@0.31.29 + - @rocket.chat/random@1.2.2 + - @rocket.chat/sha256@1.0.10 + - @rocket.chat/ui-composer@0.1.0 + - @rocket.chat/ui-kit@0.33.0 + - @rocket.chat/ui-video-conf@6.0.0-rc.0 + - @rocket.chat/ui-theming@0.1.2 + - @rocket.chat/ui-avatar@2.0.0-rc.0 + - @rocket.chat/ui-client@6.0.0-rc.0 + - @rocket.chat/server-cloud-communication@0.0.2 +
+ ## 6.7.0 ### Minor Changes diff --git a/apps/meteor/app/utils/rocketchat.info b/apps/meteor/app/utils/rocketchat.info index 4eb357fe9ee6a..3602aa8e8c62a 100644 --- a/apps/meteor/app/utils/rocketchat.info +++ b/apps/meteor/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "6.8.0-develop" + "version": "6.8.0-rc.0" } diff --git a/apps/meteor/ee/server/services/CHANGELOG.md b/apps/meteor/ee/server/services/CHANGELOG.md index 966816673607c..aa3e1a3458944 100644 --- a/apps/meteor/ee/server/services/CHANGELOG.md +++ b/apps/meteor/ee/server/services/CHANGELOG.md @@ -1,5 +1,20 @@ # rocketchat-services +## 1.1.30-rc.0 + +### Patch Changes + +-
Updated dependencies [845fd64f45, c47a8e3514, 9a6a7d0a40, da45cb6998, 845fd64f45, 9902554388, 8b0986d15a, 4aba7c8a26]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/models@0.0.36-rc.0 + - @rocket.chat/message-parser@0.31.29 + - @rocket.chat/ui-kit@0.33.0 +
+ ## 1.1.29 ### Patch Changes diff --git a/apps/meteor/ee/server/services/package.json b/apps/meteor/ee/server/services/package.json index 9489b8c38dc77..61aaf6f18d133 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.29", + "version": "1.1.30-rc.0", "description": "Rocket.Chat Authorization service", "main": "index.js", "scripts": { diff --git a/apps/meteor/package.json b/apps/meteor/package.json index 34a7e6f0abd53..dab3ea4062f90 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.8.0-develop", + "version": "6.8.0-rc.0", "private": true, "author": { "name": "Rocket.Chat", diff --git a/ee/apps/account-service/CHANGELOG.md b/ee/apps/account-service/CHANGELOG.md index 017384809422d..6c29141a375a2 100644 --- a/ee/apps/account-service/CHANGELOG.md +++ b/ee/apps/account-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/account-service +## 0.3.12-rc.0 + +### Patch Changes + +-
Updated dependencies [845fd64f45, c47a8e3514, 9a6a7d0a40, da45cb6998, 845fd64f45, 9902554388, 8b0986d15a, 4aba7c8a26]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/models@0.0.36-rc.0 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/account-service/package.json b/ee/apps/account-service/package.json index 7447165627479..35ec83099ae79 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.3.11", + "version": "0.3.12-rc.0", "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 c9047e496e164..5311cb14dbe90 100644 --- a/ee/apps/authorization-service/CHANGELOG.md +++ b/ee/apps/authorization-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/authorization-service +## 0.3.12-rc.0 + +### Patch Changes + +-
Updated dependencies [845fd64f45, c47a8e3514, 9a6a7d0a40, da45cb6998, 845fd64f45, 9902554388, 8b0986d15a, 4aba7c8a26]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/models@0.0.36-rc.0 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/authorization-service/package.json b/ee/apps/authorization-service/package.json index 0de0f7d7a1221..d8d2885dea804 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.3.11", + "version": "0.3.12-rc.0", "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 34e7443ac584a..4d7fd7ecc5be2 100644 --- a/ee/apps/ddp-streamer/CHANGELOG.md +++ b/ee/apps/ddp-streamer/CHANGELOG.md @@ -1,5 +1,20 @@ # @rocket.chat/ddp-streamer +## 0.2.11-rc.0 + +### Patch Changes + +-
Updated dependencies [845fd64f45, c47a8e3514, 9a6a7d0a40, da45cb6998, 845fd64f45, 9902554388, 8b0986d15a, 4aba7c8a26, c0d54d742a]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/ui-contexts@6.0.0-rc.0 + - @rocket.chat/models@0.0.36-rc.0 + - @rocket.chat/instance-status@0.0.36-rc.0 +
+ ## 0.2.10 ### Patch Changes diff --git a/ee/apps/ddp-streamer/package.json b/ee/apps/ddp-streamer/package.json index a8712fac594f3..e0539a52a9e79 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.2.10", + "version": "0.2.11-rc.0", "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 51db145fa361d..9ca724840d7c8 100644 --- a/ee/apps/omnichannel-transcript/CHANGELOG.md +++ b/ee/apps/omnichannel-transcript/CHANGELOG.md @@ -1,5 +1,19 @@ # @rocket.chat/omnichannel-transcript +## 0.3.12-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, da45cb6998, 8b0986d15a, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/omnichannel-services@0.1.12-rc.0 + - @rocket.chat/pdf-worker@0.0.36-rc.0 + - @rocket.chat/models@0.0.36-rc.0 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/omnichannel-transcript/package.json b/ee/apps/omnichannel-transcript/package.json index 1faf7dfdb7a62..d741f3d818a23 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.3.11", + "version": "0.3.12-rc.0", "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 102639ec91182..7246ebe6644d8 100644 --- a/ee/apps/presence-service/CHANGELOG.md +++ b/ee/apps/presence-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/presence-service +## 0.3.12-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, da45cb6998, 8b0986d15a, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/presence@0.1.12-rc.0 + - @rocket.chat/models@0.0.36-rc.0 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/presence-service/package.json b/ee/apps/presence-service/package.json index ce392ee44b55c..d4ea868fba27d 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.3.11", + "version": "0.3.12-rc.0", "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 8d3d8cc3da604..3fc8a38cd48b3 100644 --- a/ee/apps/queue-worker/CHANGELOG.md +++ b/ee/apps/queue-worker/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/queue-worker +## 0.3.12-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, da45cb6998, 8b0986d15a, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/omnichannel-services@0.1.12-rc.0 + - @rocket.chat/models@0.0.36-rc.0 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/queue-worker/package.json b/ee/apps/queue-worker/package.json index 6680badf28cef..df2bd2ce982e0 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.3.11", + "version": "0.3.12-rc.0", "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 78189f572b3ca..fd31c893ace6b 100644 --- a/ee/apps/stream-hub-service/CHANGELOG.md +++ b/ee/apps/stream-hub-service/CHANGELOG.md @@ -1,5 +1,17 @@ # @rocket.chat/stream-hub-service +## 0.3.12-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, da45cb6998, 8b0986d15a, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/models@0.0.36-rc.0 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/stream-hub-service/package.json b/ee/apps/stream-hub-service/package.json index a1b39dc33989f..0b9f35c5bd1d6 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.3.11", + "version": "0.3.12-rc.0", "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 c68a45f7d9870..1c77e6c0919d1 100644 --- a/ee/packages/api-client/CHANGELOG.md +++ b/ee/packages/api-client/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/api-client +## 0.1.30-rc.0 + +### Patch Changes + +-
Updated dependencies [845fd64f45, c47a8e3514, 9a6a7d0a40, 845fd64f45, 9902554388, 4aba7c8a26]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/core-typings@6.8.0-rc.0 +
+ ## 0.1.29 ### Patch Changes diff --git a/ee/packages/api-client/package.json b/ee/packages/api-client/package.json index e4b86aca8b11f..4a35315d439db 100644 --- a/ee/packages/api-client/package.json +++ b/ee/packages/api-client/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/api-client", "private": true, - "version": "0.1.29", + "version": "0.1.30-rc.0", "devDependencies": { "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", diff --git a/ee/packages/ddp-client/CHANGELOG.md b/ee/packages/ddp-client/CHANGELOG.md index 49d1781fe6ee7..4437fe2e55a7c 100644 --- a/ee/packages/ddp-client/CHANGELOG.md +++ b/ee/packages/ddp-client/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/ddp-client +## 0.2.21-rc.0 + +### Patch Changes + +-
Updated dependencies [845fd64f45, 9a6a7d0a40, 845fd64f45, 9902554388]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/api-client@0.1.30-rc.0 +
+ ## 0.2.20 ### Patch Changes diff --git a/ee/packages/ddp-client/package.json b/ee/packages/ddp-client/package.json index a4c109206eced..dbf333bb607ed 100644 --- a/ee/packages/ddp-client/package.json +++ b/ee/packages/ddp-client/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/ddp-client", "private": true, - "version": "0.2.20", + "version": "0.2.21-rc.0", "devDependencies": { "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", diff --git a/ee/packages/license/CHANGELOG.md b/ee/packages/license/CHANGELOG.md index 24b6267470036..667237808b56d 100644 --- a/ee/packages/license/CHANGELOG.md +++ b/ee/packages/license/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/license +## 0.1.12-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 +
+ ## 0.1.11 ### Patch Changes diff --git a/ee/packages/license/package.json b/ee/packages/license/package.json index 12f445a3c2bf4..46e06459c9c0a 100644 --- a/ee/packages/license/package.json +++ b/ee/packages/license/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/license", - "version": "0.1.11", + "version": "0.1.12-rc.0", "private": true, "devDependencies": { "@swc/core": "^1.3.95", diff --git a/ee/packages/omnichannel-services/CHANGELOG.md b/ee/packages/omnichannel-services/CHANGELOG.md index 5f6ee26e998a4..dcf3a860cef89 100644 --- a/ee/packages/omnichannel-services/CHANGELOG.md +++ b/ee/packages/omnichannel-services/CHANGELOG.md @@ -1,5 +1,19 @@ # @rocket.chat/omnichannel-services +## 0.1.12-rc.0 + +### Patch Changes + +-
Updated dependencies [845fd64f45, c47a8e3514, 9a6a7d0a40, da45cb6998, 845fd64f45, 9902554388, 8b0986d15a, 4aba7c8a26]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/pdf-worker@0.0.36-rc.0 + - @rocket.chat/models@0.0.36-rc.0 +
+ ## 0.1.11 ### Patch Changes diff --git a/ee/packages/omnichannel-services/package.json b/ee/packages/omnichannel-services/package.json index 7cf623ed02fb4..17d68083fc6bd 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.1.11", + "version": "0.1.12-rc.0", "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 845c1e1cc08dd..5b7ae20318568 100644 --- a/ee/packages/pdf-worker/CHANGELOG.md +++ b/ee/packages/pdf-worker/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/pdf-worker +## 0.0.36-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 +
+ ## 0.0.35 ### Patch Changes diff --git a/ee/packages/pdf-worker/package.json b/ee/packages/pdf-worker/package.json index f2be21dcb1f70..404c690cfe31c 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.35", + "version": "0.0.36-rc.0", "private": true, "devDependencies": { "@storybook/addon-essentials": "~6.5.16", diff --git a/ee/packages/presence/CHANGELOG.md b/ee/packages/presence/CHANGELOG.md index a57ccdc48acc8..53bc70b7284b3 100644 --- a/ee/packages/presence/CHANGELOG.md +++ b/ee/packages/presence/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/presence +## 0.1.12-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, 8b0986d15a, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/core-services@0.3.12-rc.0 + - @rocket.chat/models@0.0.36-rc.0 +
+ ## 0.1.11 ### Patch Changes diff --git a/ee/packages/presence/package.json b/ee/packages/presence/package.json index 085beb9678363..7d46f42116e95 100644 --- a/ee/packages/presence/package.json +++ b/ee/packages/presence/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/presence", - "version": "0.1.11", + "version": "0.1.12-rc.0", "private": true, "devDependencies": { "@babel/core": "~7.22.20", diff --git a/package.json b/package.json index 240e1a9a1e02e..e7f6d69a5ab81 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rocket.chat", - "version": "6.8.0-develop", + "version": "6.8.0-rc.0", "description": "Rocket.Chat Monorepo", "main": "index.js", "private": true, diff --git a/packages/apps/CHANGELOG.md b/packages/apps/CHANGELOG.md index a0fc75d71f17c..099b27a80c99b 100644 --- a/packages/apps/CHANGELOG.md +++ b/packages/apps/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/apps +## 0.0.3-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, da45cb6998, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/model-typings@0.4.0-rc.0 +
+ ## 0.0.2 ### Patch Changes diff --git a/packages/apps/package.json b/packages/apps/package.json index 0d47f6b527797..f1a9b4701a1e3 100644 --- a/packages/apps/package.json +++ b/packages/apps/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/apps", - "version": "0.0.2", + "version": "0.0.3-rc.0", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/core-services/CHANGELOG.md b/packages/core-services/CHANGELOG.md index 38367ca4f490d..d4b24e41d0a42 100644 --- a/packages/core-services/CHANGELOG.md +++ b/packages/core-services/CHANGELOG.md @@ -1,5 +1,20 @@ # @rocket.chat/core-services +## 0.3.12-rc.0 + +### Patch Changes + +- ([#32230](https://github.com/RocketChat/Rocket.Chat/pull/32230)) Fixed a problem that caused OTR Session messages' to not being transmitted from one peer to another when running Rocket.Chat as microservices. This was caused by a legacy streamer that tried to use the websocket directly, which works on monolith but doesn't on microservices, cause these events are routed through DDP Streamer service. + +-
Updated dependencies [845fd64f45, c47a8e3514, 9a6a7d0a40, 845fd64f45, 9902554388, 4aba7c8a26]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/models@0.0.36-rc.0 + - @rocket.chat/message-parser@0.31.29 + - @rocket.chat/ui-kit@0.33.0 +
+ ## 0.3.11 ### Patch Changes diff --git a/packages/core-services/package.json b/packages/core-services/package.json index 8e27b3d2306fe..95f1ca9d4871c 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/core-services", - "version": "0.3.11", + "version": "0.3.12-rc.0", "private": true, "devDependencies": { "@babel/core": "~7.22.20", diff --git a/packages/core-typings/CHANGELOG.md b/packages/core-typings/CHANGELOG.md index 82644fe33c63f..fe6a3407fcc7a 100644 --- a/packages/core-typings/CHANGELOG.md +++ b/packages/core-typings/CHANGELOG.md @@ -1,5 +1,22 @@ # @rocket.chat/core-typings +## 6.8.0-rc.0 + +### Minor Changes + +- ([#32224](https://github.com/RocketChat/Rocket.Chat/pull/32224)) Allow Custom Fields in Messages. API-only feature. It can be enabled and configured in Workspace Settings. + +- ([#31976](https://github.com/RocketChat/Rocket.Chat/pull/31976)) Added support for allowing agents to forward inquiries to departments that may not have any online agents given that `Allow department to receive forwarded inquiries even when there's no available agents` is set to `true` in the department configuration. + This configuration empowers agents to seamlessly direct incoming requests to the designated department, ensuring efficient handling of queries even when departmental resources are not actively online. When an agent becomes available, any pending inquiries will be automatically routed to them if the routing algorithm supports it. + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/message-parser@0.31.29 + - @rocket.chat/ui-kit@0.33.0 +
+ ## 6.7.0 ### Minor Changes diff --git a/packages/core-typings/package.json b/packages/core-typings/package.json index c0165e9e3c9fe..12be4246906e9 100644 --- a/packages/core-typings/package.json +++ b/packages/core-typings/package.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/package", "name": "@rocket.chat/core-typings", "private": true, - "version": "6.8.0-develop", + "version": "6.8.0-rc.0", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "eslint": "~8.45.0", diff --git a/packages/cron/CHANGELOG.md b/packages/cron/CHANGELOG.md index 45ca17fa2b60a..989a5e267807c 100644 --- a/packages/cron/CHANGELOG.md +++ b/packages/cron/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/cron +## 0.0.32-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/models@0.0.36-rc.0 + - @rocket.chat/random@1.2.2 +
+ ## 0.0.31 ### Patch Changes diff --git a/packages/cron/package.json b/packages/cron/package.json index c488ad9fec86c..03da88ff9cb85 100644 --- a/packages/cron/package.json +++ b/packages/cron/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/cron", - "version": "0.0.31", + "version": "0.0.32-rc.0", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/eslint-config/CHANGELOG.md b/packages/eslint-config/CHANGELOG.md index fb54144e0a25c..2f087c74bf2db 100644 --- a/packages/eslint-config/CHANGELOG.md +++ b/packages/eslint-config/CHANGELOG.md @@ -1,5 +1,11 @@ # @rocket.chat/eslint-config +## 0.7.0-rc.0 + +### Minor Changes + +- Adds eslint-plugin-jsx-a11y plugin to eslint react config + ## 0.6.2 ### Patch Changes diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index a500dc9bb04fd..6fda0633422e5 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/eslint-config", - "version": "0.6.2", + "version": "0.7.0-rc.0", "description": "Rocket.Chat's JS/TS ESLint config", "dependencies": { "@babel/core": "^7.20.7", diff --git a/packages/fuselage-ui-kit/CHANGELOG.md b/packages/fuselage-ui-kit/CHANGELOG.md index 04e5065867ea7..4bf2c576bbdd8 100644 --- a/packages/fuselage-ui-kit/CHANGELOG.md +++ b/packages/fuselage-ui-kit/CHANGELOG.md @@ -1,5 +1,19 @@ # Change Log +## 6.0.0-rc.0 + +### Patch Changes + +-
Updated dependencies [b7f5035442, c0d54d742a]: + + - @rocket.chat/eslint-config@0.7.0-rc.0 + - @rocket.chat/ui-contexts@6.0.0-rc.0 + - @rocket.chat/gazzodown@6.0.0-rc.0 + - @rocket.chat/ui-kit@0.33.0 + - @rocket.chat/ui-video-conf@6.0.0-rc.0 + - @rocket.chat/ui-avatar@2.0.0-rc.0 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index d7874d5dd145e..5989f3dddb247 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": "5.0.0", + "version": "6.0.0-rc.0", "description": "UiKit elements for Rocket.Chat Apps built under Fuselage design system", "homepage": "https://rocketchat.github.io/Rocket.Chat.Fuselage/", "author": { @@ -42,17 +42,17 @@ }, "peerDependencies": { "@rocket.chat/apps-engine": "*", - "@rocket.chat/eslint-config": "0.6.2", + "@rocket.chat/eslint-config": "0.7.0-rc.0", "@rocket.chat/fuselage": "*", "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/fuselage-polyfills": "*", "@rocket.chat/icons": "*", "@rocket.chat/prettier-config": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-avatar": "1.0.0", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-avatar": "2.0.0-rc.0", + "@rocket.chat/ui-contexts": "6.0.0-rc.0", "@rocket.chat/ui-kit": "0.33.0", - "@rocket.chat/ui-video-conf": "5.0.0", + "@rocket.chat/ui-video-conf": "6.0.0-rc.0", "@tanstack/react-query": "*", "react": "*", "react-dom": "*" diff --git a/packages/gazzodown/CHANGELOG.md b/packages/gazzodown/CHANGELOG.md index 5d0b8cc039997..f4c9f4b30d816 100644 --- a/packages/gazzodown/CHANGELOG.md +++ b/packages/gazzodown/CHANGELOG.md @@ -1,5 +1,17 @@ # @rocket.chat/gazzodown +## 6.0.0-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, 4aba7c8a26, c0d54d742a]: + + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/ui-contexts@6.0.0-rc.0 + - @rocket.chat/message-parser@0.31.29 + - @rocket.chat/ui-client@6.0.0-rc.0 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json index 5128f28417307..cd2c0c8427573 100644 --- a/packages/gazzodown/package.json +++ b/packages/gazzodown/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/gazzodown", - "version": "5.0.0", + "version": "6.0.0-rc.0", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -71,8 +71,8 @@ "@rocket.chat/fuselage-tokens": "*", "@rocket.chat/message-parser": "0.31.29", "@rocket.chat/styled": "*", - "@rocket.chat/ui-client": "5.0.0", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-client": "6.0.0-rc.0", + "@rocket.chat/ui-contexts": "6.0.0-rc.0", "katex": "*", "react": "*" }, diff --git a/packages/i18n/CHANGELOG.md b/packages/i18n/CHANGELOG.md index 6aafebe153acf..8641686832364 100644 --- a/packages/i18n/CHANGELOG.md +++ b/packages/i18n/CHANGELOG.md @@ -1,5 +1,19 @@ # @rocket.chat/i18n +## 0.3.0-rc.0 + +### Minor Changes + +- ([#32224](https://github.com/RocketChat/Rocket.Chat/pull/32224)) Allow Custom Fields in Messages. API-only feature. It can be enabled and configured in Workspace Settings. + +- ([#32084](https://github.com/RocketChat/Rocket.Chat/pull/32084)) Added a new setting to automatically disable users from LDAP that can no longer be found by the background sync + +- ([#31976](https://github.com/RocketChat/Rocket.Chat/pull/31976)) Added support for allowing agents to forward inquiries to departments that may not have any online agents given that `Allow department to receive forwarded inquiries even when there's no available agents` is set to `true` in the department configuration. + This configuration empowers agents to seamlessly direct incoming requests to the designated department, ensuring efficient handling of queries even when departmental resources are not actively online. When an agent becomes available, any pending inquiries will be automatically routed to them if the routing algorithm supports it. +- ([#32173](https://github.com/RocketChat/Rocket.Chat/pull/32173)) Added "Enable Users" option under "Sync User Active State" LDAP setting to allow only re-enabling users found on LDAP background sync + +- ([#32055](https://github.com/RocketChat/Rocket.Chat/pull/32055)) feat: `ConnectionStatusBar` redesign + ## 0.2.0 ### Minor Changes diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 99257692b0572..982026d4822a0 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/i18n", - "version": "0.2.0", + "version": "0.3.0-rc.0", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -25,7 +25,6 @@ "/dist" ], "type": "module", - "volta": { "extends": "../../package.json" } diff --git a/packages/instance-status/CHANGELOG.md b/packages/instance-status/CHANGELOG.md index 90fd606da8ef3..7dc77aa57ccb3 100644 --- a/packages/instance-status/CHANGELOG.md +++ b/packages/instance-status/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/instance-status +## 0.0.36-rc.0 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/models@0.0.36-rc.0 +
+ ## 0.0.35 ### Patch Changes diff --git a/packages/instance-status/package.json b/packages/instance-status/package.json index b931d7ac2a634..0ba820a910f40 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.35", + "version": "0.0.36-rc.0", "private": true, "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", diff --git a/packages/livechat/CHANGELOG.md b/packages/livechat/CHANGELOG.md index 46068fc95465f..a3540f0c12b44 100644 --- a/packages/livechat/CHANGELOG.md +++ b/packages/livechat/CHANGELOG.md @@ -1,5 +1,23 @@ # @rocket.chat/livechat Change Log +## 1.15.1-rc.0 + +### Patch Changes + +- ([#31765](https://github.com/RocketChat/Rocket.Chat/pull/31765)) Fixes the livechat client ignoring the `livechat_fileuploads_enabled` setting when uploading files + +- ([#32069](https://github.com/RocketChat/Rocket.Chat/pull/32069)) Livechat: A registered user loses their messages if 'registerGuest' is called using the same token. + +- ([#32135](https://github.com/RocketChat/Rocket.Chat/pull/32135)) Fixes issue causing a desync in different browser windows when a chat is closed and started again + +-
Updated dependencies []: + + - @rocket.chat/gazzodown@6.0.0-rc.0 + - @rocket.chat/message-parser@0.31.29 + - @rocket.chat/random@1.2.2 + - @rocket.chat/ui-kit@0.33.0 +
+ ## 1.15.0 ### Minor Changes diff --git a/packages/livechat/package.json b/packages/livechat/package.json index 677aeeab6aab3..769d63f72cba7 100644 --- a/packages/livechat/package.json +++ b/packages/livechat/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/livechat", - "version": "1.15.0", + "version": "1.15.1-rc.0", "files": [ "/build" ], diff --git a/packages/mock-providers/CHANGELOG.md b/packages/mock-providers/CHANGELOG.md index edfee85c606c6..51ff3f29bfe09 100644 --- a/packages/mock-providers/CHANGELOG.md +++ b/packages/mock-providers/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/mock-providers +## 0.0.6-rc.0 + +### Patch Changes + +-
Updated dependencies [c47a8e3514, da45cb6998, 4aba7c8a26, c4e58afd8b, c9a92e6ea2]: + + - @rocket.chat/i18n@0.3.0-rc.0 +
+ ## 0.0.5 ### Patch Changes diff --git a/packages/mock-providers/package.json b/packages/mock-providers/package.json index 22821d8072cc2..90c90d1cdd6ad 100644 --- a/packages/mock-providers/package.json +++ b/packages/mock-providers/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/mock-providers", - "version": "0.0.5", + "version": "0.0.6-rc.0", "private": true, "dependencies": { "@rocket.chat/i18n": "workspace:~", diff --git a/packages/model-typings/CHANGELOG.md b/packages/model-typings/CHANGELOG.md index 94bd5aa4c36ab..203f77437251c 100644 --- a/packages/model-typings/CHANGELOG.md +++ b/packages/model-typings/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/model-typings +## 0.4.0-rc.0 + +### Minor Changes + +- ([#32084](https://github.com/RocketChat/Rocket.Chat/pull/32084)) Added a new setting to automatically disable users from LDAP that can no longer be found by the background sync + +### Patch Changes + +-
Updated dependencies [c47a8e3514, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 +
+ ## 0.3.7 ### Patch Changes diff --git a/packages/model-typings/package.json b/packages/model-typings/package.json index 08b9f358616e7..8c68b5e0db7e6 100644 --- a/packages/model-typings/package.json +++ b/packages/model-typings/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/model-typings", - "version": "0.3.7", + "version": "0.4.0-rc.0", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/models/CHANGELOG.md b/packages/models/CHANGELOG.md index 629d178433eea..46d4a34222af4 100644 --- a/packages/models/CHANGELOG.md +++ b/packages/models/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/models +## 0.0.36-rc.0 + +### Patch Changes + +-
Updated dependencies [da45cb6998]: + + - @rocket.chat/model-typings@0.4.0-rc.0 +
+ ## 0.0.35 ### Patch Changes diff --git a/packages/models/package.json b/packages/models/package.json index 204b60fd17c68..ab7c807ef49cb 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/models", - "version": "0.0.35", + "version": "0.0.36-rc.0", "private": true, "devDependencies": { "@swc/core": "^1.3.95", diff --git a/packages/release-action/CHANGELOG.md b/packages/release-action/CHANGELOG.md index 6b133954501f4..82e442e7c9b90 100644 --- a/packages/release-action/CHANGELOG.md +++ b/packages/release-action/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/release-action +## 2.2.3-rc.0 + +### Patch Changes + +-
Updated dependencies [b7f5035442]: + + - @rocket.chat/eslint-config@0.7.0-rc.0 +
+ ## 2.2.2 ### Patch Changes diff --git a/packages/release-action/package.json b/packages/release-action/package.json index 86f5c2d1cc15e..12c512a35bad8 100644 --- a/packages/release-action/package.json +++ b/packages/release-action/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/release-action", - "version": "2.2.2", + "version": "2.2.3-rc.0", "private": true, "scripts": { "build": "tsc", diff --git a/packages/rest-typings/CHANGELOG.md b/packages/rest-typings/CHANGELOG.md index cf6972b16a776..929e44b5b4df2 100644 --- a/packages/rest-typings/CHANGELOG.md +++ b/packages/rest-typings/CHANGELOG.md @@ -1,5 +1,26 @@ # @rocket.chat/rest-typings +## 6.8.0-rc.0 + +### Minor Changes + +- ([#31898](https://github.com/RocketChat/Rocket.Chat/pull/31898)) Created a new endpoint to get a filtered and paginated list of users. + +- ([#31811](https://github.com/RocketChat/Rocket.Chat/pull/31811)) Convert mute/unmute meteor methods to endpoints + +- ([#31898](https://github.com/RocketChat/Rocket.Chat/pull/31898)) Created a new endpoint to resend the welcome email to a given user + +### Patch Changes + +- ([#32141](https://github.com/RocketChat/Rocket.Chat/pull/32141)) Deprecate `channels.images` in favor of `rooms.images`. `Rooms` endpoints are more broad and should interact with all types of rooms. `Channels` on the other hand are specific to public channels. + This change is to keep the semantics and conventions of the endpoints +-
Updated dependencies [c47a8e3514, 4aba7c8a26]: + + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/message-parser@0.31.29 + - @rocket.chat/ui-kit@0.33.0 +
+ ## 6.7.0 ### Minor Changes diff --git a/packages/rest-typings/package.json b/packages/rest-typings/package.json index 78091b752a5b3..7c1dfabd02226 100644 --- a/packages/rest-typings/package.json +++ b/packages/rest-typings/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/rest-typings", "private": true, - "version": "6.8.0-develop", + "version": "6.8.0-rc.0", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "@types/jest": "~29.5.7", diff --git a/packages/ui-avatar/CHANGELOG.md b/packages/ui-avatar/CHANGELOG.md index 670b7628852e1..d2d18f0679a25 100644 --- a/packages/ui-avatar/CHANGELOG.md +++ b/packages/ui-avatar/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/ui-avatar +## 2.0.0-rc.0 + +### Patch Changes + +-
Updated dependencies [c0d54d742a]: + + - @rocket.chat/ui-contexts@6.0.0-rc.0 +
+ ## 1.0.0 ### Patch Changes diff --git a/packages/ui-avatar/package.json b/packages/ui-avatar/package.json index 4621e593c6e54..ff8d68c869e30 100644 --- a/packages/ui-avatar/package.json +++ b/packages/ui-avatar/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-avatar", - "version": "1.0.0", + "version": "2.0.0-rc.0", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -31,7 +31,7 @@ ], "peerDependencies": { "@rocket.chat/fuselage": "*", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-contexts": "6.0.0-rc.0", "react": "~17.0.2" }, "volta": { diff --git a/packages/ui-client/CHANGELOG.md b/packages/ui-client/CHANGELOG.md index ff46450f52775..eec4973c17a9e 100644 --- a/packages/ui-client/CHANGELOG.md +++ b/packages/ui-client/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/ui-client +## 6.0.0-rc.0 + +### Patch Changes + +-
Updated dependencies [c0d54d742a]: + + - @rocket.chat/ui-contexts@6.0.0-rc.0 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json index cc0a44c948066..e697244711931 100644 --- a/packages/ui-client/package.json +++ b/packages/ui-client/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-client", - "version": "5.0.0", + "version": "6.0.0-rc.0", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -63,7 +63,7 @@ "@rocket.chat/fuselage": "*", "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-contexts": "6.0.0-rc.0", "react": "~17.0.2" }, "volta": { diff --git a/packages/ui-contexts/CHANGELOG.md b/packages/ui-contexts/CHANGELOG.md index 027fa50a0086c..7f850d1b99cd5 100644 --- a/packages/ui-contexts/CHANGELOG.md +++ b/packages/ui-contexts/CHANGELOG.md @@ -1,5 +1,21 @@ # @rocket.chat/ui-contexts +## 6.0.0-rc.0 + +### Minor Changes + +- ([#32073](https://github.com/RocketChat/Rocket.Chat/pull/32073)) Fixed an issue affecting the update modal/contextual bar by apps when it comes to error handling and regular surface update + +### Patch Changes + +-
Updated dependencies [845fd64f45, c47a8e3514, 9a6a7d0a40, da45cb6998, 845fd64f45, 9902554388, 4aba7c8a26, c4e58afd8b, c9a92e6ea2]: + + - @rocket.chat/rest-typings@6.8.0-rc.0 + - @rocket.chat/core-typings@6.8.0-rc.0 + - @rocket.chat/i18n@0.3.0-rc.0 + - @rocket.chat/ddp-client@0.2.21-rc.0 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/ui-contexts/package.json b/packages/ui-contexts/package.json index 0306ac84cd427..2cf5f2691548c 100644 --- a/packages/ui-contexts/package.json +++ b/packages/ui-contexts/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-contexts", - "version": "5.0.0", + "version": "6.0.0-rc.0", "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 e36b49a9fd716..22953bc43974b 100644 --- a/packages/ui-video-conf/CHANGELOG.md +++ b/packages/ui-video-conf/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/ui-video-conf +## 6.0.0-rc.0 + +### Patch Changes + +-
Updated dependencies [c0d54d742a]: + + - @rocket.chat/ui-contexts@6.0.0-rc.0 + - @rocket.chat/ui-avatar@2.0.0-rc.0 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json index 44e96dda7de9e..ff911391ef6be 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": "5.0.0", + "version": "6.0.0-rc.0", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -36,8 +36,8 @@ "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-avatar": "1.0.0", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-avatar": "2.0.0-rc.0", + "@rocket.chat/ui-contexts": "6.0.0-rc.0", "react": "^17.0.2", "react-dom": "^17.0.2" }, diff --git a/packages/uikit-playground/CHANGELOG.md b/packages/uikit-playground/CHANGELOG.md index 47111a99bc121..a3c79ea8b70a1 100644 --- a/packages/uikit-playground/CHANGELOG.md +++ b/packages/uikit-playground/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/uikit-playground +## 0.2.21-rc.0 + +### Patch Changes + +-
Updated dependencies [c0d54d742a]: + + - @rocket.chat/ui-contexts@6.0.0-rc.0 + - @rocket.chat/fuselage-ui-kit@6.0.0-rc.0 + - @rocket.chat/ui-avatar@2.0.0-rc.0 +
+ ## 0.2.20 ### Patch Changes diff --git a/packages/uikit-playground/package.json b/packages/uikit-playground/package.json index f4646e3d3eb17..a4ec44829d921 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.2.20", + "version": "0.2.21-rc.0", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/web-ui-registration/CHANGELOG.md b/packages/web-ui-registration/CHANGELOG.md index 1894b3f7de5e0..87f46ed5c90d6 100644 --- a/packages/web-ui-registration/CHANGELOG.md +++ b/packages/web-ui-registration/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/web-ui-registration +## 6.0.0-rc.0 + +### Patch Changes + +-
Updated dependencies [c0d54d742a]: + + - @rocket.chat/ui-contexts@6.0.0-rc.0 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/web-ui-registration/package.json b/packages/web-ui-registration/package.json index 7c64fccb9b9c9..d744bb46d595a 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": "5.0.0", + "version": "6.0.0-rc.0", "private": true, "homepage": "https://rocket.chat", "main": "./dist/index.js", @@ -51,7 +51,7 @@ "peerDependencies": { "@rocket.chat/layout": "*", "@rocket.chat/tools": "0.2.1", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-contexts": "6.0.0-rc.0", "@tanstack/react-query": "*", "react": "*", "react-hook-form": "*", From f8823622ed4beccba4e119c4ea5960d55acad93e Mon Sep 17 00:00:00 2001 From: rocketchat-github-ci Date: Wed, 24 Apr 2024 00:32:17 +0000 Subject: [PATCH 011/185] Release 6.7.1 [no ci] --- .changeset/bump-patch-1713300687976.md | 5 -- .changeset/chilly-glasses-sin.md | 5 -- .changeset/eleven-seas-explain.md | 5 -- .changeset/green-ways-tie.md | 5 -- .changeset/shaggy-yaks-train.md | 5 -- .changeset/sharp-yaks-turn.md | 5 -- .changeset/thin-peaches-own.md | 5 -- apps/meteor/CHANGELOG.md | 46 +++++++++++++++++++ apps/meteor/app/utils/rocketchat.info | 2 +- apps/meteor/ee/server/services/CHANGELOG.md | 13 ++++++ apps/meteor/ee/server/services/package.json | 2 +- apps/meteor/package.json | 2 +- ee/apps/account-service/CHANGELOG.md | 13 ++++++ ee/apps/account-service/package.json | 2 +- ee/apps/authorization-service/CHANGELOG.md | 13 ++++++ ee/apps/authorization-service/package.json | 2 +- ee/apps/ddp-streamer/CHANGELOG.md | 15 ++++++ ee/apps/ddp-streamer/package.json | 2 +- ee/apps/omnichannel-transcript/CHANGELOG.md | 14 ++++++ ee/apps/omnichannel-transcript/package.json | 2 +- ee/apps/presence-service/CHANGELOG.md | 13 ++++++ ee/apps/presence-service/package.json | 2 +- ee/apps/queue-worker/CHANGELOG.md | 13 ++++++ ee/apps/queue-worker/package.json | 2 +- ee/apps/stream-hub-service/CHANGELOG.md | 12 +++++ ee/apps/stream-hub-service/package.json | 2 +- ee/packages/api-client/CHANGELOG.md | 10 ++++ ee/packages/api-client/package.json | 2 +- ee/packages/ddp-client/CHANGELOG.md | 10 ++++ ee/packages/ddp-client/package.json | 2 +- ee/packages/license/CHANGELOG.md | 9 ++++ ee/packages/license/package.json | 2 +- ee/packages/omnichannel-services/CHANGELOG.md | 14 ++++++ ee/packages/omnichannel-services/package.json | 2 +- ee/packages/pdf-worker/CHANGELOG.md | 9 ++++ ee/packages/pdf-worker/package.json | 2 +- ee/packages/presence/CHANGELOG.md | 11 +++++ ee/packages/presence/package.json | 2 +- package.json | 2 +- packages/apps/CHANGELOG.md | 10 ++++ packages/apps/package.json | 2 +- packages/core-services/CHANGELOG.md | 11 +++++ packages/core-services/package.json | 2 +- packages/core-typings/CHANGELOG.md | 2 + packages/core-typings/package.json | 2 +- packages/cron/CHANGELOG.md | 10 ++++ packages/cron/package.json | 2 +- packages/fuselage-ui-kit/CHANGELOG.md | 12 +++++ packages/fuselage-ui-kit/package.json | 8 ++-- packages/gazzodown/CHANGELOG.md | 11 +++++ packages/gazzodown/package.json | 6 +-- packages/instance-status/CHANGELOG.md | 9 ++++ packages/instance-status/package.json | 2 +- packages/livechat/CHANGELOG.md | 9 ++++ packages/livechat/package.json | 2 +- packages/model-typings/CHANGELOG.md | 9 ++++ packages/model-typings/package.json | 2 +- packages/models/CHANGELOG.md | 9 ++++ packages/models/package.json | 2 +- packages/rest-typings/CHANGELOG.md | 9 ++++ packages/rest-typings/package.json | 2 +- packages/ui-avatar/CHANGELOG.md | 9 ++++ packages/ui-avatar/package.json | 4 +- packages/ui-client/CHANGELOG.md | 9 ++++ packages/ui-client/package.json | 4 +- packages/ui-contexts/CHANGELOG.md | 11 +++++ packages/ui-contexts/package.json | 2 +- packages/ui-video-conf/CHANGELOG.md | 10 ++++ packages/ui-video-conf/package.json | 6 +-- packages/uikit-playground/CHANGELOG.md | 11 +++++ packages/uikit-playground/package.json | 2 +- packages/web-ui-registration/CHANGELOG.md | 9 ++++ packages/web-ui-registration/package.json | 4 +- 73 files changed, 419 insertions(+), 79 deletions(-) delete mode 100644 .changeset/bump-patch-1713300687976.md delete mode 100644 .changeset/chilly-glasses-sin.md delete mode 100644 .changeset/eleven-seas-explain.md delete mode 100644 .changeset/green-ways-tie.md delete mode 100644 .changeset/shaggy-yaks-train.md delete mode 100644 .changeset/sharp-yaks-turn.md delete mode 100644 .changeset/thin-peaches-own.md diff --git a/.changeset/bump-patch-1713300687976.md b/.changeset/bump-patch-1713300687976.md deleted file mode 100644 index e1eaa7980afb1..0000000000000 --- a/.changeset/bump-patch-1713300687976.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Bump @rocket.chat/meteor version. diff --git a/.changeset/chilly-glasses-sin.md b/.changeset/chilly-glasses-sin.md deleted file mode 100644 index 3ff7f1ef1c1ff..0000000000000 --- a/.changeset/chilly-glasses-sin.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@rocket.chat/meteor": patch ---- - -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 diff --git a/.changeset/eleven-seas-explain.md b/.changeset/eleven-seas-explain.md deleted file mode 100644 index a41d2fbc625d1..0000000000000 --- a/.changeset/eleven-seas-explain.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Fixes an issue that forces the focus on the last message when interacting by mouse on message list diff --git a/.changeset/green-ways-tie.md b/.changeset/green-ways-tie.md deleted file mode 100644 index 73a334fd32a08..0000000000000 --- a/.changeset/green-ways-tie.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@rocket.chat/meteor": patch ---- - -Fixed open expanded view (galery mode) for image attachments sent by livechat widget diff --git a/.changeset/shaggy-yaks-train.md b/.changeset/shaggy-yaks-train.md deleted file mode 100644 index 1dbc97b48228a..0000000000000 --- a/.changeset/shaggy-yaks-train.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@rocket.chat/meteor": patch ---- - -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"`. diff --git a/.changeset/sharp-yaks-turn.md b/.changeset/sharp-yaks-turn.md deleted file mode 100644 index 7c05bf5a3b0ec..0000000000000 --- a/.changeset/sharp-yaks-turn.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@rocket.chat/meteor": patch ---- - -Fixed supported versions not being updated in airgapped environments diff --git a/.changeset/thin-peaches-own.md b/.changeset/thin-peaches-own.md deleted file mode 100644 index b002e2f774c24..0000000000000 --- a/.changeset/thin-peaches-own.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Fixes an issue where message reactions are vertically misaligned when zooming out diff --git a/apps/meteor/CHANGELOG.md b/apps/meteor/CHANGELOG.md index f44de4f5450ff..e6416fc0b0392 100644 --- a/apps/meteor/CHANGELOG.md +++ b/apps/meteor/CHANGELOG.md @@ -1,5 +1,51 @@ # @rocket.chat/meteor +## 6.7.1 + +### Patch Changes + +- Bump @rocket.chat/meteor version. + +- Bump @rocket.chat/meteor version. + +- ([#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 + +- ([#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 + +- ([#32256](https://github.com/RocketChat/Rocket.Chat/pull/32256)) Fixed open expanded view (galery mode) for image attachments sent by livechat widget + +- ([#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"`. + +- ([#32265](https://github.com/RocketChat/Rocket.Chat/pull/32265)) Fixed supported versions not being updated in airgapped environments + +- ([#32251](https://github.com/RocketChat/Rocket.Chat/pull/32251)) Fixes an issue where message reactions are vertically misaligned when zooming out + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/rest-typings@6.7.1 + - @rocket.chat/api-client@0.1.30 + - @rocket.chat/license@0.1.12 + - @rocket.chat/omnichannel-services@0.1.12 + - @rocket.chat/pdf-worker@0.0.36 + - @rocket.chat/presence@0.1.12 + - @rocket.chat/apps@0.0.3 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/cron@0.0.32 + - @rocket.chat/gazzodown@5.0.1 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/ui-contexts@5.0.1 + - @rocket.chat/server-cloud-communication@0.0.2 + - @rocket.chat/fuselage-ui-kit@5.0.1 + - @rocket.chat/models@0.0.36 + - @rocket.chat/ui-theming@0.1.2 + - @rocket.chat/ui-avatar@1.0.1 + - @rocket.chat/ui-client@5.0.1 + - @rocket.chat/ui-video-conf@5.0.1 + - @rocket.chat/web-ui-registration@5.0.1 + - @rocket.chat/instance-status@0.0.36 +
+ ## 6.7.0 ### Minor Changes diff --git a/apps/meteor/app/utils/rocketchat.info b/apps/meteor/app/utils/rocketchat.info index 7ee34caccb3bb..1abc177f744dc 100644 --- a/apps/meteor/app/utils/rocketchat.info +++ b/apps/meteor/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "6.7.0" + "version": "6.7.1" } diff --git a/apps/meteor/ee/server/services/CHANGELOG.md b/apps/meteor/ee/server/services/CHANGELOG.md index 966816673607c..bcc52c1c3d927 100644 --- a/apps/meteor/ee/server/services/CHANGELOG.md +++ b/apps/meteor/ee/server/services/CHANGELOG.md @@ -1,5 +1,18 @@ # rocketchat-services +## 1.1.30 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/rest-typings@6.7.1 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/models@0.0.36 +
+ ## 1.1.29 ### Patch Changes diff --git a/apps/meteor/ee/server/services/package.json b/apps/meteor/ee/server/services/package.json index 9489b8c38dc77..f66c51d74b280 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.29", + "version": "1.1.30", "description": "Rocket.Chat Authorization service", "main": "index.js", "scripts": { diff --git a/apps/meteor/package.json b/apps/meteor/package.json index 3038889a60152..35878d71f5c52 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.7.0", + "version": "6.7.1", "private": true, "author": { "name": "Rocket.Chat", diff --git a/ee/apps/account-service/CHANGELOG.md b/ee/apps/account-service/CHANGELOG.md index 017384809422d..c4e97fc8dad8e 100644 --- a/ee/apps/account-service/CHANGELOG.md +++ b/ee/apps/account-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/account-service +## 0.3.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/rest-typings@6.7.1 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/models@0.0.36 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/account-service/package.json b/ee/apps/account-service/package.json index 7447165627479..b9d48f501fcc5 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.3.11", + "version": "0.3.12", "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 c9047e496e164..c63443e10bdf7 100644 --- a/ee/apps/authorization-service/CHANGELOG.md +++ b/ee/apps/authorization-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/authorization-service +## 0.3.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/rest-typings@6.7.1 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/models@0.0.36 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/authorization-service/package.json b/ee/apps/authorization-service/package.json index 0de0f7d7a1221..3ae981b6eb60b 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.3.11", + "version": "0.3.12", "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 34e7443ac584a..0f6fefba73773 100644 --- a/ee/apps/ddp-streamer/CHANGELOG.md +++ b/ee/apps/ddp-streamer/CHANGELOG.md @@ -1,5 +1,20 @@ # @rocket.chat/ddp-streamer +## 0.2.11 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/rest-typings@6.7.1 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/ui-contexts@5.0.1 + - @rocket.chat/models@0.0.36 + - @rocket.chat/instance-status@0.0.36 +
+ ## 0.2.10 ### Patch Changes diff --git a/ee/apps/ddp-streamer/package.json b/ee/apps/ddp-streamer/package.json index a8712fac594f3..99719f43b80ce 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.2.10", + "version": "0.2.11", "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 51db145fa361d..24d7adb2379cd 100644 --- a/ee/apps/omnichannel-transcript/CHANGELOG.md +++ b/ee/apps/omnichannel-transcript/CHANGELOG.md @@ -1,5 +1,19 @@ # @rocket.chat/omnichannel-transcript +## 0.3.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/omnichannel-services@0.1.12 + - @rocket.chat/pdf-worker@0.0.36 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/models@0.0.36 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/omnichannel-transcript/package.json b/ee/apps/omnichannel-transcript/package.json index 1faf7dfdb7a62..ab649cc233e37 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.3.11", + "version": "0.3.12", "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 102639ec91182..fcfd87a7806b5 100644 --- a/ee/apps/presence-service/CHANGELOG.md +++ b/ee/apps/presence-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/presence-service +## 0.3.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/presence@0.1.12 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/models@0.0.36 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/presence-service/package.json b/ee/apps/presence-service/package.json index ce392ee44b55c..5d6d323bd0a7d 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.3.11", + "version": "0.3.12", "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 8d3d8cc3da604..029e6e9fd522e 100644 --- a/ee/apps/queue-worker/CHANGELOG.md +++ b/ee/apps/queue-worker/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/queue-worker +## 0.3.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/omnichannel-services@0.1.12 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/models@0.0.36 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/queue-worker/package.json b/ee/apps/queue-worker/package.json index 6680badf28cef..3e43a06b392bc 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.3.11", + "version": "0.3.12", "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 78189f572b3ca..0d1bd29705ea0 100644 --- a/ee/apps/stream-hub-service/CHANGELOG.md +++ b/ee/apps/stream-hub-service/CHANGELOG.md @@ -1,5 +1,17 @@ # @rocket.chat/stream-hub-service +## 0.3.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/models@0.0.36 +
+ ## 0.3.11 ### Patch Changes diff --git a/ee/apps/stream-hub-service/package.json b/ee/apps/stream-hub-service/package.json index a1b39dc33989f..ba373555cd2c8 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.3.11", + "version": "0.3.12", "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 c68a45f7d9870..f3849bb93a117 100644 --- a/ee/packages/api-client/CHANGELOG.md +++ b/ee/packages/api-client/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/api-client +## 0.1.30 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/rest-typings@6.7.1 +
+ ## 0.1.29 ### Patch Changes diff --git a/ee/packages/api-client/package.json b/ee/packages/api-client/package.json index e4b86aca8b11f..3cbfa21c4d6b6 100644 --- a/ee/packages/api-client/package.json +++ b/ee/packages/api-client/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/api-client", "private": true, - "version": "0.1.29", + "version": "0.1.30", "devDependencies": { "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", diff --git a/ee/packages/ddp-client/CHANGELOG.md b/ee/packages/ddp-client/CHANGELOG.md index 49d1781fe6ee7..1016e8a42d934 100644 --- a/ee/packages/ddp-client/CHANGELOG.md +++ b/ee/packages/ddp-client/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/ddp-client +## 0.2.21 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/rest-typings@6.7.1 + - @rocket.chat/api-client@0.1.30 +
+ ## 0.2.20 ### Patch Changes diff --git a/ee/packages/ddp-client/package.json b/ee/packages/ddp-client/package.json index a4c109206eced..52c0dd2a15939 100644 --- a/ee/packages/ddp-client/package.json +++ b/ee/packages/ddp-client/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/ddp-client", "private": true, - "version": "0.2.20", + "version": "0.2.21", "devDependencies": { "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", diff --git a/ee/packages/license/CHANGELOG.md b/ee/packages/license/CHANGELOG.md index 24b6267470036..ea79637134fa8 100644 --- a/ee/packages/license/CHANGELOG.md +++ b/ee/packages/license/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/license +## 0.1.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 +
+ ## 0.1.11 ### Patch Changes diff --git a/ee/packages/license/package.json b/ee/packages/license/package.json index 12f445a3c2bf4..54a3923c3484f 100644 --- a/ee/packages/license/package.json +++ b/ee/packages/license/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/license", - "version": "0.1.11", + "version": "0.1.12", "private": true, "devDependencies": { "@swc/core": "^1.3.95", diff --git a/ee/packages/omnichannel-services/CHANGELOG.md b/ee/packages/omnichannel-services/CHANGELOG.md index 5f6ee26e998a4..e6766a9425b49 100644 --- a/ee/packages/omnichannel-services/CHANGELOG.md +++ b/ee/packages/omnichannel-services/CHANGELOG.md @@ -1,5 +1,19 @@ # @rocket.chat/omnichannel-services +## 0.1.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/rest-typings@6.7.1 + - @rocket.chat/pdf-worker@0.0.36 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/model-typings@0.3.8 + - @rocket.chat/models@0.0.36 +
+ ## 0.1.11 ### Patch Changes diff --git a/ee/packages/omnichannel-services/package.json b/ee/packages/omnichannel-services/package.json index 7cf623ed02fb4..1a7be642e1cf1 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.1.11", + "version": "0.1.12", "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 845c1e1cc08dd..6dfd98fe9871f 100644 --- a/ee/packages/pdf-worker/CHANGELOG.md +++ b/ee/packages/pdf-worker/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/pdf-worker +## 0.0.36 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 +
+ ## 0.0.35 ### Patch Changes diff --git a/ee/packages/pdf-worker/package.json b/ee/packages/pdf-worker/package.json index f2be21dcb1f70..771d1d5e14fbb 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.35", + "version": "0.0.36", "private": true, "devDependencies": { "@storybook/addon-essentials": "~6.5.16", diff --git a/ee/packages/presence/CHANGELOG.md b/ee/packages/presence/CHANGELOG.md index a57ccdc48acc8..d66527648fe29 100644 --- a/ee/packages/presence/CHANGELOG.md +++ b/ee/packages/presence/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/presence +## 0.1.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/core-services@0.3.12 + - @rocket.chat/models@0.0.36 +
+ ## 0.1.11 ### Patch Changes diff --git a/ee/packages/presence/package.json b/ee/packages/presence/package.json index 085beb9678363..8781adc990d0d 100644 --- a/ee/packages/presence/package.json +++ b/ee/packages/presence/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/presence", - "version": "0.1.11", + "version": "0.1.12", "private": true, "devDependencies": { "@babel/core": "~7.22.20", diff --git a/package.json b/package.json index 462b65adc1e63..8c958831da9fa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rocket.chat", - "version": "6.7.0", + "version": "6.7.1", "description": "Rocket.Chat Monorepo", "main": "index.js", "private": true, diff --git a/packages/apps/CHANGELOG.md b/packages/apps/CHANGELOG.md index a0fc75d71f17c..e2a1e17543c0a 100644 --- a/packages/apps/CHANGELOG.md +++ b/packages/apps/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/apps +## 0.0.3 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/model-typings@0.3.8 +
+ ## 0.0.2 ### Patch Changes diff --git a/packages/apps/package.json b/packages/apps/package.json index 0d47f6b527797..1f2419bee9eaa 100644 --- a/packages/apps/package.json +++ b/packages/apps/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/apps", - "version": "0.0.2", + "version": "0.0.3", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/core-services/CHANGELOG.md b/packages/core-services/CHANGELOG.md index 38367ca4f490d..5560cd126f53b 100644 --- a/packages/core-services/CHANGELOG.md +++ b/packages/core-services/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/core-services +## 0.3.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/rest-typings@6.7.1 + - @rocket.chat/models@0.0.36 +
+ ## 0.3.11 ### Patch Changes diff --git a/packages/core-services/package.json b/packages/core-services/package.json index 8e27b3d2306fe..27588c2c103a6 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/core-services", - "version": "0.3.11", + "version": "0.3.12", "private": true, "devDependencies": { "@babel/core": "~7.22.20", diff --git a/packages/core-typings/CHANGELOG.md b/packages/core-typings/CHANGELOG.md index 82644fe33c63f..50a66ab7543fb 100644 --- a/packages/core-typings/CHANGELOG.md +++ b/packages/core-typings/CHANGELOG.md @@ -1,5 +1,7 @@ # @rocket.chat/core-typings +## 6.7.1 + ## 6.7.0 ### Minor Changes diff --git a/packages/core-typings/package.json b/packages/core-typings/package.json index 8d37cb43452c2..ae00cf13efeee 100644 --- a/packages/core-typings/package.json +++ b/packages/core-typings/package.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/package", "name": "@rocket.chat/core-typings", "private": true, - "version": "6.7.0", + "version": "6.7.1", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "eslint": "~8.45.0", diff --git a/packages/cron/CHANGELOG.md b/packages/cron/CHANGELOG.md index 45ca17fa2b60a..263b1018ae98f 100644 --- a/packages/cron/CHANGELOG.md +++ b/packages/cron/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/cron +## 0.0.32 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/models@0.0.36 +
+ ## 0.0.31 ### Patch Changes diff --git a/packages/cron/package.json b/packages/cron/package.json index c488ad9fec86c..102ffa6f2b1d4 100644 --- a/packages/cron/package.json +++ b/packages/cron/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/cron", - "version": "0.0.31", + "version": "0.0.32", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/fuselage-ui-kit/CHANGELOG.md b/packages/fuselage-ui-kit/CHANGELOG.md index 04e5065867ea7..492bc4333d589 100644 --- a/packages/fuselage-ui-kit/CHANGELOG.md +++ b/packages/fuselage-ui-kit/CHANGELOG.md @@ -1,5 +1,17 @@ # Change Log +## 5.0.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/gazzodown@5.0.1 + - @rocket.chat/ui-contexts@5.0.1 + - @rocket.chat/ui-avatar@1.0.1 + - @rocket.chat/ui-video-conf@5.0.1 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index d7874d5dd145e..f997fecce4143 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": "5.0.0", + "version": "5.0.1", "description": "UiKit elements for Rocket.Chat Apps built under Fuselage design system", "homepage": "https://rocketchat.github.io/Rocket.Chat.Fuselage/", "author": { @@ -49,10 +49,10 @@ "@rocket.chat/icons": "*", "@rocket.chat/prettier-config": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-avatar": "1.0.0", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-avatar": "1.0.1", + "@rocket.chat/ui-contexts": "5.0.1", "@rocket.chat/ui-kit": "0.33.0", - "@rocket.chat/ui-video-conf": "5.0.0", + "@rocket.chat/ui-video-conf": "5.0.1", "@tanstack/react-query": "*", "react": "*", "react-dom": "*" diff --git a/packages/gazzodown/CHANGELOG.md b/packages/gazzodown/CHANGELOG.md index 5d0b8cc039997..399d6c4159aad 100644 --- a/packages/gazzodown/CHANGELOG.md +++ b/packages/gazzodown/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/gazzodown +## 5.0.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/ui-contexts@5.0.1 + - @rocket.chat/ui-client@5.0.1 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json index 5128f28417307..90469b9e3939f 100644 --- a/packages/gazzodown/package.json +++ b/packages/gazzodown/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/gazzodown", - "version": "5.0.0", + "version": "5.0.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -71,8 +71,8 @@ "@rocket.chat/fuselage-tokens": "*", "@rocket.chat/message-parser": "0.31.29", "@rocket.chat/styled": "*", - "@rocket.chat/ui-client": "5.0.0", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-client": "5.0.1", + "@rocket.chat/ui-contexts": "5.0.1", "katex": "*", "react": "*" }, diff --git a/packages/instance-status/CHANGELOG.md b/packages/instance-status/CHANGELOG.md index 90fd606da8ef3..cd70c1e9cba24 100644 --- a/packages/instance-status/CHANGELOG.md +++ b/packages/instance-status/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/instance-status +## 0.0.36 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/models@0.0.36 +
+ ## 0.0.35 ### Patch Changes diff --git a/packages/instance-status/package.json b/packages/instance-status/package.json index b931d7ac2a634..8b69346f624ad 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.35", + "version": "0.0.36", "private": true, "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", diff --git a/packages/livechat/CHANGELOG.md b/packages/livechat/CHANGELOG.md index 46068fc95465f..99d6f50a910ce 100644 --- a/packages/livechat/CHANGELOG.md +++ b/packages/livechat/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/livechat Change Log +## 1.15.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/gazzodown@5.0.1 +
+ ## 1.15.0 ### Minor Changes diff --git a/packages/livechat/package.json b/packages/livechat/package.json index 677aeeab6aab3..a09fe301fcdce 100644 --- a/packages/livechat/package.json +++ b/packages/livechat/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/livechat", - "version": "1.15.0", + "version": "1.15.1", "files": [ "/build" ], diff --git a/packages/model-typings/CHANGELOG.md b/packages/model-typings/CHANGELOG.md index 94bd5aa4c36ab..428d442f75206 100644 --- a/packages/model-typings/CHANGELOG.md +++ b/packages/model-typings/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/model-typings +## 0.3.8 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 +
+ ## 0.3.7 ### Patch Changes diff --git a/packages/model-typings/package.json b/packages/model-typings/package.json index 08b9f358616e7..3ab76283b8f70 100644 --- a/packages/model-typings/package.json +++ b/packages/model-typings/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/model-typings", - "version": "0.3.7", + "version": "0.3.8", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/models/CHANGELOG.md b/packages/models/CHANGELOG.md index 629d178433eea..0d81251119a69 100644 --- a/packages/models/CHANGELOG.md +++ b/packages/models/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/models +## 0.0.36 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/model-typings@0.3.8 +
+ ## 0.0.35 ### Patch Changes diff --git a/packages/models/package.json b/packages/models/package.json index 204b60fd17c68..5170116812a76 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/models", - "version": "0.0.35", + "version": "0.0.36", "private": true, "devDependencies": { "@swc/core": "^1.3.95", diff --git a/packages/rest-typings/CHANGELOG.md b/packages/rest-typings/CHANGELOG.md index cf6972b16a776..e784777bc44e1 100644 --- a/packages/rest-typings/CHANGELOG.md +++ b/packages/rest-typings/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/rest-typings +## 6.7.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 +
+ ## 6.7.0 ### Minor Changes diff --git a/packages/rest-typings/package.json b/packages/rest-typings/package.json index aa50178e147b5..f0f8f128920ad 100644 --- a/packages/rest-typings/package.json +++ b/packages/rest-typings/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/rest-typings", "private": true, - "version": "6.7.0", + "version": "6.7.1", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "@types/jest": "~29.5.7", diff --git a/packages/ui-avatar/CHANGELOG.md b/packages/ui-avatar/CHANGELOG.md index 670b7628852e1..de7e6458d5fa8 100644 --- a/packages/ui-avatar/CHANGELOG.md +++ b/packages/ui-avatar/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/ui-avatar +## 1.0.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.1 +
+ ## 1.0.0 ### Patch Changes diff --git a/packages/ui-avatar/package.json b/packages/ui-avatar/package.json index 4621e593c6e54..32dd69d698580 100644 --- a/packages/ui-avatar/package.json +++ b/packages/ui-avatar/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-avatar", - "version": "1.0.0", + "version": "1.0.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -31,7 +31,7 @@ ], "peerDependencies": { "@rocket.chat/fuselage": "*", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-contexts": "5.0.1", "react": "~17.0.2" }, "volta": { diff --git a/packages/ui-client/CHANGELOG.md b/packages/ui-client/CHANGELOG.md index ff46450f52775..271e97a7538ea 100644 --- a/packages/ui-client/CHANGELOG.md +++ b/packages/ui-client/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/ui-client +## 5.0.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.1 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json index cc0a44c948066..c9e7824868fef 100644 --- a/packages/ui-client/package.json +++ b/packages/ui-client/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-client", - "version": "5.0.0", + "version": "5.0.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -63,7 +63,7 @@ "@rocket.chat/fuselage": "*", "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-contexts": "5.0.1", "react": "~17.0.2" }, "volta": { diff --git a/packages/ui-contexts/CHANGELOG.md b/packages/ui-contexts/CHANGELOG.md index 027fa50a0086c..bf17c75631042 100644 --- a/packages/ui-contexts/CHANGELOG.md +++ b/packages/ui-contexts/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/ui-contexts +## 5.0.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.1 + - @rocket.chat/rest-typings@6.7.1 + - @rocket.chat/ddp-client@0.2.21 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/ui-contexts/package.json b/packages/ui-contexts/package.json index 0306ac84cd427..b87a6c728e487 100644 --- a/packages/ui-contexts/package.json +++ b/packages/ui-contexts/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-contexts", - "version": "5.0.0", + "version": "5.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 e36b49a9fd716..8b50257ed9dbc 100644 --- a/packages/ui-video-conf/CHANGELOG.md +++ b/packages/ui-video-conf/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/ui-video-conf +## 5.0.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.1 + - @rocket.chat/ui-avatar@1.0.1 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json index 44e96dda7de9e..c1efa8efa4dd1 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": "5.0.0", + "version": "5.0.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -36,8 +36,8 @@ "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-avatar": "1.0.0", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-avatar": "1.0.1", + "@rocket.chat/ui-contexts": "5.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 47111a99bc121..7bea3e6db8836 100644 --- a/packages/uikit-playground/CHANGELOG.md +++ b/packages/uikit-playground/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/uikit-playground +## 0.2.21 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.1 + - @rocket.chat/fuselage-ui-kit@5.0.1 + - @rocket.chat/ui-avatar@1.0.1 +
+ ## 0.2.20 ### Patch Changes diff --git a/packages/uikit-playground/package.json b/packages/uikit-playground/package.json index f4646e3d3eb17..6446217bd3668 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.2.20", + "version": "0.2.21", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/web-ui-registration/CHANGELOG.md b/packages/web-ui-registration/CHANGELOG.md index 1894b3f7de5e0..35cf06b756ef8 100644 --- a/packages/web-ui-registration/CHANGELOG.md +++ b/packages/web-ui-registration/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/web-ui-registration +## 5.0.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.1 +
+ ## 5.0.0 ### Patch Changes diff --git a/packages/web-ui-registration/package.json b/packages/web-ui-registration/package.json index 7c64fccb9b9c9..403bf8915b501 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": "5.0.0", + "version": "5.0.1", "private": true, "homepage": "https://rocket.chat", "main": "./dist/index.js", @@ -51,7 +51,7 @@ "peerDependencies": { "@rocket.chat/layout": "*", "@rocket.chat/tools": "0.2.1", - "@rocket.chat/ui-contexts": "5.0.0", + "@rocket.chat/ui-contexts": "5.0.1", "@tanstack/react-query": "*", "react": "*", "react-hook-form": "*", From 86ec6f7586cfc3dc188daaa0a723b18516bd95d3 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Wed, 24 Apr 2024 11:27:49 -0300 Subject: [PATCH 012/185] Bump rocket.chat to 6.9 (#32306) --- apps/meteor/app/utils/rocketchat.info | 2 +- apps/meteor/package.json | 2 +- package.json | 2 +- packages/core-typings/package.json | 2 +- packages/rest-typings/package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/meteor/app/utils/rocketchat.info b/apps/meteor/app/utils/rocketchat.info index 4eb357fe9ee6a..5878bf0b31901 100644 --- a/apps/meteor/app/utils/rocketchat.info +++ b/apps/meteor/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "6.8.0-develop" + "version": "6.9.0-develop" } diff --git a/apps/meteor/package.json b/apps/meteor/package.json index 34a7e6f0abd53..314fae0c4ead2 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.8.0-develop", + "version": "6.9.0-develop", "private": true, "author": { "name": "Rocket.Chat", diff --git a/package.json b/package.json index 240e1a9a1e02e..d59418429c34c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rocket.chat", - "version": "6.8.0-develop", + "version": "6.9.0-develop", "description": "Rocket.Chat Monorepo", "main": "index.js", "private": true, diff --git a/packages/core-typings/package.json b/packages/core-typings/package.json index c0165e9e3c9fe..595421d04c31f 100644 --- a/packages/core-typings/package.json +++ b/packages/core-typings/package.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/package", "name": "@rocket.chat/core-typings", "private": true, - "version": "6.8.0-develop", + "version": "6.9.0-develop", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "eslint": "~8.45.0", diff --git a/packages/rest-typings/package.json b/packages/rest-typings/package.json index 78091b752a5b3..9d2f040a8582b 100644 --- a/packages/rest-typings/package.json +++ b/packages/rest-typings/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/rest-typings", "private": true, - "version": "6.8.0-develop", + "version": "6.9.0-develop", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "@types/jest": "~29.5.7", From 105a1ebd19128954bbe22c2316deb276fd4f9934 Mon Sep 17 00:00:00 2001 From: gabriellsh <40830821+gabriellsh@users.noreply.github.com> Date: Wed, 24 Apr 2024 16:40:59 -0300 Subject: [PATCH 013/185] fix: Engagement Dashboard and Device Management admin pages loading indefinitely (#32284) --- .changeset/yellow-lies-judge.md | 5 +++ .../DeviceManagementAdminRoute.tsx | 3 +- .../EngagementDashboardRoute.tsx | 3 +- apps/meteor/tests/e2e/administration.spec.ts | 32 +++++++++++++++++++ 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 .changeset/yellow-lies-judge.md diff --git a/.changeset/yellow-lies-judge.md b/.changeset/yellow-lies-judge.md new file mode 100644 index 0000000000000..15bc8e0819bde --- /dev/null +++ b/.changeset/yellow-lies-judge.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +fixed Engagement Dashboard and Device Management admin pages loading indefinitely diff --git a/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx b/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx index 83e3b4eac72c4..c250728988ec0 100644 --- a/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx +++ b/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx @@ -14,7 +14,7 @@ const DeviceManagementAdminRoute = (): ReactElement => { const t = useTranslation(); const router = useRouter(); const setModal = useSetModal(); - const isModalOpen = useCurrentModal() !== null; + const isModalOpen = !!useCurrentModal(); const hasDeviceManagement = useHasLicenseModule('device-management') as boolean; const canViewDeviceManagement = usePermission('view-device-management'); @@ -25,6 +25,7 @@ const DeviceManagementAdminRoute = (): ReactElement => { if (shouldShowUpsell) { setModal( { const t = useTranslation(); const canViewEngagementDashboard = usePermission('view-engagement-dashboard'); const setModal = useSetModal(); - const isModalOpen = useCurrentModal() !== null; + const isModalOpen = !!useCurrentModal(); const router = useRouter(); const tab = useRouteParameter('tab'); @@ -39,6 +39,7 @@ const EngagementDashboardRoute = (): ReactElement | null => { if (shouldShowUpsell) { setModal( { }); }); + test.describe('Engagement dashboard', () => { + test('Should show upsell modal', async ({ page }) => { + test.skip(IS_EE); + await page.goto('/admin/engagement/users'); + + await expect(page.locator('role=dialog[name="Engagement dashboard"]')).toBeVisible(); + }); + + test('Should show engagement dashboard', async ({ page }) => { + test.skip(!IS_EE); + await page.goto('/admin/engagement/users'); + + await expect(page.locator('h1 >> text="Engagement"')).toBeVisible(); + }); + }); + + test.describe('Device management', () => { + test('Should show upsell modal', async ({ page }) => { + test.skip(IS_EE); + await page.goto('/admin/device-management'); + + await expect(page.locator('role=dialog[name="Device management"]')).toBeVisible(); + }); + + test('Should show device management page', async ({ page }) => { + test.skip(!IS_EE); + await page.goto('/admin/device-management'); + + await expect(page.locator('h1 >> text="Device management"')).toBeVisible(); + }); + }); + test.describe('Users', () => { test.beforeEach(async ({ page }) => { await page.goto('/admin/users'); From d9da848ad3f3debd23df72adb1daae818dcae9fd Mon Sep 17 00:00:00 2001 From: gabriellsh <40830821+gabriellsh@users.noreply.github.com> Date: Wed, 24 Apr 2024 16:40:59 -0300 Subject: [PATCH 014/185] fix: Engagement Dashboard and Device Management admin pages loading indefinitely (#32284) --- .changeset/yellow-lies-judge.md | 5 +++ .../DeviceManagementAdminRoute.tsx | 3 +- .../EngagementDashboardRoute.tsx | 3 +- apps/meteor/tests/e2e/administration.spec.ts | 32 +++++++++++++++++++ 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 .changeset/yellow-lies-judge.md diff --git a/.changeset/yellow-lies-judge.md b/.changeset/yellow-lies-judge.md new file mode 100644 index 0000000000000..15bc8e0819bde --- /dev/null +++ b/.changeset/yellow-lies-judge.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +fixed Engagement Dashboard and Device Management admin pages loading indefinitely diff --git a/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx b/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx index 83e3b4eac72c4..c250728988ec0 100644 --- a/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx +++ b/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx @@ -14,7 +14,7 @@ const DeviceManagementAdminRoute = (): ReactElement => { const t = useTranslation(); const router = useRouter(); const setModal = useSetModal(); - const isModalOpen = useCurrentModal() !== null; + const isModalOpen = !!useCurrentModal(); const hasDeviceManagement = useHasLicenseModule('device-management') as boolean; const canViewDeviceManagement = usePermission('view-device-management'); @@ -25,6 +25,7 @@ const DeviceManagementAdminRoute = (): ReactElement => { if (shouldShowUpsell) { setModal( { const t = useTranslation(); const canViewEngagementDashboard = usePermission('view-engagement-dashboard'); const setModal = useSetModal(); - const isModalOpen = useCurrentModal() !== null; + const isModalOpen = !!useCurrentModal(); const router = useRouter(); const tab = useRouteParameter('tab'); @@ -39,6 +39,7 @@ const EngagementDashboardRoute = (): ReactElement | null => { if (shouldShowUpsell) { setModal( { }); }); + test.describe('Engagement dashboard', () => { + test('Should show upsell modal', async ({ page }) => { + test.skip(IS_EE); + await page.goto('/admin/engagement/users'); + + await expect(page.locator('role=dialog[name="Engagement dashboard"]')).toBeVisible(); + }); + + test('Should show engagement dashboard', async ({ page }) => { + test.skip(!IS_EE); + await page.goto('/admin/engagement/users'); + + await expect(page.locator('h1 >> text="Engagement"')).toBeVisible(); + }); + }); + + test.describe('Device management', () => { + test('Should show upsell modal', async ({ page }) => { + test.skip(IS_EE); + await page.goto('/admin/device-management'); + + await expect(page.locator('role=dialog[name="Device management"]')).toBeVisible(); + }); + + test('Should show device management page', async ({ page }) => { + test.skip(!IS_EE); + await page.goto('/admin/device-management'); + + await expect(page.locator('h1 >> text="Device management"')).toBeVisible(); + }); + }); + test.describe('Users', () => { test.beforeEach(async ({ page }) => { await page.goto('/admin/users'); From 3b650018e568fe9e1aa5f5663d612e9c493c0445 Mon Sep 17 00:00:00 2001 From: Kevin Aleman Date: Mon, 29 Apr 2024 10:25:22 -0600 Subject: [PATCH 015/185] fix: Server sending 2 notifications when `@all/@here` were used by a user without permissions (#32289) --- .changeset/flat-starfishes-crash.md | 5 ++ .../app/lib/server/methods/sendMessage.ts | 3 +- .../hooks/BeforeSavePreventMention.ts | 13 +--- .../server/services/messages/service.ts | 2 +- .../meteor/tests/e2e/message-mentions.spec.ts | 62 +++++++++++++++++++ 5 files changed, 72 insertions(+), 13 deletions(-) create mode 100644 .changeset/flat-starfishes-crash.md diff --git a/.changeset/flat-starfishes-crash.md b/.changeset/flat-starfishes-crash.md new file mode 100644 index 0000000000000..9c5bb2425f19c --- /dev/null +++ b/.changeset/flat-starfishes-crash.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +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 diff --git a/apps/meteor/app/lib/server/methods/sendMessage.ts b/apps/meteor/app/lib/server/methods/sendMessage.ts index e12ebc2d47e92..5749daa980f39 100644 --- a/apps/meteor/app/lib/server/methods/sendMessage.ts +++ b/apps/meteor/app/lib/server/methods/sendMessage.ts @@ -87,8 +87,9 @@ export async function executeSendMessage(uid: IUser['_id'], message: AtLeast { await expect(poHomeChannel.content.messagePopupUsers.locator('role=listitem >> text="here"')).toBeVisible(); }); + test.describe('Should not allow to send @all mention if permission to do so is disabled', () => { + let targetChannel2: string; + test.beforeAll(async ({ api }) => { + expect((await api.post('/permissions.update', { permissions: [{ '_id': 'mention-all', 'roles': [] }] })).status()).toBe(200); + }); + + test.afterAll(async ({ api }) => { + expect((await api.post('/permissions.update', { permissions: [{ '_id': 'mention-all', 'roles': ['admin', 'owner', 'moderator', 'user'] }] })).status()).toBe(200); + await deleteChannel(api, targetChannel2); + }); + + test('expect to receive an error as notification when sending @all while permission is disabled', async ({ page }) => { + const adminPage = new HomeChannel(page); + + await test.step('create private room', async () => { + targetChannel2 = faker.string.uuid(); + + await poHomeChannel.sidenav.openNewByLabel('Channel'); + await poHomeChannel.sidenav.inputChannelName.type(targetChannel2); + await poHomeChannel.sidenav.btnCreate.click(); + + await expect(page).toHaveURL(`/group/${targetChannel2}`); + }); + await test.step('receive notify message', async () => { + await adminPage.sidenav.openChat(targetChannel2); + await adminPage.content.dispatchSlashCommand('@all'); + await expect(adminPage.content.lastUserMessage).toContainText('Notify all in this room is not allowed'); + }); + }); + }); + + test.describe('Should not allow to send @here mention if permission to do so is disabled', () => { + let targetChannel2: string; + test.beforeAll(async ({ api }) => { + expect((await api.post('/permissions.update', { permissions: [{ '_id': 'mention-here', 'roles': [] }] })).status()).toBe(200); + }); + + test.afterAll(async ({ api }) => { + expect((await api.post('/permissions.update', { permissions: [{ '_id': 'mention-here', 'roles': ['admin', 'owner', 'moderator', 'user'] }] })).status()).toBe(200); + await deleteChannel(api, targetChannel2); + }); + + test('expect to receive an error as notification when sending here while permission is disabled', async ({ page }) => { + const adminPage = new HomeChannel(page); + + await test.step('create private room', async () => { + targetChannel2 = faker.string.uuid(); + + await poHomeChannel.sidenav.openNewByLabel('Channel'); + await poHomeChannel.sidenav.inputChannelName.type(targetChannel2); + await poHomeChannel.sidenav.btnCreate.click(); + + await expect(page).toHaveURL(`/group/${targetChannel2}`); + }); + await test.step('receive notify message', async () => { + await adminPage.sidenav.openChat(targetChannel2); + await adminPage.content.dispatchSlashCommand('@here'); + await expect(adminPage.content.lastUserMessage).toContainText('Notify all in this room is not allowed'); + }); + }); + }); + test.describe('users not in channel', () => { let targetChannel: string; let targetChannel2: string; From bc50dd54a2b2a4c122cad68b50de249e77a915e6 Mon Sep 17 00:00:00 2001 From: Kevin Aleman Date: Mon, 29 Apr 2024 11:33:09 -0600 Subject: [PATCH 016/185] fix: `UserDataFiles` store uploads not proxied through server because of missing setting (#32182) --- .changeset/lazy-gorilas-shop.md | 6 ++++++ apps/meteor/server/settings/file-upload.ts | 21 +++++++++++++++++++++ packages/i18n/src/locales/en.i18n.json | 6 ++++++ 3 files changed, 33 insertions(+) create mode 100644 .changeset/lazy-gorilas-shop.md diff --git a/.changeset/lazy-gorilas-shop.md b/.changeset/lazy-gorilas-shop.md new file mode 100644 index 0000000000000..c71610f703fce --- /dev/null +++ b/.changeset/lazy-gorilas-shop.md @@ -0,0 +1,6 @@ +--- +"@rocket.chat/meteor": patch +"@rocket.chat/i18n": patch +--- + +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. diff --git a/apps/meteor/server/settings/file-upload.ts b/apps/meteor/server/settings/file-upload.ts index 4be9dfd117a7c..76e788cda0e24 100644 --- a/apps/meteor/server/settings/file-upload.ts +++ b/apps/meteor/server/settings/file-upload.ts @@ -187,6 +187,13 @@ export const createFileUploadSettings = () => value: 'AmazonS3', }, }); + await this.add('FileUpload_S3_Proxy_UserDataFiles', false, { + type: 'boolean', + enableQuery: { + _id: 'FileUpload_Storage_Type', + value: 'AmazonS3', + }, + }); }); await this.section('Google Cloud Storage', async function () { @@ -244,6 +251,13 @@ export const createFileUploadSettings = () => value: 'GoogleCloudStorage', }, }); + await this.add('FileUpload_GoogleStorage_Proxy_UserDataFiles', false, { + type: 'boolean', + enableQuery: { + _id: 'FileUpload_Storage_Type', + value: 'GoogleCloudStorage', + }, + }); }); await this.section('File System', async function () { @@ -302,6 +316,13 @@ export const createFileUploadSettings = () => value: 'Webdav', }, }); + await this.add('FileUpload_Webdav_Proxy_UserDataFiles', false, { + type: 'boolean', + enableQuery: { + _id: 'FileUpload_Storage_Type', + value: 'Webdav', + }, + }); }); await this.add('FileUpload_Enabled_Direct', true, { diff --git a/packages/i18n/src/locales/en.i18n.json b/packages/i18n/src/locales/en.i18n.json index 24fb91023e1a8..5ac14f5a3b6bc 100644 --- a/packages/i18n/src/locales/en.i18n.json +++ b/packages/i18n/src/locales/en.i18n.json @@ -2360,6 +2360,8 @@ "FileUpload_GoogleStorage_Proxy_Uploads": "Proxy Uploads", "FileUpload_GoogleStorage_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", "FileUpload_GoogleStorage_Secret": "Google Storage Secret", + "FileUpload_GoogleStorage_Proxy_UserDataFiles": "Proxy User Data Files", + "FileUpload_GoogleStorage_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", "FileUpload_GoogleStorage_Secret_Description": "Please follow [these instructions](https://github.com/CulturalMe/meteor-slingshot#google-cloud) and paste the result here.", "FileUpload_json_web_token_secret_for_files": "File Upload Json Web Token Secret", "FileUpload_json_web_token_secret_for_files_description": "File Upload Json Web Token Secret (Used to be able to access uploaded files without authentication)", @@ -2390,6 +2392,8 @@ "FileUpload_S3_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", "FileUpload_S3_Proxy_Uploads": "Proxy Uploads", "FileUpload_S3_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_S3_Proxy_UserDataFiles": "Proxy User Data Files", + "FileUpload_S3_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", "Hold_Call_EE_only": "Hold Call (Enterprise Edition only)", "FileUpload_S3_Region": "Region", "FileUpload_S3_SignatureVersion": "Signature Version", @@ -2401,6 +2405,8 @@ "FileUpload_Webdav_Proxy_Avatars_Description": "Proxy avatar file transmissions through your server instead of direct access to the asset's URL", "FileUpload_Webdav_Proxy_Uploads": "Proxy Uploads", "FileUpload_Webdav_Proxy_Uploads_Description": "Proxy upload file transmissions through your server instead of direct access to the asset's URL", + "FileUpload_Webdav_Proxy_UserDataFiles": "Proxy User Data Files", + "FileUpload_Webdav_Proxy_UserDataFiles_Description": "Proxy user data file transmissions through your server instead of direct access to the asset's URL", "FileUpload_Webdav_Server_URL": "WebDAV Server Access URL", "FileUpload_Webdav_Upload_Folder_Path": "Upload Folder Path", "FileUpload_Webdav_Upload_Folder_Path_Description": "WebDAV folder path which the files should be uploaded to", From 6205ef14f0bb106044dda57f73bd5b28f89cb660 Mon Sep 17 00:00:00 2001 From: Yash Rajpal <58601732+yash-rajpal@users.noreply.github.com> Date: Mon, 29 Apr 2024 23:45:34 +0530 Subject: [PATCH 017/185] fix: Video Conf call joined translation param (#32327) --- .changeset/shiny-crabs-peel.md | 5 +++++ .../src/blocks/VideoConferenceBlock/VideoConferenceBlock.tsx | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 .changeset/shiny-crabs-peel.md diff --git a/.changeset/shiny-crabs-peel.md b/.changeset/shiny-crabs-peel.md new file mode 100644 index 0000000000000..f4d066827bfce --- /dev/null +++ b/.changeset/shiny-crabs-peel.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/fuselage-ui-kit': patch +--- + +Fix translation param on video conf joined message diff --git a/packages/fuselage-ui-kit/src/blocks/VideoConferenceBlock/VideoConferenceBlock.tsx b/packages/fuselage-ui-kit/src/blocks/VideoConferenceBlock/VideoConferenceBlock.tsx index 58980848856d7..81cfbe3f88bfc 100644 --- a/packages/fuselage-ui-kit/src/blocks/VideoConferenceBlock/VideoConferenceBlock.tsx +++ b/packages/fuselage-ui-kit/src/blocks/VideoConferenceBlock/VideoConferenceBlock.tsx @@ -180,7 +180,7 @@ const VideoConferenceBlock = ({ {data.users.length > MAX_USERS ? t('__usersCount__member_joined', { - usersCount: data.users.length - MAX_USERS, + count: data.users.length - MAX_USERS, }) : t('joined')} From 972b5b851652a63c2b5a7b048e1af24ef1791d0e Mon Sep 17 00:00:00 2001 From: Tiago Evangelista Pinto Date: Tue, 30 Apr 2024 11:11:18 -0300 Subject: [PATCH 018/185] refactor(client): Rewrite `AppMenu` to TypeScript (#31533) --- .../client/components/WarningModal.spec.tsx | 18 + .../meteor/client/components/WarningModal.tsx | 14 +- apps/meteor/client/contexts/AppsContext.tsx | 24 ++ apps/meteor/client/providers/AppsProvider.tsx | 10 +- apps/meteor/client/sidebar/RoomMenu.tsx | 1 - .../tabs/AppStatus/AppStatus.spec.tsx | 32 ++ .../tabs/AppStatus/AppStatus.tsx | 18 +- .../client/views/marketplace/AppMenu.spec.tsx | 30 ++ .../client/views/marketplace/AppMenu.tsx | 48 +++ .../{IframeModal.js => IframeModal.tsx} | 12 +- .../UninstallGrandfatheredAppModal.tsx | 3 +- .../hooks/useAppInstallationHandler.tsx | 21 +- .../{AppMenu.js => hooks/useAppMenu.tsx} | 345 ++++++++++-------- .../marketplace/hooks/useAppsCountQuery.ts | 2 +- .../marketplace/hooks/useAppsOrchestration.ts | 9 + .../hooks/useMarketplaceActions.ts | 57 +++ .../hooks/useOpenIncompatibleModal.tsx | 16 +- .../Info/hooks/actions/useRoomHide.tsx | 1 - .../Info/hooks/actions/useRoomLeave.tsx | 1 - apps/meteor/ee/client/apps/orchestrator.ts | 3 +- .../meteor/tests/mocks/client/marketplace.tsx | 69 ++++ apps/meteor/tests/mocks/data.ts | 141 ++++++- .../src/MockedAppRootBuilder.tsx | 7 +- packages/rest-typings/src/apps/index.ts | 2 +- 24 files changed, 683 insertions(+), 201 deletions(-) create mode 100644 apps/meteor/client/components/WarningModal.spec.tsx create mode 100644 apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.spec.tsx create mode 100644 apps/meteor/client/views/marketplace/AppMenu.spec.tsx create mode 100644 apps/meteor/client/views/marketplace/AppMenu.tsx rename apps/meteor/client/views/marketplace/{IframeModal.js => IframeModal.tsx} (72%) rename apps/meteor/client/views/marketplace/{AppMenu.js => hooks/useAppMenu.tsx} (55%) create mode 100644 apps/meteor/client/views/marketplace/hooks/useAppsOrchestration.ts create mode 100644 apps/meteor/client/views/marketplace/hooks/useMarketplaceActions.ts create mode 100644 apps/meteor/tests/mocks/client/marketplace.tsx diff --git a/apps/meteor/client/components/WarningModal.spec.tsx b/apps/meteor/client/components/WarningModal.spec.tsx new file mode 100644 index 0000000000000..8a3ec4f47f8b6 --- /dev/null +++ b/apps/meteor/client/components/WarningModal.spec.tsx @@ -0,0 +1,18 @@ +import { mockAppRoot } from '@rocket.chat/mock-providers'; +import { render, screen } from '@testing-library/react'; +import React from 'react'; + +import WarningModal from './WarningModal'; + +import '@testing-library/jest-dom'; + +it('should look good', async () => { + render( undefined} close={() => undefined} />, { + wrapper: mockAppRoot().build(), + }); + + expect(screen.getByRole('heading')).toHaveTextContent('Are_you_sure'); + expect(screen.getByRole('button', { name: 'cancel' })).toBeInTheDocument(); + expect(screen.getByRole('button', { name: 'confirm' })).toBeInTheDocument(); + expect(screen.getByText('text')).toBeInTheDocument(); +}); diff --git a/apps/meteor/client/components/WarningModal.tsx b/apps/meteor/client/components/WarningModal.tsx index 1f3d3e2814eba..00ae92e1d3bdc 100644 --- a/apps/meteor/client/components/WarningModal.tsx +++ b/apps/meteor/client/components/WarningModal.tsx @@ -1,21 +1,21 @@ import { Button, Modal } from '@rocket.chat/fuselage'; import { useTranslation } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; +import type { ReactElement, ReactNode } from 'react'; import React from 'react'; type WarningModalProps = { - text: string; - confirmText: string; + text: ReactNode; + confirmText: ReactNode; + cancelText?: ReactNode; + confirm: () => void; + cancel?: () => void; close: () => void; - cancel: () => void; - cancelText: string; - confirm: () => Promise; }; const WarningModal = ({ text, confirmText, close, cancel, cancelText, confirm, ...props }: WarningModalProps): ReactElement => { const t = useTranslation(); return ( - + {t('Are_you_sure')} diff --git a/apps/meteor/client/contexts/AppsContext.tsx b/apps/meteor/client/contexts/AppsContext.tsx index b1732b6444b43..1fbf7399d6482 100644 --- a/apps/meteor/client/contexts/AppsContext.tsx +++ b/apps/meteor/client/contexts/AppsContext.tsx @@ -1,14 +1,37 @@ +import type { AppClientManager } from '@rocket.chat/apps-engine/client/AppClientManager'; +import type { IPermission } from '@rocket.chat/apps-engine/definition/permissions/IPermission'; +import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; +import type { Serialized } from '@rocket.chat/core-typings'; import { createContext } from 'react'; +import type { IAppExternalURL, ICategory } from '../../ee/client/apps/@types/IOrchestrator'; import type { AsyncState } from '../lib/asyncState'; import { AsyncStatePhase } from '../lib/asyncState'; import type { App } from '../views/marketplace/types'; +export interface IAppsOrchestrator { + load(): Promise; + getAppClientManager(): AppClientManager; + handleError(error: unknown): void; + getInstalledApps(): Promise; + getAppsFromMarketplace(isAdminUser?: boolean): Promise; + getAppsOnBundle(bundleId: string): Promise; + getApp(appId: string): Promise; + setAppSettings(appId: string, settings: ISetting[]): Promise; + installApp(appId: string, version: string, permissionsGranted?: IPermission[]): Promise; + updateApp(appId: string, version: string, permissionsGranted?: IPermission[]): Promise; + buildExternalUrl(appId: string, purchaseType?: 'buy' | 'subscription', details?: boolean): Promise; + buildExternalAppRequest(appId: string): Promise<{ url: string }>; + buildIncompatibleExternalUrl(appId: string, appVersion: string, action: string): Promise; + getCategories(): Promise>; +} + export type AppsContextValue = { installedApps: Omit, 'error'>; marketplaceApps: Omit, 'error'>; privateApps: Omit, 'error'>; reload: () => Promise; + orchestrator?: IAppsOrchestrator; }; export const AppsContext = createContext({ @@ -25,4 +48,5 @@ export const AppsContext = createContext({ value: undefined, }, reload: () => Promise.resolve(), + orchestrator: undefined, }); diff --git a/apps/meteor/client/providers/AppsProvider.tsx b/apps/meteor/client/providers/AppsProvider.tsx index 61baaefc4a492..e521a05cafdcb 100644 --- a/apps/meteor/client/providers/AppsProvider.tsx +++ b/apps/meteor/client/providers/AppsProvider.tsx @@ -1,7 +1,7 @@ import { useDebouncedCallback } from '@rocket.chat/fuselage-hooks'; import { usePermission, useStream } from '@rocket.chat/ui-contexts'; import { useQuery, useQueryClient } from '@tanstack/react-query'; -import type { FC } from 'react'; +import type { ReactNode } from 'react'; import React, { useEffect } from 'react'; import { AppClientOrchestratorInstance } from '../../ee/client/apps/orchestrator'; @@ -28,7 +28,11 @@ const getAppState = ( value: { apps: apps || [] }, }); -const AppsProvider: FC = ({ children }) => { +type AppsProviderProps = { + children: ReactNode; +}; + +const AppsProvider = ({ children }: AppsProviderProps) => { const isAdminUser = usePermission('manage-apps'); const queryClient = useQueryClient(); @@ -160,8 +164,10 @@ const AppsProvider: FC = ({ children }) => { reload: async () => { await Promise.all([queryClient.invalidateQueries(['marketplace'])]); }, + orchestrator: AppClientOrchestratorInstance, }} /> ); }; + export default AppsProvider; diff --git a/apps/meteor/client/sidebar/RoomMenu.tsx b/apps/meteor/client/sidebar/RoomMenu.tsx index a1fd7400e88f7..da9908b3ed5f7 100644 --- a/apps/meteor/client/sidebar/RoomMenu.tsx +++ b/apps/meteor/client/sidebar/RoomMenu.tsx @@ -131,7 +131,6 @@ const RoomMenu = ({ text={t(warnText as TranslationKey, name)} confirmText={t('Leave_room')} close={closeModal} - cancel={closeModal} cancelText={t('Cancel')} confirm={leave} />, diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.spec.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.spec.tsx new file mode 100644 index 0000000000000..3d9db6163cf4c --- /dev/null +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.spec.tsx @@ -0,0 +1,32 @@ +import { faker } from '@faker-js/faker'; +import { mockAppRoot } from '@rocket.chat/mock-providers'; +import { render, screen } from '@testing-library/react'; +import React from 'react'; +import '@testing-library/jest-dom'; + +import { mockedAppsContext } from '../../../../../../tests/mocks/client/marketplace'; +import { createFakeApp, createFakeLicenseInfo } from '../../../../../../tests/mocks/data'; +import AppStatus from './AppStatus'; + +it('should look good', async () => { + const app = createFakeApp(); + + render(, { + wrapper: mockAppRoot() + .withJohnDoe() + .withEndpoint('GET', '/apps/count', async () => ({ + maxMarketplaceApps: faker.number.int({ min: 0 }), + installedApps: faker.number.int({ min: 0 }), + maxPrivateApps: faker.number.int({ min: 0 }), + totalMarketplaceEnabled: faker.number.int({ min: 0 }), + totalPrivateEnabled: faker.number.int({ min: 0 }), + })) + .withEndpoint('GET', '/v1/licenses.info', async () => ({ + license: createFakeLicenseInfo(), + })) + .wrap(mockedAppsContext) + .build(), + }); + + screen.getByRole('button', { name: 'Request' }).click(); +}); diff --git a/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.tsx b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.tsx index 6c854119028d3..cfd93ef59260d 100644 --- a/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.tsx +++ b/apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppStatus/AppStatus.tsx @@ -10,9 +10,9 @@ import semver from 'semver'; import { useIsEnterprise } from '../../../../../hooks/useIsEnterprise'; import type { appStatusSpanResponseProps } from '../../../helpers'; import { appButtonProps, appMultiStatusProps } from '../../../helpers'; -import { marketplaceActions } from '../../../helpers/marketplaceActions'; import type { AppInstallationHandlerParams } from '../../../hooks/useAppInstallationHandler'; import { useAppInstallationHandler } from '../../../hooks/useAppInstallationHandler'; +import { useMarketplaceActions } from '../../../hooks/useMarketplaceActions'; import AppStatusPriceDisplay from './AppStatusPriceDisplay'; type AppStatusProps = { @@ -48,18 +48,22 @@ const AppStatus = ({ app, showStatus = true, isAppDetailsPage, installed, ...pro const action = button?.action; + const marketplaceActions = useMarketplaceActions(); + const confirmAction = useCallback( async (action, permissionsGranted) => { - if (action !== 'request') { - setPurchased(true); - await marketplaceActions[action]({ ...app, permissionsGranted }); - } else { - setEndUserRequested(true); + if (action) { + if (action !== 'request') { + setPurchased(true); + await marketplaceActions[action]({ ...app, permissionsGranted }); + } else { + setEndUserRequested(true); + } } setLoading(false); }, - [app, setLoading, setPurchased], + [app, marketplaceActions, setLoading, setPurchased], ); const cancelAction = useCallback(() => { diff --git a/apps/meteor/client/views/marketplace/AppMenu.spec.tsx b/apps/meteor/client/views/marketplace/AppMenu.spec.tsx new file mode 100644 index 0000000000000..8eea5386b3b77 --- /dev/null +++ b/apps/meteor/client/views/marketplace/AppMenu.spec.tsx @@ -0,0 +1,30 @@ +import { faker } from '@faker-js/faker'; +import { mockAppRoot } from '@rocket.chat/mock-providers'; +import { render, screen } from '@testing-library/react'; +import React from 'react'; +import '@testing-library/jest-dom'; + +import { mockedAppsContext } from '../../../tests/mocks/client/marketplace'; +import { createFakeApp } from '../../../tests/mocks/data'; +import AppMenu from './AppMenu'; + +describe('without app details', () => { + it('should look good', async () => { + const app = createFakeApp(); + + render(, { + wrapper: mockAppRoot() + .withEndpoint('GET', '/apps/count', async () => ({ + maxMarketplaceApps: faker.number.int({ min: 0 }), + installedApps: faker.number.int({ min: 0 }), + maxPrivateApps: faker.number.int({ min: 0 }), + totalMarketplaceEnabled: faker.number.int({ min: 0 }), + totalPrivateEnabled: faker.number.int({ min: 0 }), + })) + .wrap(mockedAppsContext) + .build(), + }); + + expect(screen.getByRole('button', { name: 'More_options' })).toBeInTheDocument(); + }); +}); diff --git a/apps/meteor/client/views/marketplace/AppMenu.tsx b/apps/meteor/client/views/marketplace/AppMenu.tsx new file mode 100644 index 0000000000000..be1159ebd4e28 --- /dev/null +++ b/apps/meteor/client/views/marketplace/AppMenu.tsx @@ -0,0 +1,48 @@ +import type { App } from '@rocket.chat/core-typings'; +import { MenuItem, MenuItemContent, MenuSection, MenuV2, Skeleton } from '@rocket.chat/fuselage'; +import { useTranslation } from '@rocket.chat/ui-contexts'; +import React, { memo } from 'react'; + +import { useHandleMenuAction } from '../../components/GenericMenu/hooks/useHandleMenuAction'; +import type { AppMenuOption } from './hooks/useAppMenu'; +import { useAppMenu } from './hooks/useAppMenu'; + +type AppMenuProps = { + app: App; + isAppDetailsPage: boolean; +}; + +const AppMenu = ({ app, isAppDetailsPage }: AppMenuProps) => { + const t = useTranslation(); + + const { isLoading, isAdminUser, sections } = useAppMenu(app, isAppDetailsPage); + + const itemsList = sections.reduce((acc, { items }) => [...acc, ...items], [] as AppMenuOption[]); + + const onAction = useHandleMenuAction(itemsList); + const disabledKeys = itemsList.filter((item) => item.disabled).map((item) => item.id); + + if (isLoading) { + return ; + } + + if (!isAdminUser && app?.installed && sections.length === 0) { + return null; + } + + return ( + + {sections.map(({ items }, idx) => ( + + {items.map((option) => ( + + {option.content} + + ))} + + ))} + + ); +}; + +export default memo(AppMenu); diff --git a/apps/meteor/client/views/marketplace/IframeModal.js b/apps/meteor/client/views/marketplace/IframeModal.tsx similarity index 72% rename from apps/meteor/client/views/marketplace/IframeModal.js rename to apps/meteor/client/views/marketplace/IframeModal.tsx index f69002e527c38..44616c1f68748 100644 --- a/apps/meteor/client/views/marketplace/IframeModal.js +++ b/apps/meteor/client/views/marketplace/IframeModal.tsx @@ -1,8 +1,9 @@ import { Box, Modal } from '@rocket.chat/fuselage'; import { useTranslation } from '@rocket.chat/ui-contexts'; +import type { ComponentProps } from 'react'; import React, { useEffect } from 'react'; -const iframeMsgListener = (confirm, cancel) => (e) => { +const iframeMsgListener = (confirm: (data: any) => void, cancel: () => void) => (e: MessageEvent) => { let data; try { data = JSON.parse(e.data); @@ -13,7 +14,14 @@ const iframeMsgListener = (confirm, cancel) => (e) => { data.result ? confirm(data) : cancel(); }; -const IframeModal = ({ url, confirm, cancel, wrapperHeight = 'x360', ...props }) => { +type IframeModalProps = { + url: string; + confirm: (data: any) => void; + cancel: () => void; + wrapperHeight?: string; +} & ComponentProps; + +const IframeModal = ({ url, confirm, cancel, wrapperHeight = 'x360', ...props }: IframeModalProps) => { const t = useTranslation(); useEffect(() => { diff --git a/apps/meteor/client/views/marketplace/components/UninstallGrandfatheredAppModal/UninstallGrandfatheredAppModal.tsx b/apps/meteor/client/views/marketplace/components/UninstallGrandfatheredAppModal/UninstallGrandfatheredAppModal.tsx index 0b38a263528be..ce87f0d4673a6 100644 --- a/apps/meteor/client/views/marketplace/components/UninstallGrandfatheredAppModal/UninstallGrandfatheredAppModal.tsx +++ b/apps/meteor/client/views/marketplace/components/UninstallGrandfatheredAppModal/UninstallGrandfatheredAppModal.tsx @@ -3,9 +3,10 @@ import { useTranslation } from '@rocket.chat/ui-contexts'; import React from 'react'; import MarkdownText from '../../../../components/MarkdownText'; +import type { MarketplaceRouteContext } from '../../hooks/useAppsCountQuery'; type UninstallGrandfatheredAppModalProps = { - context: 'explore' | 'marketplace' | 'private'; + context: MarketplaceRouteContext; limit: number; appName: string; handleUninstall: () => void; diff --git a/apps/meteor/client/views/marketplace/hooks/useAppInstallationHandler.tsx b/apps/meteor/client/views/marketplace/hooks/useAppInstallationHandler.tsx index eca06002ec571..3c0c41798172e 100644 --- a/apps/meteor/client/views/marketplace/hooks/useAppInstallationHandler.tsx +++ b/apps/meteor/client/views/marketplace/hooks/useAppInstallationHandler.tsx @@ -2,7 +2,6 @@ import type { App } from '@rocket.chat/core-typings'; import { useEndpoint, useRouteParameter, useSetModal, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; import React, { useCallback } from 'react'; -import { AppClientOrchestratorInstance } from '../../../../ee/client/apps/orchestrator'; import { useExternalLink } from '../../../hooks/useExternalLink'; import { useCheckoutUrl } from '../../admin/subscription/hooks/useCheckoutUrl'; import IframeModal from '../IframeModal'; @@ -10,15 +9,16 @@ import AppInstallModal from '../components/AppInstallModal/AppInstallModal'; import type { Actions } from '../helpers'; import { handleAPIError } from '../helpers/handleAPIError'; import { isMarketplaceRouteContext, useAppsCountQuery } from './useAppsCountQuery'; +import { useAppsOrchestration } from './useAppsOrchestration'; import { useOpenAppPermissionsReviewModal } from './useOpenAppPermissionsReviewModal'; import { useOpenIncompatibleModal } from './useOpenIncompatibleModal'; export type AppInstallationHandlerParams = { app: App; - action: Actions; - isAppPurchased: boolean; + action: Actions | ''; + isAppPurchased?: boolean; onDismiss: () => void; - onSuccess: (action: Actions, appPermissions?: App['permissions']) => void; + onSuccess: (action: Actions | '', appPermissions?: App['permissions']) => void; }; export function useAppInstallationHandler({ app, action, isAppPurchased, onDismiss, onSuccess }: AppInstallationHandlerParams) { @@ -52,10 +52,16 @@ export function useAppInstallationHandler({ app, action, isAppPurchased, onDismi const openPermissionModal = useOpenAppPermissionsReviewModal({ app, onCancel: closeModal, onConfirm: success }); + const appsOrchestrator = useAppsOrchestration(); + + if (!appsOrchestrator) { + throw new Error('Apps orchestrator is not available'); + } + const acquireApp = useCallback(async () => { if (action === 'purchase' && !isAppPurchased) { try { - const data = await AppClientOrchestratorInstance.buildExternalUrl(app.id, app.purchaseType, false); + const data = await appsOrchestrator.buildExternalUrl(app.id, app.purchaseType, false); setModal(); } catch (error) { handleAPIError(error); @@ -64,7 +70,7 @@ export function useAppInstallationHandler({ app, action, isAppPurchased, onDismi } openPermissionModal(); - }, [action, isAppPurchased, openPermissionModal, app.id, app.purchaseType, setModal, onDismiss]); + }, [action, isAppPurchased, openPermissionModal, appsOrchestrator, app.id, app.purchaseType, setModal, onDismiss]); return useCallback(async () => { if (app?.versionIncompatible) { @@ -88,7 +94,7 @@ export function useAppInstallationHandler({ app, action, isAppPurchased, onDismi }; try { - const data = await AppClientOrchestratorInstance.buildExternalAppRequest(app.id); + const data = await appsOrchestrator.buildExternalAppRequest(app.id); setModal(); } catch (error) { handleAPIError(error); @@ -120,6 +126,7 @@ export function useAppInstallationHandler({ app, action, isAppPurchased, onDismi ); }, [ app, + appsOrchestrator, action, appCountQuery.data, setModal, diff --git a/apps/meteor/client/views/marketplace/AppMenu.js b/apps/meteor/client/views/marketplace/hooks/useAppMenu.tsx similarity index 55% rename from apps/meteor/client/views/marketplace/AppMenu.js rename to apps/meteor/client/views/marketplace/hooks/useAppMenu.tsx index f50651ac4f53a..25ae9bc0ead84 100644 --- a/apps/meteor/client/views/marketplace/AppMenu.js +++ b/apps/meteor/client/views/marketplace/hooks/useAppMenu.tsx @@ -1,4 +1,6 @@ -import { Box, Icon, Menu, Skeleton } from '@rocket.chat/fuselage'; +import { AppStatus } from '@rocket.chat/apps-engine/definition/AppStatus'; +import type { App } from '@rocket.chat/core-typings'; +import { Box, Icon } from '@rocket.chat/fuselage'; import { useSetModal, useEndpoint, @@ -8,74 +10,101 @@ import { usePermission, useRouter, } from '@rocket.chat/ui-contexts'; +import type { MouseEvent, ReactNode } from 'react'; import React, { useMemo, useCallback, useState } from 'react'; import semver from 'semver'; -import WarningModal from '../../components/WarningModal'; -import { useIsEnterprise } from '../../hooks/useIsEnterprise'; -import IframeModal from './IframeModal'; -import UninstallGrandfatheredAppModal from './components/UninstallGrandfatheredAppModal/UninstallGrandfatheredAppModal'; -import { appEnabledStatuses, appButtonProps } from './helpers'; -import { handleAPIError } from './helpers/handleAPIError'; -import { marketplaceActions } from './helpers/marketplaceActions'; -import { warnEnableDisableApp } from './helpers/warnEnableDisableApp'; -import { useAppInstallationHandler } from './hooks/useAppInstallationHandler'; -import { useAppsCountQuery } from './hooks/useAppsCountQuery'; -import { useOpenAppPermissionsReviewModal } from './hooks/useOpenAppPermissionsReviewModal'; -import { useOpenIncompatibleModal } from './hooks/useOpenIncompatibleModal'; - -function AppMenu({ app, isAppDetailsPage, ...props }) { +import WarningModal from '../../../components/WarningModal'; +import { useIsEnterprise } from '../../../hooks/useIsEnterprise'; +import IframeModal from '../IframeModal'; +import UninstallGrandfatheredAppModal from '../components/UninstallGrandfatheredAppModal/UninstallGrandfatheredAppModal'; +import type { Actions } from '../helpers'; +import { appEnabledStatuses, appButtonProps } from '../helpers'; +import { handleAPIError } from '../helpers/handleAPIError'; +import { warnEnableDisableApp } from '../helpers/warnEnableDisableApp'; +import { useAppInstallationHandler } from './useAppInstallationHandler'; +import type { MarketplaceRouteContext } from './useAppsCountQuery'; +import { useAppsCountQuery } from './useAppsCountQuery'; +import { useMarketplaceActions } from './useMarketplaceActions'; +import { useOpenAppPermissionsReviewModal } from './useOpenAppPermissionsReviewModal'; +import { useOpenIncompatibleModal } from './useOpenIncompatibleModal'; + +export type AppMenuOption = { + id: string; + section: number; + content: ReactNode; + disabled?: boolean; + onClick?: (e?: MouseEvent) => void; +}; + +type AppMenuSections = { + items: AppMenuOption[]; +}[]; + +export const useAppMenu = (app: App, isAppDetailsPage: boolean) => { const t = useTranslation(); - const dispatchToastMessage = useToastMessageDispatch(); - const setModal = useSetModal(); const router = useRouter(); + const setModal = useSetModal(); + const dispatchToastMessage = useToastMessageDispatch(); + const openIncompatibleModal = useOpenIncompatibleModal(); - const context = useRouteParameter('context'); + const context = useRouteParameter('context') as MarketplaceRouteContext; const currentTab = useRouteParameter('tab'); + const appCountQuery = useAppsCountQuery(context); - const setAppStatus = useEndpoint('POST', `/apps/${app.id}/status`); - const buildExternalUrl = useEndpoint('GET', '/apps'); - const syncApp = useEndpoint('POST', `/apps/${app.id}/sync`); - const uninstallApp = useEndpoint('DELETE', `/apps/${app.id}`); + const isAdminUser = usePermission('manage-apps'); const { data } = useIsEnterprise(); - const isEnterpriseLicense = !!data?.isEnterprise; - const [loading, setLoading] = useState(false); + const [isLoading, setLoading] = useState(false); const [requestedEndUser, setRequestedEndUser] = useState(app.requestedEndUser); - - const canAppBeSubscribed = app.purchaseType === 'subscription'; - const isSubscribed = app.subscriptionInfo && ['active', 'trialing'].includes(app.subscriptionInfo.status); - const isAppEnabled = appEnabledStatuses.includes(app.status); const [isAppPurchased, setPurchased] = useState(app?.isPurchased); - const isAdminUser = usePermission('manage-apps'); - const appCountQuery = useAppsCountQuery(context); - const openIncompatibleModal = useOpenIncompatibleModal(); - - const button = appButtonProps({ ...app, isAdminUser }); + const button = appButtonProps({ ...app, isAdminUser, endUserRequested: false }); + const buttonLabel = button?.label.replace(' ', '_') as + | 'Update' + | 'Install' + | 'Subscribe' + | 'See_Pricing' + | 'Try_now' + | 'Buy' + | 'Request' + | 'Requested'; const action = button?.action || ''; + const setAppStatus = useEndpoint<'POST', '/apps/:id/status'>('POST', '/apps/:id/status', { id: app.id }); + const buildExternalUrl = useEndpoint('GET', '/apps'); + const syncApp = useEndpoint<'POST', '/apps/:id/sync'>('POST', '/apps/:id/sync', { id: app.id }); + const uninstallApp = useEndpoint<'DELETE', '/apps/:id'>('DELETE', '/apps/:id', { id: app.id }); + + const canAppBeSubscribed = app.purchaseType === 'subscription'; + const isSubscribed = app.subscriptionInfo && ['active', 'trialing'].includes(app.subscriptionInfo.status); + const isAppEnabled = app.status ? appEnabledStatuses.includes(app.status) : false; + const closeModal = useCallback(() => { setModal(null); setLoading(false); }, [setModal, setLoading]); + const marketplaceActions = useMarketplaceActions(); + const installationSuccess = useCallback( - async (action, permissionsGranted) => { - if (action === 'purchase') { - setPurchased(true); - } + async (action: Actions | '', permissionsGranted) => { + if (action) { + if (action === 'purchase') { + setPurchased(true); + } - if (action === 'request') { - setRequestedEndUser(true); - } else { - await marketplaceActions[action]({ ...app, permissionsGranted }); + if (action === 'request') { + setRequestedEndUser(true); + } else { + await marketplaceActions[action]({ ...app, permissionsGranted }); + } } setLoading(false); }, - [app, setLoading], + [app, marketplaceActions, setLoading], ); const openPermissionModal = useOpenAppPermissionsReviewModal({ @@ -105,12 +134,12 @@ function AppMenu({ app, isAppDetailsPage, ...props }) { let data; try { - data = await buildExternalUrl({ + data = (await buildExternalUrl({ buildExternalUrl: 'true', appId: app.id, purchaseType: app.purchaseType, - details: true, - }); + details: 'true', + })) as { url: string }; } catch (error) { handleAPIError(error); return; @@ -144,7 +173,7 @@ function AppMenu({ app, isAppDetailsPage, ...props }) { const confirm = async () => { closeModal(); try { - const { status } = await setAppStatus({ status: 'manually_disabled' }); + const { status } = await setAppStatus({ status: AppStatus.MANUALLY_DISABLED }); warnEnableDisableApp(app.name, status, 'disable'); } catch (error) { handleAPIError(error); @@ -157,7 +186,7 @@ function AppMenu({ app, isAppDetailsPage, ...props }) { const handleEnable = useCallback(async () => { try { - const { status } = await setAppStatus({ status: 'manually_enabled' }); + const { status } = await setAppStatus({ status: AppStatus.MANUALLY_ENABLED }); warnEnableDisableApp(app.name, status, 'enable'); } catch (error) { handleAPIError(error); @@ -276,121 +305,128 @@ function AppMenu({ app, isAppDetailsPage, ...props }) { const canUpdate = app.installed && app.version && app.marketplaceVersion && semver.lt(app.version, app.marketplaceVersion); - const menuOptions = useMemo(() => { - const bothAppStatusOptions = { - ...(canAppBeSubscribed && + const menuSections = useMemo(() => { + const bothAppStatusOptions = [ + canAppBeSubscribed && isSubscribed && isAdminUser && { - subscribe: { - label: ( - <> - - {t('Subscription')} - - ), - action: handleSubscription, - }, - }), - }; - - const nonInstalledAppOptions = { - ...(!app.installed && - button && { - acquire: { - label: ( - <> - {isAdminUser && } - {t(button.label.replace(' ', '_'))} - - ), - action: handleAcquireApp, - disabled: requestedEndUser, - }, - }), - }; + id: 'subscribe', + section: 0, + content: ( + <> + + {t('Subscription')} + + ), + onClick: handleSubscription, + }, + ]; + + const nonInstalledAppOptions = [ + !app.installed && + !!button && { + id: 'acquire', + section: 0, + disabled: requestedEndUser, + content: ( + <> + {isAdminUser && } + {t(buttonLabel)} + + ), + onClick: handleAcquireApp, + }, + ]; const isEnterpriseOrNot = (app.isEnterpriseOnly && isEnterpriseLicense) || !app.isEnterpriseOnly; const isPossibleToEnableApp = app.installed && isAdminUser && !isAppEnabled && isEnterpriseOrNot; const doesItReachedTheLimit = - !app.migrated && !appCountQuery?.data?.hasUnlimitedApps && appCountQuery?.data?.enabled >= appCountQuery?.data?.limit; + !app.migrated && + !appCountQuery?.data?.hasUnlimitedApps && + !!appCountQuery?.data?.enabled && + appCountQuery?.data?.enabled >= appCountQuery?.data?.limit; - const installedAppOptions = { - ...(context !== 'details' && + const installedAppOptions = [ + context !== 'details' && isAdminUser && app.installed && { - viewLogs: { - label: ( - <> - - {t('View_Logs')} - - ), - action: handleViewLogs, - }, - }), - ...(isAdminUser && - canUpdate && + id: 'viewLogs', + section: 0, + content: ( + <> + + {t('View_Logs')} + + ), + onClick: handleViewLogs, + }, + isAdminUser && + !!canUpdate && !isAppDetailsPage && { - update: { - label: ( - <> - - {t('Update')} - - ), - action: handleUpdate, - }, - }), - ...(app.installed && - isAdminUser && - isAppEnabled && { - disable: { - label: ( - - - {t('Disable')} - - ), - action: handleDisable, - }, - }), - ...(isPossibleToEnableApp && { - enable: { - label: ( + id: 'update', + section: 0, + content: ( <> - - {t('Enable')} + + {t('Update')} ), - disabled: doesItReachedTheLimit, - action: handleEnable, + onClick: handleUpdate, }, - }), - ...(app.installed && - isAdminUser && { - divider: { - type: 'divider', - }, - }), - ...(app.installed && + app.installed && + isAdminUser && + isAppEnabled && { + id: 'disable', + section: 0, + content: ( + + + {t('Disable')} + + ), + onClick: handleDisable, + }, + isPossibleToEnableApp && { + id: 'enable', + section: 0, + disabled: doesItReachedTheLimit, + content: ( + <> + + {t('Enable')} + + ), + onClick: handleEnable, + }, + app.installed && isAdminUser && { - uninstall: { - label: ( - - - {t('Uninstall')} - - ), - action: handleUninstall, - }, - }), - }; + id: 'uninstall', + section: 1, + content: ( + + + {t('Uninstall')} + + ), + onClick: handleUninstall, + }, + ]; - return { - ...bothAppStatusOptions, - ...nonInstalledAppOptions, - ...installedAppOptions, - }; + const filtered = [...bothAppStatusOptions, ...nonInstalledAppOptions, ...installedAppOptions].flatMap((value) => + value && typeof value !== 'boolean' ? value : [], + ); + + const sections: AppMenuSections = []; + + filtered.forEach((option) => { + if (typeof sections[option.section] === 'undefined') { + sections[option.section] = { items: [] }; + } + + sections[option.section].items.push(option); + }); + + return sections; }, [ canAppBeSubscribed, isSubscribed, @@ -400,8 +436,9 @@ function AppMenu({ app, isAppDetailsPage, ...props }) { t, handleSubscription, button, - handleAcquireApp, requestedEndUser, + buttonLabel, + handleAcquireApp, isEnterpriseLicense, isAppEnabled, appCountQuery?.data?.hasUnlimitedApps, @@ -417,15 +454,5 @@ function AppMenu({ app, isAppDetailsPage, ...props }) { handleUninstall, ]); - if (loading) { - return ; - } - - if (!isAdminUser && app?.installed) { - return null; - } - - return ; -} - -export default AppMenu; + return { isLoading, isAdminUser, sections: menuSections }; +}; diff --git a/apps/meteor/client/views/marketplace/hooks/useAppsCountQuery.ts b/apps/meteor/client/views/marketplace/hooks/useAppsCountQuery.ts index a571eac3b71f7..b23c19a2df403 100644 --- a/apps/meteor/client/views/marketplace/hooks/useAppsCountQuery.ts +++ b/apps/meteor/client/views/marketplace/hooks/useAppsCountQuery.ts @@ -11,7 +11,7 @@ const getProgressBarValues = (numberOfEnabledApps: number, enabledAppsLimit: num percentage: Math.round((numberOfEnabledApps / enabledAppsLimit) * 100), }); -export type MarketplaceRouteContext = 'private' | 'explore' | 'installed' | 'premium' | 'requested'; +export type MarketplaceRouteContext = 'private' | 'explore' | 'installed' | 'premium' | 'requested' | 'details'; export function isMarketplaceRouteContext(context: string): context is MarketplaceRouteContext { return ['private', 'explore', 'installed', 'premium', 'requested'].includes(context); diff --git a/apps/meteor/client/views/marketplace/hooks/useAppsOrchestration.ts b/apps/meteor/client/views/marketplace/hooks/useAppsOrchestration.ts new file mode 100644 index 0000000000000..18cd8d3d070af --- /dev/null +++ b/apps/meteor/client/views/marketplace/hooks/useAppsOrchestration.ts @@ -0,0 +1,9 @@ +import { useContext } from 'react'; + +import { AppsContext } from '../../../contexts/AppsContext'; + +export const useAppsOrchestration = () => { + const { orchestrator } = useContext(AppsContext); + + return orchestrator; +}; diff --git a/apps/meteor/client/views/marketplace/hooks/useMarketplaceActions.ts b/apps/meteor/client/views/marketplace/hooks/useMarketplaceActions.ts new file mode 100644 index 0000000000000..84882e35de8b1 --- /dev/null +++ b/apps/meteor/client/views/marketplace/hooks/useMarketplaceActions.ts @@ -0,0 +1,57 @@ +import type { App, AppPermission } from '@rocket.chat/core-typings'; +import { useMutation } from '@tanstack/react-query'; + +import { handleAPIError } from '../helpers/handleAPIError'; +import { warnAppInstall } from '../helpers/warnAppInstall'; +import { warnStatusChange } from '../helpers/warnStatusChange'; +import { useAppsOrchestration } from './useAppsOrchestration'; + +type InstallAppParams = App & { + permissionsGranted?: AppPermission[]; +}; + +type UpdateAppParams = App & { + permissionsGranted?: AppPermission[]; +}; + +export const useMarketplaceActions = () => { + const appsOrchestrator = useAppsOrchestration(); + + if (!appsOrchestrator) { + throw new Error('Apps orchestrator is not available'); + } + + const installAppMutation = useMutation( + ({ id, marketplaceVersion, permissionsGranted }: InstallAppParams) => + appsOrchestrator.installApp(id, marketplaceVersion, permissionsGranted), + { + onSuccess: ({ status }, { name }) => { + if (!status) return; + warnAppInstall(name, status); + }, + onError: (error) => { + handleAPIError(error); + }, + }, + ); + + const updateAppMutation = useMutation( + ({ id, marketplaceVersion, permissionsGranted }: UpdateAppParams) => + appsOrchestrator.updateApp(id, marketplaceVersion, permissionsGranted), + { + onSuccess: ({ status }, { name }) => { + if (!status) return; + warnStatusChange(name, status); + }, + onError: (error) => { + handleAPIError(error); + }, + }, + ); + + return { + purchase: installAppMutation.mutateAsync, + install: installAppMutation.mutateAsync, + update: updateAppMutation.mutateAsync, + } as const; +}; diff --git a/apps/meteor/client/views/marketplace/hooks/useOpenIncompatibleModal.tsx b/apps/meteor/client/views/marketplace/hooks/useOpenIncompatibleModal.tsx index b80bdb9a61a7a..1645f47f44321 100644 --- a/apps/meteor/client/views/marketplace/hooks/useOpenIncompatibleModal.tsx +++ b/apps/meteor/client/views/marketplace/hooks/useOpenIncompatibleModal.tsx @@ -1,13 +1,19 @@ import { useSetModal } from '@rocket.chat/ui-contexts'; import React, { useCallback } from 'react'; -import { AppClientOrchestratorInstance } from '../../../../ee/client/apps/orchestrator'; import IframeModal from '../IframeModal'; import { handleAPIError } from '../helpers/handleAPIError'; +import { useAppsOrchestration } from './useAppsOrchestration'; export const useOpenIncompatibleModal = () => { const setModal = useSetModal(); + const appsOrchestrator = useAppsOrchestration(); + + if (!appsOrchestrator) { + throw new Error('Apps orchestrator is not available'); + } + return useCallback( async (app, actionName, cancelAction) => { const handleCancel = () => { @@ -21,16 +27,12 @@ export const useOpenIncompatibleModal = () => { }; try { - const incompatibleData = await AppClientOrchestratorInstance.buildIncompatibleExternalUrl( - app.id, - app.marketplaceVersion, - actionName, - ); + const incompatibleData = await appsOrchestrator.buildIncompatibleExternalUrl(app.id, app.marketplaceVersion, actionName); setModal(); } catch (e) { handleAPIError(e); } }, - [setModal], + [appsOrchestrator, setModal], ); }; diff --git a/apps/meteor/client/views/room/contextualBar/Info/hooks/actions/useRoomHide.tsx b/apps/meteor/client/views/room/contextualBar/Info/hooks/actions/useRoomHide.tsx index fde85f426396f..c381359d52c4e 100644 --- a/apps/meteor/client/views/room/contextualBar/Info/hooks/actions/useRoomHide.tsx +++ b/apps/meteor/client/views/room/contextualBar/Info/hooks/actions/useRoomHide.tsx @@ -33,7 +33,6 @@ export const useRoomHide = (room: IRoom) => { text={t(warnText as TranslationKey, room.fname || room.name)} confirmText={t('Yes_hide_it')} close={() => setModal(null)} - cancel={() => setModal(null)} cancelText={t('Cancel')} confirm={hide} />, diff --git a/apps/meteor/client/views/room/contextualBar/Info/hooks/actions/useRoomLeave.tsx b/apps/meteor/client/views/room/contextualBar/Info/hooks/actions/useRoomLeave.tsx index 6b842c1fc173a..bc7d670ccc1c1 100644 --- a/apps/meteor/client/views/room/contextualBar/Info/hooks/actions/useRoomLeave.tsx +++ b/apps/meteor/client/views/room/contextualBar/Info/hooks/actions/useRoomLeave.tsx @@ -38,7 +38,6 @@ export const useRoomLeave = (room: IRoom, joined = true) => { text={t(warnText as TranslationKey, room.fname || room.name)} confirmText={t('Leave_room')} close={() => setModal(null)} - cancel={() => setModal(null)} cancelText={t('Cancel')} confirm={leaveAction} />, diff --git a/apps/meteor/ee/client/apps/orchestrator.ts b/apps/meteor/ee/client/apps/orchestrator.ts index a921c8cb61bea..d16be3d0c8c75 100644 --- a/apps/meteor/ee/client/apps/orchestrator.ts +++ b/apps/meteor/ee/client/apps/orchestrator.ts @@ -1,4 +1,5 @@ import { AppClientManager } from '@rocket.chat/apps-engine/client/AppClientManager'; +import type { AppsEngineUIHost } from '@rocket.chat/apps-engine/client/AppsEngineUIHost'; import type { IPermission } from '@rocket.chat/apps-engine/definition/permissions/IPermission'; import type { ISetting } from '@rocket.chat/apps-engine/definition/settings'; import type { Serialized } from '@rocket.chat/core-typings'; @@ -11,7 +12,7 @@ import type { IAppExternalURL, ICategory } from './@types/IOrchestrator'; import { RealAppsEngineUIHost } from './RealAppsEngineUIHost'; class AppClientOrchestrator { - private _appClientUIHost: RealAppsEngineUIHost; + private _appClientUIHost: AppsEngineUIHost; private _manager: AppClientManager; diff --git a/apps/meteor/tests/mocks/client/marketplace.tsx b/apps/meteor/tests/mocks/client/marketplace.tsx new file mode 100644 index 0000000000000..f0147509cb12d --- /dev/null +++ b/apps/meteor/tests/mocks/client/marketplace.tsx @@ -0,0 +1,69 @@ +import { faker } from '@faker-js/faker'; +import { AppClientManager } from '@rocket.chat/apps-engine/client/AppClientManager'; +import { AppsEngineUIHost } from '@rocket.chat/apps-engine/client/AppsEngineUIHost'; +import type { IExternalComponentRoomInfo } from '@rocket.chat/apps-engine/client/definition'; +import React from 'react'; +import type { ReactNode } from 'react'; + +import { AppsContext, type IAppsOrchestrator } from '../../../client/contexts/AppsContext'; +import { AsyncStatePhase } from '../../../client/lib/asyncState'; +import { createFakeApp, createFakeExternalComponentRoomInfo, createFakeExternalComponentUserInfo } from '../data'; + +class MockedAppsEngineUIHost extends AppsEngineUIHost { + public async getClientRoomInfo(): Promise { + return createFakeExternalComponentRoomInfo(); + } + + public async getClientUserInfo() { + return createFakeExternalComponentUserInfo(); + } +} + +class MockedAppClientManager extends AppClientManager {} + +export const mockAppsOrchestrator = () => { + const appsEngineUIHost = new MockedAppsEngineUIHost(); + const manager = new MockedAppClientManager(appsEngineUIHost); + + const orchestrator: IAppsOrchestrator = { + load: () => Promise.resolve(), + getAppClientManager: () => manager, + handleError: () => undefined, + getInstalledApps: async () => [], + getAppsFromMarketplace: async () => [], + getAppsOnBundle: async () => [], + getApp: () => Promise.reject(new Error('not implemented')), + setAppSettings: async () => undefined, + installApp: () => Promise.reject(new Error('not implemented')), + updateApp: () => Promise.reject(new Error('not implemented')), + buildExternalUrl: () => Promise.reject(new Error('not implemented')), + buildExternalAppRequest: () => Promise.reject(new Error('not implemented')), + buildIncompatibleExternalUrl: () => Promise.reject(new Error('not implemented')), + getCategories: () => Promise.reject(new Error('not implemented')), + }; + + return orchestrator; +}; + +export const mockedAppsContext = (children: ReactNode) => ( + Promise.resolve(), + orchestrator: mockAppsOrchestrator(), + }} + > + {children} + +); diff --git a/apps/meteor/tests/mocks/data.ts b/apps/meteor/tests/mocks/data.ts index 182c7cbede5de..812de9579b4ea 100644 --- a/apps/meteor/tests/mocks/data.ts +++ b/apps/meteor/tests/mocks/data.ts @@ -1,5 +1,7 @@ import { faker } from '@faker-js/faker'; -import type { IMessage, IRoom, ISubscription, IUser } from '@rocket.chat/core-typings'; +import type { IExternalComponentRoomInfo, IExternalComponentUserInfo } from '@rocket.chat/apps-engine/client/definition'; +import type { LicenseInfo } from '@rocket.chat/core-typings'; +import { AppSubscriptionStatus, type App, type IMessage, type IRoom, type ISubscription, type IUser } from '@rocket.chat/core-typings'; import { parse } from '@rocket.chat/message-parser'; import type { MessageWithMdEnforced } from '../../client/lib/parseMessageTextToAstMarkdown'; @@ -89,3 +91,140 @@ export function createFakeMessageWithMd(overrides?: Partial = {}): App { + const appId = faker.database.mongodbObjectId(); + + const app: App = { + id: appId, + iconFileData: faker.image.dataUri(), + name: faker.commerce.productName(), + appRequestStats: { + appId: partialApp.id ?? appId, + totalSeen: faker.number.int({ min: 0, max: 100 }), + totalUnseen: faker.number.int({ min: 0, max: 100 }), + }, + author: { + name: faker.company.name(), + homepage: faker.internet.url(), + support: faker.internet.email(), + }, + description: faker.lorem.paragraph(), + shortDescription: faker.lorem.sentence(), + privacyPolicySummary: faker.lorem.sentence(), + detailedDescription: { + raw: faker.lorem.paragraph(), + rendered: faker.lorem.paragraph(), + }, + detailedChangelog: { + raw: faker.lorem.paragraph(), + rendered: faker.lorem.paragraph(), + }, + categories: [], + version: faker.system.semver(), + versionIncompatible: faker.datatype.boolean(), + price: faker.number.float({ min: 0, max: 1000 }), + purchaseType: faker.helpers.arrayElement(['buy', 'subscription']), + pricingPlans: [], + iconFileContent: faker.image.dataUri(), + isSubscribed: faker.datatype.boolean(), + bundledIn: [], + marketplaceVersion: faker.system.semver(), + get latest() { + return app; + }, + subscriptionInfo: { + typeOf: faker.lorem.word(), + status: faker.helpers.enumValue(AppSubscriptionStatus), + statusFromBilling: faker.datatype.boolean(), + isSeatBased: faker.datatype.boolean(), + seats: faker.number.int({ min: 0, max: 50 }), + maxSeats: faker.number.int({ min: 50, max: 100 }), + license: { + license: faker.lorem.word(), + version: faker.number.int({ min: 0, max: 3 }), + expireDate: faker.date.future().toISOString(), + }, + startDate: faker.date.past().toISOString(), + periodEnd: faker.date.future().toISOString(), + endDate: faker.date.future().toISOString(), + isSubscribedViaBundle: faker.datatype.boolean(), + }, + tosLink: faker.internet.url(), + privacyLink: faker.internet.url(), + modifiedAt: faker.date.recent().toISOString(), + permissions: faker.helpers.multiple(() => ({ + name: faker.hacker.verb(), + required: faker.datatype.boolean(), + })), + languages: faker.helpers.multiple(() => faker.location.countryCode()), + createdDate: faker.date.past().toISOString(), + private: faker.datatype.boolean(), + documentationUrl: faker.internet.url(), + migrated: faker.datatype.boolean(), + ...partialApp, + }; + + return app; +} + +export const createFakeExternalComponentUserInfo = (partial: Partial = {}): IExternalComponentUserInfo => ({ + id: faker.database.mongodbObjectId(), + username: faker.internet.userName(), + avatarUrl: faker.image.avatar(), + ...partial, +}); + +export const createFakeExternalComponentRoomInfo = (partial: Partial = {}): IExternalComponentRoomInfo => ({ + id: faker.database.mongodbObjectId(), + members: faker.helpers.multiple(createFakeExternalComponentUserInfo), + slugifiedName: faker.lorem.slug(), + ...partial, +}); + +export const createFakeLicenseInfo = (partial: Partial> = {}): Omit => ({ + activeModules: faker.helpers.arrayElements([ + 'auditing', + 'canned-responses', + 'ldap-enterprise', + 'livechat-enterprise', + 'voip-enterprise', + 'omnichannel-mobile-enterprise', + 'engagement-dashboard', + 'push-privacy', + 'scalability', + 'teams-mention', + 'saml-enterprise', + 'oauth-enterprise', + 'device-management', + 'federation', + 'videoconference-enterprise', + 'message-read-receipt', + 'outlook-calendar', + 'hide-watermark', + 'custom-roles', + 'accessibility-certification', + ]), + preventedActions: { + activeUsers: faker.datatype.boolean(), + guestUsers: faker.datatype.boolean(), + roomsPerGuest: faker.datatype.boolean(), + privateApps: faker.datatype.boolean(), + marketplaceApps: faker.datatype.boolean(), + monthlyActiveContacts: faker.datatype.boolean(), + }, + limits: { + activeUsers: { value: faker.number.int({ min: 0 }), max: faker.number.int({ min: 0 }) }, + guestUsers: { value: faker.number.int({ min: 0 }), max: faker.number.int({ min: 0 }) }, + roomsPerGuest: { value: faker.number.int({ min: 0 }), max: faker.number.int({ min: 0 }) }, + privateApps: { value: faker.number.int({ min: 0 }), max: faker.number.int({ min: 0 }) }, + marketplaceApps: { value: faker.number.int({ min: 0 }), max: faker.number.int({ min: 0 }) }, + monthlyActiveContacts: { value: faker.number.int({ min: 0 }), max: faker.number.int({ min: 0 }) }, + }, + tags: faker.helpers.multiple(() => ({ + name: faker.commerce.productAdjective(), + color: faker.internet.color(), + })), + trial: faker.datatype.boolean(), + ...partial, +}); diff --git a/packages/mock-providers/src/MockedAppRootBuilder.tsx b/packages/mock-providers/src/MockedAppRootBuilder.tsx index 4ba47345efc91..a3b2ca725f473 100644 --- a/packages/mock-providers/src/MockedAppRootBuilder.tsx +++ b/packages/mock-providers/src/MockedAppRootBuilder.tsx @@ -40,13 +40,16 @@ export class MockedAppRootBuilder { private server: ContextType = { absoluteUrl: (path: string) => `http://localhost:3000/${path}`, - callEndpoint: (_args: { + callEndpoint: ({ + method, + pathPattern, + }: { method: TMethod; pathPattern: TPathPattern; keys: UrlParams; params: OperationParams; }): Promise>> => { - throw new Error('not implemented'); + throw new Error(`not implemented (method: ${method}, pathPattern: ${pathPattern})`); }, getStream: () => () => () => undefined, uploadToEndpoint: () => Promise.reject(new Error('not implemented')), diff --git a/packages/rest-typings/src/apps/index.ts b/packages/rest-typings/src/apps/index.ts index b4362d87ba417..f037f6b59c74a 100644 --- a/packages/rest-typings/src/apps/index.ts +++ b/packages/rest-typings/src/apps/index.ts @@ -124,7 +124,7 @@ export type AppsEndpoints = { status: string; }; POST: (params: { status: AppStatus }) => { - status: string; + status: AppStatus; }; }; From ef420b701370d5e3ce78ef095d04a739524411f1 Mon Sep 17 00:00:00 2001 From: rocketchat-github-ci Date: Tue, 30 Apr 2024 15:28:40 +0000 Subject: [PATCH 019/185] Bump 6.7.2 --- .changeset/bump-patch-1714490920088.md | 5 +++++ yarn.lock | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 .changeset/bump-patch-1714490920088.md diff --git a/.changeset/bump-patch-1714490920088.md b/.changeset/bump-patch-1714490920088.md new file mode 100644 index 0000000000000..e1eaa7980afb1 --- /dev/null +++ b/.changeset/bump-patch-1714490920088.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Bump @rocket.chat/meteor version. diff --git a/yarn.lock b/yarn.lock index b2646a7bced87..9be459e80e2c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8791,10 +8791,10 @@ __metadata: "@rocket.chat/icons": "*" "@rocket.chat/prettier-config": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 1.0.0 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-avatar": 1.0.1 + "@rocket.chat/ui-contexts": 5.0.1 "@rocket.chat/ui-kit": 0.33.0 - "@rocket.chat/ui-video-conf": 5.0.0 + "@rocket.chat/ui-video-conf": 5.0.1 "@tanstack/react-query": "*" react: "*" react-dom: "*" @@ -8883,8 +8883,8 @@ __metadata: "@rocket.chat/fuselage-tokens": "*" "@rocket.chat/message-parser": 0.31.29 "@rocket.chat/styled": "*" - "@rocket.chat/ui-client": 5.0.0 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-client": 5.0.1 + "@rocket.chat/ui-contexts": 5.0.1 katex: "*" react: "*" languageName: unknown @@ -10088,7 +10088,7 @@ __metadata: typescript: ~5.3.3 peerDependencies: "@rocket.chat/fuselage": "*" - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-contexts": 5.0.1 react: ~17.0.2 languageName: unknown linkType: soft @@ -10141,7 +10141,7 @@ __metadata: "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-contexts": 5.0.1 react: ~17.0.2 languageName: unknown linkType: soft @@ -10317,8 +10317,8 @@ __metadata: "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 1.0.0 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-avatar": 1.0.1 + "@rocket.chat/ui-contexts": 5.0.1 react: ^17.0.2 react-dom: ^17.0.2 languageName: unknown @@ -10408,7 +10408,7 @@ __metadata: peerDependencies: "@rocket.chat/layout": "*" "@rocket.chat/tools": 0.2.1 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-contexts": 5.0.1 "@tanstack/react-query": "*" react: "*" react-hook-form: "*" From ff2201abf5c79cbf219944642a3a71694815466c Mon Sep 17 00:00:00 2001 From: "dionisio-bot[bot]" <117394943+dionisio-bot[bot]@users.noreply.github.com> Date: Fri, 26 Apr 2024 14:15:38 +0000 Subject: [PATCH 020/185] fix: Engagement Dashboard and Device Management admin pages loading indefinitely (#32315) Co-authored-by: gabriellsh <40830821+gabriellsh@users.noreply.github.com> --- .changeset/yellow-lies-judge.md | 5 +++ .../DeviceManagementAdminRoute.tsx | 3 +- .../EngagementDashboardRoute.tsx | 3 +- apps/meteor/tests/e2e/administration.spec.ts | 32 +++++++++++++++++++ 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 .changeset/yellow-lies-judge.md diff --git a/.changeset/yellow-lies-judge.md b/.changeset/yellow-lies-judge.md new file mode 100644 index 0000000000000..15bc8e0819bde --- /dev/null +++ b/.changeset/yellow-lies-judge.md @@ -0,0 +1,5 @@ +--- +"@rocket.chat/meteor": patch +--- + +fixed Engagement Dashboard and Device Management admin pages loading indefinitely diff --git a/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx b/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx index 83e3b4eac72c4..c250728988ec0 100644 --- a/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx +++ b/apps/meteor/ee/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx @@ -14,7 +14,7 @@ const DeviceManagementAdminRoute = (): ReactElement => { const t = useTranslation(); const router = useRouter(); const setModal = useSetModal(); - const isModalOpen = useCurrentModal() !== null; + const isModalOpen = !!useCurrentModal(); const hasDeviceManagement = useHasLicenseModule('device-management') as boolean; const canViewDeviceManagement = usePermission('view-device-management'); @@ -25,6 +25,7 @@ const DeviceManagementAdminRoute = (): ReactElement => { if (shouldShowUpsell) { setModal( { const t = useTranslation(); const canViewEngagementDashboard = usePermission('view-engagement-dashboard'); const setModal = useSetModal(); - const isModalOpen = useCurrentModal() !== null; + const isModalOpen = !!useCurrentModal(); const router = useRouter(); const tab = useRouteParameter('tab'); @@ -39,6 +39,7 @@ const EngagementDashboardRoute = (): ReactElement | null => { if (shouldShowUpsell) { setModal( { }); }); + test.describe('Engagement dashboard', () => { + test('Should show upsell modal', async ({ page }) => { + test.skip(IS_EE); + await page.goto('/admin/engagement/users'); + + await expect(page.locator('role=dialog[name="Engagement dashboard"]')).toBeVisible(); + }); + + test('Should show engagement dashboard', async ({ page }) => { + test.skip(!IS_EE); + await page.goto('/admin/engagement/users'); + + await expect(page.locator('h1 >> text="Engagement"')).toBeVisible(); + }); + }); + + test.describe('Device management', () => { + test('Should show upsell modal', async ({ page }) => { + test.skip(IS_EE); + await page.goto('/admin/device-management'); + + await expect(page.locator('role=dialog[name="Device management"]')).toBeVisible(); + }); + + test('Should show device management page', async ({ page }) => { + test.skip(!IS_EE); + await page.goto('/admin/device-management'); + + await expect(page.locator('h1 >> text="Device management"')).toBeVisible(); + }); + }); + test.describe('Users', () => { test.beforeEach(async ({ page }) => { await page.goto('/admin/users'); From 3a9fa67ddf8fd9e295693ef124652d282f75b9aa Mon Sep 17 00:00:00 2001 From: csuadev <72958726+csuadev@users.noreply.github.com> Date: Tue, 30 Apr 2024 17:48:23 +0200 Subject: [PATCH 021/185] regression: move conversation closing tags field after the toggle that enables it (#32340) --- .../omnichannel/departments/EditDepartment.tsx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/meteor/client/views/omnichannel/departments/EditDepartment.tsx b/apps/meteor/client/views/omnichannel/departments/EditDepartment.tsx index c6761b580eaca..74763121e0008 100644 --- a/apps/meteor/client/views/omnichannel/departments/EditDepartment.tsx +++ b/apps/meteor/client/views/omnichannel/departments/EditDepartment.tsx @@ -434,15 +434,6 @@ function EditDepartment({ data, id, title, allowedToForwardData }: EditDepartmen - - - {t('Accept_receive_inquiry_no_online_agents')} - - - - {t('Accept_receive_inquiry_no_online_agents_Hint')} - - {requestTagBeforeClosingChat && ( @@ -470,6 +461,15 @@ function EditDepartment({ data, id, title, allowedToForwardData }: EditDepartmen )} )} + + + {t('Accept_receive_inquiry_no_online_agents')} + + + + {t('Accept_receive_inquiry_no_online_agents_Hint')} + + From a6a5098faed4b222708f233885d15f9257f309f5 Mon Sep 17 00:00:00 2001 From: Yash Rajpal <58601732+yash-rajpal@users.noreply.github.com> Date: Tue, 30 Apr 2024 23:43:46 +0530 Subject: [PATCH 022/185] chore: Revert File Description Encryption (#32324) --- .changeset/great-moles-rest.md | 5 - .../app/e2e/client/rocketchat.e2e.room.js | 14 --- apps/meteor/app/e2e/client/rocketchat.e2e.ts | 57 ++-------- .../server/methods/sendFileMessage.ts | 13 +-- .../message/content/Attachments.tsx | 12 +-- .../contexts/AttachmentEncryptionContext.tsx | 9 -- .../attachments/file/AudioAttachment.tsx | 5 +- .../file/GenericFileAttachment.tsx | 5 +- .../attachments/file/ImageAttachment.tsx | 5 +- .../attachments/file/VideoAttachment.tsx | 5 +- .../structure/AttachmentDescription.tsx | 33 ------ .../variants/room/RoomMessageContent.tsx | 8 +- .../variants/thread/ThreadMessageContent.tsx | 12 +-- .../ThreadMessagePreviewBody.tsx | 3 +- apps/meteor/client/lib/chats/ChatAPI.ts | 5 +- .../client/lib/chats/flows/uploadFiles.ts | 42 ++------ apps/meteor/client/lib/chats/uploads.ts | 12 +-- apps/meteor/tests/e2e/e2e-encryption.spec.ts | 102 ------------------ .../page-objects/fragments/home-content.ts | 28 ----- apps/meteor/tests/end-to-end/api/09-rooms.js | 27 ----- packages/rest-typings/src/v1/rooms.ts | 2 - 21 files changed, 41 insertions(+), 363 deletions(-) delete mode 100644 .changeset/great-moles-rest.md delete mode 100644 apps/meteor/client/components/message/content/attachments/contexts/AttachmentEncryptionContext.tsx delete mode 100644 apps/meteor/client/components/message/content/attachments/structure/AttachmentDescription.tsx diff --git a/.changeset/great-moles-rest.md b/.changeset/great-moles-rest.md deleted file mode 100644 index a615edd7df62f..0000000000000 --- a/.changeset/great-moles-rest.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': minor ---- - -Encrypt file descriptions in E2EE rooms diff --git a/apps/meteor/app/e2e/client/rocketchat.e2e.room.js b/apps/meteor/app/e2e/client/rocketchat.e2e.room.js index 9e2f72d381158..bd0863d691a9a 100644 --- a/apps/meteor/app/e2e/client/rocketchat.e2e.room.js +++ b/apps/meteor/app/e2e/client/rocketchat.e2e.room.js @@ -410,20 +410,6 @@ export class E2ERoom extends Emitter { return this.encryptText(data); } - encryptAttachmentDescription(description, _id) { - const ts = new Date(); - - const data = new TextEncoder('UTF-8').encode( - EJSON.stringify({ - userId: this.userId, - text: description, - _id, - ts, - }), - ); - return this.encryptText(data); - } - // Decrypt messages async decryptMessage(message) { diff --git a/apps/meteor/app/e2e/client/rocketchat.e2e.ts b/apps/meteor/app/e2e/client/rocketchat.e2e.ts index 472e719599337..1a98ce857f019 100644 --- a/apps/meteor/app/e2e/client/rocketchat.e2e.ts +++ b/apps/meteor/app/e2e/client/rocketchat.e2e.ts @@ -2,7 +2,7 @@ import QueryString from 'querystring'; import URL from 'url'; import type { IE2EEMessage, IMessage, IRoom, ISubscription } from '@rocket.chat/core-typings'; -import { isE2EEMessage, isFileAttachment } from '@rocket.chat/core-typings'; +import { isE2EEMessage } from '@rocket.chat/core-typings'; import { Emitter } from '@rocket.chat/emitter'; import EJSON from 'ejson'; import { Meteor } from 'meteor/meteor'; @@ -422,60 +422,19 @@ class E2E extends Emitter { const data = await e2eRoom.decrypt(message.msg); - const decryptedMessage: IE2EEMessage = { - ...message, - ...(data && { - msg: data.text, - e2e: 'done', - }), - }; - - const decryptedMessageWithQuote = await this.parseQuoteAttachment(decryptedMessage); - - const decryptedMessageWithAttachments = await this.decryptMessageAttachments(decryptedMessageWithQuote); - - return decryptedMessageWithAttachments; - } - - async decryptMessageAttachments(message: IMessage): Promise { - const { attachments } = message; - - if (!attachments || !attachments.length) { - return message; - } - - const e2eRoom = await this.getInstanceByRoomId(message.rid); - - if (!e2eRoom) { + if (!data) { return message; } - const decryptedAttachments = await Promise.all( - attachments.map(async (attachment) => { - if (!isFileAttachment(attachment)) { - return attachment; - } - - if (!attachment.description) { - return attachment; - } - - const data = await e2eRoom.decrypt(attachment.description); - - if (!data) { - return attachment; - } - - attachment.description = data.text; - return attachment; - }), - ); - - return { + const decryptedMessage: IE2EEMessage = { ...message, - attachments: decryptedAttachments, + msg: data.text, e2e: 'done', }; + + const decryptedMessageWithQuote = await this.parseQuoteAttachment(decryptedMessage); + + return decryptedMessageWithQuote; } async decryptPendingMessages(): Promise { diff --git a/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts b/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts index 08e3225ad9a1c..75edf5cc8414c 100644 --- a/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts +++ b/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts @@ -1,12 +1,4 @@ -import type { - MessageAttachment, - FileAttachmentProps, - IUser, - IUpload, - AtLeast, - FilesAndAttachments, - IMessage, -} from '@rocket.chat/core-typings'; +import type { MessageAttachment, FileAttachmentProps, IUser, IUpload, AtLeast, FilesAndAttachments } from '@rocket.chat/core-typings'; import { Rooms, Uploads, Users } from '@rocket.chat/models'; import type { ServerMethods } from '@rocket.chat/ui-contexts'; import { Match, check } from 'meteor/check'; @@ -186,8 +178,6 @@ export const sendFileMessage = async ( msg: Match.Optional(String), tmid: Match.Optional(String), customFields: Match.Optional(String), - t: Match.Optional(String), - e2e: Match.Optional(String), }), ); @@ -199,7 +189,6 @@ export const sendFileMessage = async ( file: files[0], files, attachments, - ...(msgData as Partial), ...(msgData?.customFields && { customFields: JSON.parse(msgData.customFields) }), msg: msgData?.msg ?? '', groupable: msgData?.groupable ?? false, diff --git a/apps/meteor/client/components/message/content/Attachments.tsx b/apps/meteor/client/components/message/content/Attachments.tsx index dea78a3f65135..ea9c03b9e7d33 100644 --- a/apps/meteor/client/components/message/content/Attachments.tsx +++ b/apps/meteor/client/components/message/content/Attachments.tsx @@ -3,22 +3,18 @@ import type { ReactElement } from 'react'; import React from 'react'; import AttachmentsItem from './attachments/AttachmentsItem'; -import { AttachmentEncryptionContext } from './attachments/contexts/AttachmentEncryptionContext'; type AttachmentsProps = { attachments: MessageAttachmentBase[]; id?: string | undefined; - isMessageEncrypted?: boolean; }; -const Attachments = ({ attachments, id, isMessageEncrypted = false }: AttachmentsProps): ReactElement => { +const Attachments = ({ attachments, id }: AttachmentsProps): ReactElement => { return ( <> - - {attachments?.map((attachment, index) => ( - - ))} - + {attachments?.map((attachment, index) => ( + + ))} ); }; diff --git a/apps/meteor/client/components/message/content/attachments/contexts/AttachmentEncryptionContext.tsx b/apps/meteor/client/components/message/content/attachments/contexts/AttachmentEncryptionContext.tsx deleted file mode 100644 index 0f34410bb4589..0000000000000 --- a/apps/meteor/client/components/message/content/attachments/contexts/AttachmentEncryptionContext.tsx +++ /dev/null @@ -1,9 +0,0 @@ -import { createContext } from 'react'; - -export type AttachmentEncryptionContextValue = { - isMessageEncrypted: boolean; -}; - -export const AttachmentEncryptionContext = createContext({ - isMessageEncrypted: false, -}); diff --git a/apps/meteor/client/components/message/content/attachments/file/AudioAttachment.tsx b/apps/meteor/client/components/message/content/attachments/file/AudioAttachment.tsx index 68cd7f973f73a..0f2082f96e319 100644 --- a/apps/meteor/client/components/message/content/attachments/file/AudioAttachment.tsx +++ b/apps/meteor/client/components/message/content/attachments/file/AudioAttachment.tsx @@ -3,8 +3,9 @@ import { AudioPlayer } from '@rocket.chat/fuselage'; import { useMediaUrl } from '@rocket.chat/ui-contexts'; import React from 'react'; +import MarkdownText from '../../../../MarkdownText'; import MessageCollapsible from '../../../MessageCollapsible'; -import AttachmentDescription from '../structure/AttachmentDescription'; +import MessageContentBody from '../../../MessageContentBody'; const AudioAttachment = ({ title, @@ -20,7 +21,7 @@ const AudioAttachment = ({ const getURL = useMediaUrl(); return ( <> - + {descriptionMd ? : } diff --git a/apps/meteor/client/components/message/content/attachments/file/GenericFileAttachment.tsx b/apps/meteor/client/components/message/content/attachments/file/GenericFileAttachment.tsx index 7838c0c22e2a5..4301520c61738 100644 --- a/apps/meteor/client/components/message/content/attachments/file/GenericFileAttachment.tsx +++ b/apps/meteor/client/components/message/content/attachments/file/GenericFileAttachment.tsx @@ -11,8 +11,9 @@ import type { UIEvent } from 'react'; import React from 'react'; import { getFileExtension } from '../../../../../../lib/utils/getFileExtension'; +import MarkdownText from '../../../../MarkdownText'; import MessageCollapsible from '../../../MessageCollapsible'; -import AttachmentDescription from '../structure/AttachmentDescription'; +import MessageContentBody from '../../../MessageContentBody'; import AttachmentSize from '../structure/AttachmentSize'; const openDocumentViewer = window.RocketChatDesktop?.openDocumentViewer; @@ -48,7 +49,7 @@ const GenericFileAttachment = ({ return ( <> - + {descriptionMd ? : } - + {descriptionMd ? : } - + {descriptionMd ? : } diff --git a/apps/meteor/client/components/message/content/attachments/structure/AttachmentDescription.tsx b/apps/meteor/client/components/message/content/attachments/structure/AttachmentDescription.tsx deleted file mode 100644 index 7040265b58348..0000000000000 --- a/apps/meteor/client/components/message/content/attachments/structure/AttachmentDescription.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { MessageBody } from '@rocket.chat/fuselage'; -import type { Root } from '@rocket.chat/message-parser'; -import { useTranslation } from '@rocket.chat/ui-contexts'; -import React, { memo, useContext } from 'react'; - -import MarkdownText from '../../../../MarkdownText'; -import MessageContentBody from '../../../MessageContentBody'; -import { AttachmentEncryptionContext } from '../contexts/AttachmentEncryptionContext'; - -type AttachmentDescriptionProps = { - descriptionMd?: Root; - description?: string; -}; - -const AttachmentDescription = ({ description, descriptionMd }: AttachmentDescriptionProps) => { - const t = useTranslation(); - - const { isMessageEncrypted } = useContext(AttachmentEncryptionContext); - - if (isMessageEncrypted) { - return {t('E2E_message_encrypted_placeholder')}; - } - - return descriptionMd ? ( - - ) : ( - - - - ); -}; - -export default memo(AttachmentDescription); diff --git a/apps/meteor/client/components/message/variants/room/RoomMessageContent.tsx b/apps/meteor/client/components/message/variants/room/RoomMessageContent.tsx index 4bd548393d022..29932e2762153 100644 --- a/apps/meteor/client/components/message/variants/room/RoomMessageContent.tsx +++ b/apps/meteor/client/components/message/variants/room/RoomMessageContent.tsx @@ -1,6 +1,5 @@ import type { IMessage } from '@rocket.chat/core-typings'; import { isDiscussionMessage, isThreadMainMessage, isE2EEMessage } from '@rocket.chat/core-typings'; -import { MessageBody } from '@rocket.chat/fuselage'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; import { useSetting, useTranslation, useUserId } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; @@ -44,7 +43,6 @@ const RoomMessageContent = ({ message, unread, all, mention, searchText }: RoomM const t = useTranslation(); const normalizedMessage = useNormalizedMessage(message); - const isMessageEncrypted = encrypted && normalizedMessage?.e2e === 'pending'; return ( <> @@ -59,7 +57,7 @@ const RoomMessageContent = ({ message, unread, all, mention, searchText }: RoomM searchText={searchText} /> )} - {isMessageEncrypted && {t('E2E_message_encrypted_placeholder')}} + {encrypted && normalizedMessage.e2e === 'pending' && t('E2E_message_encrypted_placeholder')} )} @@ -67,9 +65,7 @@ const RoomMessageContent = ({ message, unread, all, mention, searchText }: RoomM )} - {!!normalizedMessage?.attachments?.length && ( - - )} + {!!normalizedMessage?.attachments?.length && } {oembedEnabled && !!normalizedMessage.urls?.length && } diff --git a/apps/meteor/client/components/message/variants/thread/ThreadMessageContent.tsx b/apps/meteor/client/components/message/variants/thread/ThreadMessageContent.tsx index 1028c60874f0e..8616f12238123 100644 --- a/apps/meteor/client/components/message/variants/thread/ThreadMessageContent.tsx +++ b/apps/meteor/client/components/message/variants/thread/ThreadMessageContent.tsx @@ -1,6 +1,5 @@ import type { IThreadMainMessage, IThreadMessage } from '@rocket.chat/core-typings'; import { isE2EEMessage } from '@rocket.chat/core-typings'; -import { MessageBody } from '@rocket.chat/fuselage'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; import { useSetting, useUserId, useTranslation } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; @@ -37,7 +36,6 @@ const ThreadMessageContent = ({ message }: ThreadMessageContentProps): ReactElem const t = useTranslation(); const normalizedMessage = useNormalizedMessage(message); - const isMessageEncrypted = encrypted && normalizedMessage?.e2e === 'pending'; return ( <> @@ -46,7 +44,7 @@ const ThreadMessageContent = ({ message }: ThreadMessageContentProps): ReactElem {(!encrypted || normalizedMessage.e2e === 'done') && ( )} - {isMessageEncrypted && {t('E2E_message_encrypted_placeholder')}} + {encrypted && normalizedMessage.e2e === 'pending' && t('E2E_message_encrypted_placeholder')} )} @@ -54,13 +52,7 @@ const ThreadMessageContent = ({ message }: ThreadMessageContentProps): ReactElem )} - {normalizedMessage.attachments && ( - - )} + {normalizedMessage.attachments && } {oembedEnabled && !!normalizedMessage.urls?.length && } diff --git a/apps/meteor/client/components/message/variants/threadPreview/ThreadMessagePreviewBody.tsx b/apps/meteor/client/components/message/variants/threadPreview/ThreadMessagePreviewBody.tsx index 65c8e0ec97be6..33bce63745e26 100644 --- a/apps/meteor/client/components/message/variants/threadPreview/ThreadMessagePreviewBody.tsx +++ b/apps/meteor/client/components/message/variants/threadPreview/ThreadMessagePreviewBody.tsx @@ -1,6 +1,5 @@ import type { IMessage } from '@rocket.chat/core-typings'; import { isQuoteAttachment, isE2EEMessage } from '@rocket.chat/core-typings'; -import { MessageBody } from '@rocket.chat/fuselage'; import { PreviewMarkup } from '@rocket.chat/gazzodown'; import type { Root } from '@rocket.chat/message-parser'; import { useTranslation } from '@rocket.chat/ui-contexts'; @@ -40,7 +39,7 @@ const ThreadMessagePreviewBody = ({ message }: ThreadMessagePreviewBodyProps): R ); } if (isEncryptedMessage && message.e2e === 'pending') { - return {t('E2E_message_encrypted_placeholder')}; + return <>{t('E2E_message_encrypted_placeholder')}; } return <>{message.msg}; }; diff --git a/apps/meteor/client/lib/chats/ChatAPI.ts b/apps/meteor/client/lib/chats/ChatAPI.ts index 1b466e396c212..ceffab987a649 100644 --- a/apps/meteor/client/lib/chats/ChatAPI.ts +++ b/apps/meteor/client/lib/chats/ChatAPI.ts @@ -100,10 +100,7 @@ export type UploadsAPI = { subscribe(callback: () => void): () => void; wipeFailedOnes(): void; cancel(id: Upload['id']): void; - send( - file: File, - { description, msg, t, e2e }: { description?: string; msg?: string; t?: IMessage['t']; e2e?: IMessage['e2e'] }, - ): Promise; + send(file: File, { description, msg }: { description?: string; msg?: string }): Promise; }; export type ChatAPI = { diff --git a/apps/meteor/client/lib/chats/flows/uploadFiles.ts b/apps/meteor/client/lib/chats/flows/uploadFiles.ts index 801ac2aa883cf..82572aa2dbf5c 100644 --- a/apps/meteor/client/lib/chats/flows/uploadFiles.ts +++ b/apps/meteor/client/lib/chats/flows/uploadFiles.ts @@ -1,8 +1,5 @@ -import type { IMessage } from '@rocket.chat/core-typings'; import { isRoomFederated } from '@rocket.chat/core-typings'; -import { Random } from '@rocket.chat/random'; -import { e2e } from '../../../../app/e2e/client'; import { fileUploadIsValidContentType } from '../../../../app/utils/client'; import FileUploadModal from '../../../views/room/modals/FileUploadModal'; import { imperativeModal } from '../../imperativeModal'; @@ -18,17 +15,6 @@ export const uploadFiles = async (chat: ChatAPI, files: readonly File[], resetFi const queue = [...files]; - const uploadFile = (file: File, description?: string, extraData?: Pick) => { - chat.uploads.send(file, { - description, - msg, - ...extraData, - }); - chat.composer?.clear(); - imperativeModal.close(); - uploadNextFile(); - }; - const uploadNextFile = (): void => { const file = queue.pop(); if (!file) { @@ -47,30 +33,18 @@ export const uploadFiles = async (chat: ChatAPI, files: readonly File[], resetFi imperativeModal.close(); uploadNextFile(); }, - onSubmit: async (fileName: string, description?: string): Promise => { + onSubmit: (fileName: string, description?: string): void => { Object.defineProperty(file, 'name', { writable: true, value: fileName, }); - - // encrypt attachment description - const e2eRoom = await e2e.getInstanceByRoomId(room._id); - - if (!e2eRoom) { - uploadFile(file, description); - return; - } - - const shouldConvertSentMessages = e2eRoom.shouldConvertSentMessages({ msg }); - - if (!shouldConvertSentMessages) { - uploadFile(file, description); - return; - } - - const encryptedDescription = await e2eRoom.encryptAttachmentDescription(description, Random.id()); - - uploadFile(file, encryptedDescription, { t: 'e2e', e2e: 'pending' }); + chat.uploads.send(file, { + description, + msg, + }); + chat.composer?.clear(); + imperativeModal.close(); + uploadNextFile(); }, invalidContentType: !(file.type && fileUploadIsValidContentType(file.type)), }, diff --git a/apps/meteor/client/lib/chats/uploads.ts b/apps/meteor/client/lib/chats/uploads.ts index a3425aa29b206..2a06877807edb 100644 --- a/apps/meteor/client/lib/chats/uploads.ts +++ b/apps/meteor/client/lib/chats/uploads.ts @@ -36,15 +36,11 @@ const send = async ( msg, rid, tmid, - t, - e2e, }: { description?: string; msg?: string; rid: string; tmid?: string; - t?: IMessage['t']; - e2e?: IMessage['e2e']; }, ): Promise => { const id = Random.id(); @@ -67,8 +63,6 @@ const send = async ( tmid, file, description, - t, - e2e, }, { load: (event) => { @@ -152,8 +146,6 @@ export const createUploadsAPI = ({ rid, tmid }: { rid: IRoom['_id']; tmid?: IMes subscribe, wipeFailedOnes, cancel, - send: ( - file: File, - { description, msg, t, e2e }: { description?: string; msg?: string; t?: IMessage['t']; e2e?: IMessage['e2e'] }, - ): Promise => send(file, { description, msg, rid, tmid, t, e2e }), + send: (file: File, { description, msg }: { description?: string; msg?: string }): Promise => + send(file, { description, msg, rid, tmid }), }); diff --git a/apps/meteor/tests/e2e/e2e-encryption.spec.ts b/apps/meteor/tests/e2e/e2e-encryption.spec.ts index b63efa2d092ff..c1a1ba0d28720 100644 --- a/apps/meteor/tests/e2e/e2e-encryption.spec.ts +++ b/apps/meteor/tests/e2e/e2e-encryption.spec.ts @@ -214,66 +214,6 @@ test.describe.serial('e2e-encryption', () => { await expect(poHomeChannel.content.lastUserMessage.locator('.rcx-icon--name-key')).toBeVisible(); }); - test('expect create a private encrypted channel and send an attachment with encrypted file description', async ({ page }) => { - const channelName = faker.string.uuid(); - - await poHomeChannel.sidenav.openNewByLabel('Channel'); - await poHomeChannel.sidenav.inputChannelName.fill(channelName); - await poHomeChannel.sidenav.checkboxEncryption.click(); - await poHomeChannel.sidenav.btnCreate.click(); - - await expect(page).toHaveURL(`/group/${channelName}`); - - await poHomeChannel.dismissToast(); - - await expect(poHomeChannel.content.encryptedRoomHeaderIcon).toBeVisible(); - - await poHomeChannel.content.dragAndDropTxtFile(); - await poHomeChannel.content.descriptionInput.fill('any_description'); - await poHomeChannel.content.fileNameInput.fill('any_file1.txt'); - await poHomeChannel.content.btnModalConfirm.click(); - - await expect(poHomeChannel.content.lastUserMessage.locator('.rcx-icon--name-key')).toBeVisible(); - - await expect(poHomeChannel.content.getFileDescription).toHaveText('any_description'); - await expect(poHomeChannel.content.lastMessageFileName).toContainText('any_file1.txt'); - }); - - test('expect create a private encrypted channel and send an attachment with encrypted file description in a thread message', async ({ - page, - }) => { - const channelName = faker.string.uuid(); - - await poHomeChannel.sidenav.openNewByLabel('Channel'); - await poHomeChannel.sidenav.inputChannelName.fill(channelName); - await poHomeChannel.sidenav.checkboxEncryption.click(); - await poHomeChannel.sidenav.btnCreate.click(); - - await expect(page).toHaveURL(`/group/${channelName}`); - - await poHomeChannel.dismissToast(); - - await expect(poHomeChannel.content.encryptedRoomHeaderIcon).toBeVisible(); - - await poHomeChannel.content.sendMessage('This is a thread main message.'); - - await expect(poHomeChannel.content.lastUserMessageBody).toHaveText('This is a thread main message.'); - await expect(poHomeChannel.content.lastUserMessage.locator('.rcx-icon--name-key')).toBeVisible(); - - await page.locator('[data-qa-type="message"]').last().hover(); - await page.locator('role=button[name="Reply in thread"]').click(); - - await expect(page).toHaveURL(/.*thread/); - - await poHomeChannel.content.dragAndDropTxtFileToThread(); - await poHomeChannel.content.descriptionInput.fill('any_description'); - await poHomeChannel.content.fileNameInput.fill('any_file1.txt'); - await poHomeChannel.content.btnModalConfirm.click(); - - await expect(poHomeChannel.content.lastThreadMessageFileDescription).toHaveText('any_description'); - await expect(poHomeChannel.content.lastThreadMessageFileName).toContainText('any_file1.txt'); - }); - test('expect placeholder text in place of encrypted message, when E2EE is not setup', async ({ page }) => { const channelName = faker.string.uuid(); @@ -311,48 +251,6 @@ test.describe.serial('e2e-encryption', () => { await expect(poHomeChannel.content.lastUserMessage.locator('.rcx-icon--name-key')).toBeVisible(); }); - test('expect placeholder text in place of encrypted file description, when E2EE is not setup', async ({ page }) => { - const channelName = faker.string.uuid(); - - await poHomeChannel.sidenav.openNewByLabel('Channel'); - await poHomeChannel.sidenav.inputChannelName.fill(channelName); - await poHomeChannel.sidenav.checkboxEncryption.click(); - await poHomeChannel.sidenav.btnCreate.click(); - - await expect(page).toHaveURL(`/group/${channelName}`); - - await poHomeChannel.dismissToast(); - - await expect(poHomeChannel.content.encryptedRoomHeaderIcon).toBeVisible(); - - await poHomeChannel.content.dragAndDropTxtFile(); - await poHomeChannel.content.descriptionInput.fill('any_description'); - await poHomeChannel.content.fileNameInput.fill('any_file1.txt'); - await poHomeChannel.content.btnModalConfirm.click(); - - await expect(poHomeChannel.content.lastUserMessage.locator('.rcx-icon--name-key')).toBeVisible(); - - await expect(poHomeChannel.content.getFileDescription).toHaveText('any_description'); - await expect(poHomeChannel.content.lastMessageFileName).toContainText('any_file1.txt'); - - // Logout to remove e2ee keys - await poHomeChannel.sidenav.logout(); - - // Login again - await page.locator('role=button[name="Login"]').waitFor(); - await injectInitialData(); - await restoreState(page, Users.admin, { except: ['private_key', 'public_key'] }); - - await poHomeChannel.sidenav.openChat(channelName); - - await expect(poHomeChannel.content.encryptedRoomHeaderIcon).toBeVisible(); - - await expect(poHomeChannel.content.lastUserMessage).toContainText( - 'This message is end-to-end encrypted. To view it, you must enter your encryption key in your account settings.', - ); - await expect(poHomeChannel.content.lastUserMessage.locator('.rcx-icon--name-key')).toBeVisible(); - }); - test.describe('reset keys', () => { let anotherClientPage: Page; diff --git a/apps/meteor/tests/e2e/page-objects/fragments/home-content.ts b/apps/meteor/tests/e2e/page-objects/fragments/home-content.ts index 5b66c03454d1d..46d2e7487b234 100644 --- a/apps/meteor/tests/e2e/page-objects/fragments/home-content.ts +++ b/apps/meteor/tests/e2e/page-objects/fragments/home-content.ts @@ -17,10 +17,6 @@ export class HomeContent { return this.page.locator('[name="msg"]'); } - get inputThreadMessage(): Locator { - return this.page.getByRole('dialog').locator('[name="msg"]').last(); - } - get messagePopupUsers(): Locator { return this.page.locator('role=menu[name="People"]'); } @@ -147,14 +143,6 @@ export class HomeContent { return this.page.locator('div.messages-box ul.messages-list [role=link]').last(); } - get lastThreadMessageFileDescription(): Locator { - return this.page.locator('div.thread-list ul.thread [data-qa-type="message"]').last().locator('[data-qa-type="message-body"]'); - } - - get lastThreadMessageFileName(): Locator { - return this.page.locator('div.thread-list ul.thread [data-qa-type="message"]').last().locator('[data-qa-type="attachment-title-link"]'); - } - get btnOptionEditMessage(): Locator { return this.page.locator('[data-qa-id="edit-message"]'); } @@ -247,22 +235,6 @@ export class HomeContent { await this.page.locator(`role=dialog[name="Emoji picker"] >> role=tabpanel >> role=button[name="${emoji}"]`).click(); } - async dragAndDropTxtFileToThread(): Promise { - const contract = await fs.readFile('./tests/e2e/fixtures/files/any_file.txt', 'utf-8'); - const dataTransfer = await this.page.evaluateHandle((contract) => { - const data = new DataTransfer(); - const file = new File([`${contract}`], 'any_file.txt', { - type: 'text/plain', - }); - data.items.add(file); - return data; - }, contract); - - await this.inputThreadMessage.dispatchEvent('dragenter', { dataTransfer }); - - await this.page.locator('[role=dialog][data-qa="DropTargetOverlay"]').dispatchEvent('drop', { dataTransfer }); - } - async dragAndDropTxtFile(): Promise { const contract = await fs.readFile('./tests/e2e/fixtures/files/any_file.txt', 'utf-8'); const dataTransfer = await this.page.evaluateHandle((contract) => { diff --git a/apps/meteor/tests/end-to-end/api/09-rooms.js b/apps/meteor/tests/end-to-end/api/09-rooms.js index ba1ff2c9d729a..6dcb051481655 100644 --- a/apps/meteor/tests/end-to-end/api/09-rooms.js +++ b/apps/meteor/tests/end-to-end/api/09-rooms.js @@ -301,33 +301,6 @@ describe('[Rooms]', function () { await request.get(thumbUrl).set(credentials).expect('Content-Type', 'image/jpeg'); }); - - it('should correctly save e2ee file description and properties', async () => { - await request - .post(api(`rooms.upload/${testChannel._id}`)) - .set(credentials) - .field('t', 'e2e') - .field('e2e', 'pending') - .field('description', 'some_file_description') - .attach('file', imgURL) - .expect('Content-Type', 'application/json') - .expect(200) - .expect((res) => { - expect(res.body).to.have.property('success', true); - expect(res.body).to.have.property('message'); - expect(res.body.message).to.have.property('attachments'); - expect(res.body.message.attachments).to.be.an('array').of.length(1); - expect(res.body.message.attachments[0]).to.have.property('image_type', 'image/png'); - expect(res.body.message.attachments[0]).to.have.property('title', '1024x1024.png'); - expect(res.body.message).to.have.property('files'); - expect(res.body.message.files).to.be.an('array').of.length(2); - expect(res.body.message.files[0]).to.have.property('type', 'image/png'); - expect(res.body.message.files[0]).to.have.property('name', '1024x1024.png'); - expect(res.body.message.attachments[0]).to.have.property('description', 'some_file_description'); - expect(res.body.message).to.have.property('t', 'e2e'); - expect(res.body.message).to.have.property('e2e', 'pending'); - }); - }); }); describe('/rooms.favorite', () => { diff --git a/packages/rest-typings/src/v1/rooms.ts b/packages/rest-typings/src/v1/rooms.ts index b6a3f7be6b4b8..bb97d37b90d4f 100644 --- a/packages/rest-typings/src/v1/rooms.ts +++ b/packages/rest-typings/src/v1/rooms.ts @@ -595,8 +595,6 @@ export type RoomsEndpoints = { msg?: string; tmid?: string; customFields?: string; - t?: IMessage['t']; - e2e?: IMessage['e2e']; }) => { message: IMessage | null }; }; From cb977231a2441dd19251f43cb272decb862b0d10 Mon Sep 17 00:00:00 2001 From: rocketchat-github-ci Date: Tue, 30 Apr 2024 18:14:20 +0000 Subject: [PATCH 023/185] Release 6.7.2 [no ci] --- .changeset/bump-patch-1714490920088.md | 5 --- .changeset/yellow-lies-judge.md | 5 --- apps/meteor/CHANGELOG.md | 36 +++++++++++++++++++ apps/meteor/app/utils/rocketchat.info | 2 +- apps/meteor/ee/server/services/CHANGELOG.md | 13 +++++++ apps/meteor/ee/server/services/package.json | 2 +- apps/meteor/package.json | 2 +- ee/apps/account-service/CHANGELOG.md | 13 +++++++ ee/apps/account-service/package.json | 2 +- ee/apps/authorization-service/CHANGELOG.md | 13 +++++++ ee/apps/authorization-service/package.json | 2 +- ee/apps/ddp-streamer/CHANGELOG.md | 15 ++++++++ ee/apps/ddp-streamer/package.json | 2 +- ee/apps/omnichannel-transcript/CHANGELOG.md | 14 ++++++++ ee/apps/omnichannel-transcript/package.json | 2 +- ee/apps/presence-service/CHANGELOG.md | 13 +++++++ ee/apps/presence-service/package.json | 2 +- ee/apps/queue-worker/CHANGELOG.md | 13 +++++++ ee/apps/queue-worker/package.json | 2 +- ee/apps/stream-hub-service/CHANGELOG.md | 12 +++++++ ee/apps/stream-hub-service/package.json | 2 +- ee/packages/api-client/CHANGELOG.md | 10 ++++++ ee/packages/api-client/package.json | 2 +- ee/packages/ddp-client/CHANGELOG.md | 10 ++++++ ee/packages/ddp-client/package.json | 2 +- ee/packages/license/CHANGELOG.md | 9 +++++ ee/packages/license/package.json | 2 +- ee/packages/omnichannel-services/CHANGELOG.md | 14 ++++++++ ee/packages/omnichannel-services/package.json | 2 +- ee/packages/pdf-worker/CHANGELOG.md | 9 +++++ ee/packages/pdf-worker/package.json | 2 +- ee/packages/presence/CHANGELOG.md | 11 ++++++ ee/packages/presence/package.json | 2 +- package.json | 2 +- packages/apps/CHANGELOG.md | 10 ++++++ packages/apps/package.json | 2 +- packages/core-services/CHANGELOG.md | 11 ++++++ packages/core-services/package.json | 2 +- packages/core-typings/CHANGELOG.md | 2 ++ packages/core-typings/package.json | 2 +- packages/cron/CHANGELOG.md | 10 ++++++ packages/cron/package.json | 2 +- packages/fuselage-ui-kit/CHANGELOG.md | 12 +++++++ packages/fuselage-ui-kit/package.json | 8 ++--- packages/gazzodown/CHANGELOG.md | 11 ++++++ packages/gazzodown/package.json | 6 ++-- packages/instance-status/CHANGELOG.md | 9 +++++ packages/instance-status/package.json | 2 +- packages/livechat/CHANGELOG.md | 9 +++++ packages/livechat/package.json | 2 +- packages/model-typings/CHANGELOG.md | 9 +++++ packages/model-typings/package.json | 2 +- packages/models/CHANGELOG.md | 9 +++++ packages/models/package.json | 2 +- packages/rest-typings/CHANGELOG.md | 9 +++++ packages/rest-typings/package.json | 2 +- packages/ui-avatar/CHANGELOG.md | 9 +++++ packages/ui-avatar/package.json | 4 +-- packages/ui-client/CHANGELOG.md | 9 +++++ packages/ui-client/package.json | 4 +-- packages/ui-contexts/CHANGELOG.md | 11 ++++++ packages/ui-contexts/package.json | 2 +- packages/ui-video-conf/CHANGELOG.md | 10 ++++++ packages/ui-video-conf/package.json | 6 ++-- packages/uikit-playground/CHANGELOG.md | 11 ++++++ packages/uikit-playground/package.json | 2 +- packages/web-ui-registration/CHANGELOG.md | 9 +++++ packages/web-ui-registration/package.json | 4 +-- 68 files changed, 409 insertions(+), 54 deletions(-) delete mode 100644 .changeset/bump-patch-1714490920088.md delete mode 100644 .changeset/yellow-lies-judge.md diff --git a/.changeset/bump-patch-1714490920088.md b/.changeset/bump-patch-1714490920088.md deleted file mode 100644 index e1eaa7980afb1..0000000000000 --- a/.changeset/bump-patch-1714490920088.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'@rocket.chat/meteor': patch ---- - -Bump @rocket.chat/meteor version. diff --git a/.changeset/yellow-lies-judge.md b/.changeset/yellow-lies-judge.md deleted file mode 100644 index 15bc8e0819bde..0000000000000 --- a/.changeset/yellow-lies-judge.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@rocket.chat/meteor": patch ---- - -fixed Engagement Dashboard and Device Management admin pages loading indefinitely diff --git a/apps/meteor/CHANGELOG.md b/apps/meteor/CHANGELOG.md index e6416fc0b0392..54bed06ba34c8 100644 --- a/apps/meteor/CHANGELOG.md +++ b/apps/meteor/CHANGELOG.md @@ -1,5 +1,41 @@ # @rocket.chat/meteor +## 6.7.2 + +### Patch Changes + +- Bump @rocket.chat/meteor version. + +- Bump @rocket.chat/meteor version. + +- ([#32315](https://github.com/RocketChat/Rocket.Chat/pull/32315) by [@dionisio-bot](https://github.com/dionisio-bot)) fixed Engagement Dashboard and Device Management admin pages loading indefinitely + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/rest-typings@6.7.2 + - @rocket.chat/api-client@0.1.31 + - @rocket.chat/license@0.1.13 + - @rocket.chat/omnichannel-services@0.1.13 + - @rocket.chat/pdf-worker@0.0.37 + - @rocket.chat/presence@0.1.13 + - @rocket.chat/apps@0.0.4 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/cron@0.0.33 + - @rocket.chat/gazzodown@5.0.2 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/ui-contexts@5.0.2 + - @rocket.chat/server-cloud-communication@0.0.2 + - @rocket.chat/fuselage-ui-kit@5.0.2 + - @rocket.chat/models@0.0.37 + - @rocket.chat/ui-theming@0.1.2 + - @rocket.chat/ui-avatar@1.0.2 + - @rocket.chat/ui-client@5.0.2 + - @rocket.chat/ui-video-conf@5.0.2 + - @rocket.chat/web-ui-registration@5.0.2 + - @rocket.chat/instance-status@0.0.37 +
+ ## 6.7.1 ### Patch Changes diff --git a/apps/meteor/app/utils/rocketchat.info b/apps/meteor/app/utils/rocketchat.info index 1abc177f744dc..06b91e424835d 100644 --- a/apps/meteor/app/utils/rocketchat.info +++ b/apps/meteor/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "6.7.1" + "version": "6.7.2" } diff --git a/apps/meteor/ee/server/services/CHANGELOG.md b/apps/meteor/ee/server/services/CHANGELOG.md index bcc52c1c3d927..7855b0122dd08 100644 --- a/apps/meteor/ee/server/services/CHANGELOG.md +++ b/apps/meteor/ee/server/services/CHANGELOG.md @@ -1,5 +1,18 @@ # rocketchat-services +## 1.1.31 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/rest-typings@6.7.2 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/models@0.0.37 +
+ ## 1.1.30 ### Patch Changes diff --git a/apps/meteor/ee/server/services/package.json b/apps/meteor/ee/server/services/package.json index f66c51d74b280..b5da89c51789c 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.30", + "version": "1.1.31", "description": "Rocket.Chat Authorization service", "main": "index.js", "scripts": { diff --git a/apps/meteor/package.json b/apps/meteor/package.json index 35878d71f5c52..d2d33611f7ecf 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.7.1", + "version": "6.7.2", "private": true, "author": { "name": "Rocket.Chat", diff --git a/ee/apps/account-service/CHANGELOG.md b/ee/apps/account-service/CHANGELOG.md index c4e97fc8dad8e..87a72bc5f8fdd 100644 --- a/ee/apps/account-service/CHANGELOG.md +++ b/ee/apps/account-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/account-service +## 0.3.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/rest-typings@6.7.2 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/models@0.0.37 +
+ ## 0.3.12 ### Patch Changes diff --git a/ee/apps/account-service/package.json b/ee/apps/account-service/package.json index b9d48f501fcc5..0ccbbce820f23 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.3.12", + "version": "0.3.13", "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 c63443e10bdf7..53c0d83b0313d 100644 --- a/ee/apps/authorization-service/CHANGELOG.md +++ b/ee/apps/authorization-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/authorization-service +## 0.3.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/rest-typings@6.7.2 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/models@0.0.37 +
+ ## 0.3.12 ### Patch Changes diff --git a/ee/apps/authorization-service/package.json b/ee/apps/authorization-service/package.json index 3ae981b6eb60b..df9bfb2c484e8 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.3.12", + "version": "0.3.13", "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 0f6fefba73773..363217d9c6e27 100644 --- a/ee/apps/ddp-streamer/CHANGELOG.md +++ b/ee/apps/ddp-streamer/CHANGELOG.md @@ -1,5 +1,20 @@ # @rocket.chat/ddp-streamer +## 0.2.12 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/rest-typings@6.7.2 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/ui-contexts@5.0.2 + - @rocket.chat/models@0.0.37 + - @rocket.chat/instance-status@0.0.37 +
+ ## 0.2.11 ### Patch Changes diff --git a/ee/apps/ddp-streamer/package.json b/ee/apps/ddp-streamer/package.json index 99719f43b80ce..dfaa02d48788b 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.2.11", + "version": "0.2.12", "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 24d7adb2379cd..a3a379cc82096 100644 --- a/ee/apps/omnichannel-transcript/CHANGELOG.md +++ b/ee/apps/omnichannel-transcript/CHANGELOG.md @@ -1,5 +1,19 @@ # @rocket.chat/omnichannel-transcript +## 0.3.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/omnichannel-services@0.1.13 + - @rocket.chat/pdf-worker@0.0.37 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/models@0.0.37 +
+ ## 0.3.12 ### Patch Changes diff --git a/ee/apps/omnichannel-transcript/package.json b/ee/apps/omnichannel-transcript/package.json index ab649cc233e37..3db59ec7ed504 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.3.12", + "version": "0.3.13", "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 fcfd87a7806b5..3ea26280454e1 100644 --- a/ee/apps/presence-service/CHANGELOG.md +++ b/ee/apps/presence-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/presence-service +## 0.3.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/presence@0.1.13 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/models@0.0.37 +
+ ## 0.3.12 ### Patch Changes diff --git a/ee/apps/presence-service/package.json b/ee/apps/presence-service/package.json index 5d6d323bd0a7d..e3fe32d4c7a2e 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.3.12", + "version": "0.3.13", "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 029e6e9fd522e..db5bc1107058c 100644 --- a/ee/apps/queue-worker/CHANGELOG.md +++ b/ee/apps/queue-worker/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/queue-worker +## 0.3.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/omnichannel-services@0.1.13 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/models@0.0.37 +
+ ## 0.3.12 ### Patch Changes diff --git a/ee/apps/queue-worker/package.json b/ee/apps/queue-worker/package.json index 3e43a06b392bc..8ae14f6f13be4 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.3.12", + "version": "0.3.13", "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 0d1bd29705ea0..712f2eaa10c1e 100644 --- a/ee/apps/stream-hub-service/CHANGELOG.md +++ b/ee/apps/stream-hub-service/CHANGELOG.md @@ -1,5 +1,17 @@ # @rocket.chat/stream-hub-service +## 0.3.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/models@0.0.37 +
+ ## 0.3.12 ### Patch Changes diff --git a/ee/apps/stream-hub-service/package.json b/ee/apps/stream-hub-service/package.json index ba373555cd2c8..b3799e494bf62 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.3.12", + "version": "0.3.13", "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 f3849bb93a117..c6389837010f0 100644 --- a/ee/packages/api-client/CHANGELOG.md +++ b/ee/packages/api-client/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/api-client +## 0.1.31 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/rest-typings@6.7.2 +
+ ## 0.1.30 ### Patch Changes diff --git a/ee/packages/api-client/package.json b/ee/packages/api-client/package.json index 3cbfa21c4d6b6..13c1d7bce636d 100644 --- a/ee/packages/api-client/package.json +++ b/ee/packages/api-client/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/api-client", "private": true, - "version": "0.1.30", + "version": "0.1.31", "devDependencies": { "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", diff --git a/ee/packages/ddp-client/CHANGELOG.md b/ee/packages/ddp-client/CHANGELOG.md index 1016e8a42d934..92f1bca5c5a18 100644 --- a/ee/packages/ddp-client/CHANGELOG.md +++ b/ee/packages/ddp-client/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/ddp-client +## 0.2.22 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/rest-typings@6.7.2 + - @rocket.chat/api-client@0.1.31 +
+ ## 0.2.21 ### Patch Changes diff --git a/ee/packages/ddp-client/package.json b/ee/packages/ddp-client/package.json index 52c0dd2a15939..ec1a21c17621a 100644 --- a/ee/packages/ddp-client/package.json +++ b/ee/packages/ddp-client/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/ddp-client", "private": true, - "version": "0.2.21", + "version": "0.2.22", "devDependencies": { "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", diff --git a/ee/packages/license/CHANGELOG.md b/ee/packages/license/CHANGELOG.md index ea79637134fa8..578a17d5860b3 100644 --- a/ee/packages/license/CHANGELOG.md +++ b/ee/packages/license/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/license +## 0.1.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 +
+ ## 0.1.12 ### Patch Changes diff --git a/ee/packages/license/package.json b/ee/packages/license/package.json index 54a3923c3484f..b5bdb4125646e 100644 --- a/ee/packages/license/package.json +++ b/ee/packages/license/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/license", - "version": "0.1.12", + "version": "0.1.13", "private": true, "devDependencies": { "@swc/core": "^1.3.95", diff --git a/ee/packages/omnichannel-services/CHANGELOG.md b/ee/packages/omnichannel-services/CHANGELOG.md index e6766a9425b49..0ad7447bb776f 100644 --- a/ee/packages/omnichannel-services/CHANGELOG.md +++ b/ee/packages/omnichannel-services/CHANGELOG.md @@ -1,5 +1,19 @@ # @rocket.chat/omnichannel-services +## 0.1.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/rest-typings@6.7.2 + - @rocket.chat/pdf-worker@0.0.37 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/model-typings@0.3.9 + - @rocket.chat/models@0.0.37 +
+ ## 0.1.12 ### Patch Changes diff --git a/ee/packages/omnichannel-services/package.json b/ee/packages/omnichannel-services/package.json index 1a7be642e1cf1..f28cc1a0cf7ce 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.1.12", + "version": "0.1.13", "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 6dfd98fe9871f..b78309431a456 100644 --- a/ee/packages/pdf-worker/CHANGELOG.md +++ b/ee/packages/pdf-worker/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/pdf-worker +## 0.0.37 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 +
+ ## 0.0.36 ### Patch Changes diff --git a/ee/packages/pdf-worker/package.json b/ee/packages/pdf-worker/package.json index 771d1d5e14fbb..8c30e59183179 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.36", + "version": "0.0.37", "private": true, "devDependencies": { "@storybook/addon-essentials": "~6.5.16", diff --git a/ee/packages/presence/CHANGELOG.md b/ee/packages/presence/CHANGELOG.md index d66527648fe29..19c610fd35bab 100644 --- a/ee/packages/presence/CHANGELOG.md +++ b/ee/packages/presence/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/presence +## 0.1.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/core-services@0.3.13 + - @rocket.chat/models@0.0.37 +
+ ## 0.1.12 ### Patch Changes diff --git a/ee/packages/presence/package.json b/ee/packages/presence/package.json index 8781adc990d0d..e51ea9c259dcc 100644 --- a/ee/packages/presence/package.json +++ b/ee/packages/presence/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/presence", - "version": "0.1.12", + "version": "0.1.13", "private": true, "devDependencies": { "@babel/core": "~7.22.20", diff --git a/package.json b/package.json index 8c958831da9fa..d6dbe31dc5d25 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rocket.chat", - "version": "6.7.1", + "version": "6.7.2", "description": "Rocket.Chat Monorepo", "main": "index.js", "private": true, diff --git a/packages/apps/CHANGELOG.md b/packages/apps/CHANGELOG.md index e2a1e17543c0a..b010bb4017de6 100644 --- a/packages/apps/CHANGELOG.md +++ b/packages/apps/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/apps +## 0.0.4 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/model-typings@0.3.9 +
+ ## 0.0.3 ### Patch Changes diff --git a/packages/apps/package.json b/packages/apps/package.json index 1f2419bee9eaa..7cf6164b075f7 100644 --- a/packages/apps/package.json +++ b/packages/apps/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/apps", - "version": "0.0.3", + "version": "0.0.4", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/core-services/CHANGELOG.md b/packages/core-services/CHANGELOG.md index 5560cd126f53b..7b74db03f97b7 100644 --- a/packages/core-services/CHANGELOG.md +++ b/packages/core-services/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/core-services +## 0.3.13 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/rest-typings@6.7.2 + - @rocket.chat/models@0.0.37 +
+ ## 0.3.12 ### Patch Changes diff --git a/packages/core-services/package.json b/packages/core-services/package.json index 27588c2c103a6..9dcd9d8454927 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/core-services", - "version": "0.3.12", + "version": "0.3.13", "private": true, "devDependencies": { "@babel/core": "~7.22.20", diff --git a/packages/core-typings/CHANGELOG.md b/packages/core-typings/CHANGELOG.md index 50a66ab7543fb..597356537d2e8 100644 --- a/packages/core-typings/CHANGELOG.md +++ b/packages/core-typings/CHANGELOG.md @@ -1,5 +1,7 @@ # @rocket.chat/core-typings +## 6.7.2 + ## 6.7.1 ## 6.7.0 diff --git a/packages/core-typings/package.json b/packages/core-typings/package.json index ae00cf13efeee..678d14488323e 100644 --- a/packages/core-typings/package.json +++ b/packages/core-typings/package.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/package", "name": "@rocket.chat/core-typings", "private": true, - "version": "6.7.1", + "version": "6.7.2", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "eslint": "~8.45.0", diff --git a/packages/cron/CHANGELOG.md b/packages/cron/CHANGELOG.md index 263b1018ae98f..c7411830b3a6c 100644 --- a/packages/cron/CHANGELOG.md +++ b/packages/cron/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/cron +## 0.0.33 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/models@0.0.37 +
+ ## 0.0.32 ### Patch Changes diff --git a/packages/cron/package.json b/packages/cron/package.json index 102ffa6f2b1d4..2783a53cfd04d 100644 --- a/packages/cron/package.json +++ b/packages/cron/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/cron", - "version": "0.0.32", + "version": "0.0.33", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/fuselage-ui-kit/CHANGELOG.md b/packages/fuselage-ui-kit/CHANGELOG.md index 492bc4333d589..46f3fdf251b88 100644 --- a/packages/fuselage-ui-kit/CHANGELOG.md +++ b/packages/fuselage-ui-kit/CHANGELOG.md @@ -1,5 +1,17 @@ # Change Log +## 5.0.2 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/gazzodown@5.0.2 + - @rocket.chat/ui-contexts@5.0.2 + - @rocket.chat/ui-avatar@1.0.2 + - @rocket.chat/ui-video-conf@5.0.2 +
+ ## 5.0.1 ### Patch Changes diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index f997fecce4143..d4d23fe23ebf6 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": "5.0.1", + "version": "5.0.2", "description": "UiKit elements for Rocket.Chat Apps built under Fuselage design system", "homepage": "https://rocketchat.github.io/Rocket.Chat.Fuselage/", "author": { @@ -49,10 +49,10 @@ "@rocket.chat/icons": "*", "@rocket.chat/prettier-config": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-avatar": "1.0.1", - "@rocket.chat/ui-contexts": "5.0.1", + "@rocket.chat/ui-avatar": "1.0.2", + "@rocket.chat/ui-contexts": "5.0.2", "@rocket.chat/ui-kit": "0.33.0", - "@rocket.chat/ui-video-conf": "5.0.1", + "@rocket.chat/ui-video-conf": "5.0.2", "@tanstack/react-query": "*", "react": "*", "react-dom": "*" diff --git a/packages/gazzodown/CHANGELOG.md b/packages/gazzodown/CHANGELOG.md index 399d6c4159aad..624e8549995f0 100644 --- a/packages/gazzodown/CHANGELOG.md +++ b/packages/gazzodown/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/gazzodown +## 5.0.2 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/ui-contexts@5.0.2 + - @rocket.chat/ui-client@5.0.2 +
+ ## 5.0.1 ### Patch Changes diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json index 90469b9e3939f..ed74cbe744bcd 100644 --- a/packages/gazzodown/package.json +++ b/packages/gazzodown/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/gazzodown", - "version": "5.0.1", + "version": "5.0.2", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -71,8 +71,8 @@ "@rocket.chat/fuselage-tokens": "*", "@rocket.chat/message-parser": "0.31.29", "@rocket.chat/styled": "*", - "@rocket.chat/ui-client": "5.0.1", - "@rocket.chat/ui-contexts": "5.0.1", + "@rocket.chat/ui-client": "5.0.2", + "@rocket.chat/ui-contexts": "5.0.2", "katex": "*", "react": "*" }, diff --git a/packages/instance-status/CHANGELOG.md b/packages/instance-status/CHANGELOG.md index cd70c1e9cba24..67d510c1665af 100644 --- a/packages/instance-status/CHANGELOG.md +++ b/packages/instance-status/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/instance-status +## 0.0.37 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/models@0.0.37 +
+ ## 0.0.36 ### Patch Changes diff --git a/packages/instance-status/package.json b/packages/instance-status/package.json index 8b69346f624ad..56c219e54d642 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.36", + "version": "0.0.37", "private": true, "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", diff --git a/packages/livechat/CHANGELOG.md b/packages/livechat/CHANGELOG.md index 99d6f50a910ce..32c9ffc4dd3a4 100644 --- a/packages/livechat/CHANGELOG.md +++ b/packages/livechat/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/livechat Change Log +## 1.15.2 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/gazzodown@5.0.2 +
+ ## 1.15.1 ### Patch Changes diff --git a/packages/livechat/package.json b/packages/livechat/package.json index a09fe301fcdce..d8cfff348f731 100644 --- a/packages/livechat/package.json +++ b/packages/livechat/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/livechat", - "version": "1.15.1", + "version": "1.15.2", "files": [ "/build" ], diff --git a/packages/model-typings/CHANGELOG.md b/packages/model-typings/CHANGELOG.md index 428d442f75206..f448babef50f9 100644 --- a/packages/model-typings/CHANGELOG.md +++ b/packages/model-typings/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/model-typings +## 0.3.9 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 +
+ ## 0.3.8 ### Patch Changes diff --git a/packages/model-typings/package.json b/packages/model-typings/package.json index 3ab76283b8f70..7b92c5a1d6357 100644 --- a/packages/model-typings/package.json +++ b/packages/model-typings/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/model-typings", - "version": "0.3.8", + "version": "0.3.9", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/models/CHANGELOG.md b/packages/models/CHANGELOG.md index 0d81251119a69..3733e6f1fb152 100644 --- a/packages/models/CHANGELOG.md +++ b/packages/models/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/models +## 0.0.37 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/model-typings@0.3.9 +
+ ## 0.0.36 ### Patch Changes diff --git a/packages/models/package.json b/packages/models/package.json index 5170116812a76..442aed57c881f 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/models", - "version": "0.0.36", + "version": "0.0.37", "private": true, "devDependencies": { "@swc/core": "^1.3.95", diff --git a/packages/rest-typings/CHANGELOG.md b/packages/rest-typings/CHANGELOG.md index e784777bc44e1..a893d923b4ae9 100644 --- a/packages/rest-typings/CHANGELOG.md +++ b/packages/rest-typings/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/rest-typings +## 6.7.2 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 +
+ ## 6.7.1 ### Patch Changes diff --git a/packages/rest-typings/package.json b/packages/rest-typings/package.json index f0f8f128920ad..68c64b285b918 100644 --- a/packages/rest-typings/package.json +++ b/packages/rest-typings/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/rest-typings", "private": true, - "version": "6.7.1", + "version": "6.7.2", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "@types/jest": "~29.5.7", diff --git a/packages/ui-avatar/CHANGELOG.md b/packages/ui-avatar/CHANGELOG.md index de7e6458d5fa8..d29a7b41d8a98 100644 --- a/packages/ui-avatar/CHANGELOG.md +++ b/packages/ui-avatar/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/ui-avatar +## 1.0.2 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.2 +
+ ## 1.0.1 ### Patch Changes diff --git a/packages/ui-avatar/package.json b/packages/ui-avatar/package.json index 32dd69d698580..5faba1623f93c 100644 --- a/packages/ui-avatar/package.json +++ b/packages/ui-avatar/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-avatar", - "version": "1.0.1", + "version": "1.0.2", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -31,7 +31,7 @@ ], "peerDependencies": { "@rocket.chat/fuselage": "*", - "@rocket.chat/ui-contexts": "5.0.1", + "@rocket.chat/ui-contexts": "5.0.2", "react": "~17.0.2" }, "volta": { diff --git a/packages/ui-client/CHANGELOG.md b/packages/ui-client/CHANGELOG.md index 271e97a7538ea..9488055bf2a52 100644 --- a/packages/ui-client/CHANGELOG.md +++ b/packages/ui-client/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/ui-client +## 5.0.2 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.2 +
+ ## 5.0.1 ### Patch Changes diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json index c9e7824868fef..1b2c4a0a4de97 100644 --- a/packages/ui-client/package.json +++ b/packages/ui-client/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-client", - "version": "5.0.1", + "version": "5.0.2", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -63,7 +63,7 @@ "@rocket.chat/fuselage": "*", "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", - "@rocket.chat/ui-contexts": "5.0.1", + "@rocket.chat/ui-contexts": "5.0.2", "react": "~17.0.2" }, "volta": { diff --git a/packages/ui-contexts/CHANGELOG.md b/packages/ui-contexts/CHANGELOG.md index bf17c75631042..49c03287df931 100644 --- a/packages/ui-contexts/CHANGELOG.md +++ b/packages/ui-contexts/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/ui-contexts +## 5.0.2 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.7.2 + - @rocket.chat/rest-typings@6.7.2 + - @rocket.chat/ddp-client@0.2.22 +
+ ## 5.0.1 ### Patch Changes diff --git a/packages/ui-contexts/package.json b/packages/ui-contexts/package.json index b87a6c728e487..ed070ce3086b9 100644 --- a/packages/ui-contexts/package.json +++ b/packages/ui-contexts/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-contexts", - "version": "5.0.1", + "version": "5.0.2", "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 8b50257ed9dbc..e2b3774586aa3 100644 --- a/packages/ui-video-conf/CHANGELOG.md +++ b/packages/ui-video-conf/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/ui-video-conf +## 5.0.2 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.2 + - @rocket.chat/ui-avatar@1.0.2 +
+ ## 5.0.1 ### Patch Changes diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json index c1efa8efa4dd1..78b4213fd03e3 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": "5.0.1", + "version": "5.0.2", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -36,8 +36,8 @@ "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-avatar": "1.0.1", - "@rocket.chat/ui-contexts": "5.0.1", + "@rocket.chat/ui-avatar": "1.0.2", + "@rocket.chat/ui-contexts": "5.0.2", "react": "^17.0.2", "react-dom": "^17.0.2" }, diff --git a/packages/uikit-playground/CHANGELOG.md b/packages/uikit-playground/CHANGELOG.md index 7bea3e6db8836..d401b1d2cf998 100644 --- a/packages/uikit-playground/CHANGELOG.md +++ b/packages/uikit-playground/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/uikit-playground +## 0.2.22 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.2 + - @rocket.chat/fuselage-ui-kit@5.0.2 + - @rocket.chat/ui-avatar@1.0.2 +
+ ## 0.2.21 ### Patch Changes diff --git a/packages/uikit-playground/package.json b/packages/uikit-playground/package.json index 6446217bd3668..141ef549caea4 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.2.21", + "version": "0.2.22", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/web-ui-registration/CHANGELOG.md b/packages/web-ui-registration/CHANGELOG.md index 35cf06b756ef8..f5748b994511f 100644 --- a/packages/web-ui-registration/CHANGELOG.md +++ b/packages/web-ui-registration/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/web-ui-registration +## 5.0.2 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@5.0.2 +
+ ## 5.0.1 ### Patch Changes diff --git a/packages/web-ui-registration/package.json b/packages/web-ui-registration/package.json index 403bf8915b501..dfa8ff52a2605 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": "5.0.1", + "version": "5.0.2", "private": true, "homepage": "https://rocket.chat", "main": "./dist/index.js", @@ -51,7 +51,7 @@ "peerDependencies": { "@rocket.chat/layout": "*", "@rocket.chat/tools": "0.2.1", - "@rocket.chat/ui-contexts": "5.0.1", + "@rocket.chat/ui-contexts": "5.0.2", "@tanstack/react-query": "*", "react": "*", "react-hook-form": "*", From 70ab2a7b7bc4e671e4eca039aa32ad6e8192f688 Mon Sep 17 00:00:00 2001 From: Aleksander Nicacio da Silva Date: Thu, 2 May 2024 11:17:11 -0300 Subject: [PATCH 024/185] feat: added cloud workspace id to workspace statistics (#32298) --- .changeset/wild-teachers-design.md | 7 +++++++ apps/meteor/app/api/server/lib/getServerInfo.ts | 5 ++++- .../admin/workspace/DeploymentCard/DeploymentCard.tsx | 4 +++- packages/core-typings/src/IWorkspaceInfo.ts | 1 + packages/i18n/src/locales/en.i18n.json | 1 + packages/i18n/src/locales/pt-BR.i18n.json | 2 +- 6 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 .changeset/wild-teachers-design.md diff --git a/.changeset/wild-teachers-design.md b/.changeset/wild-teachers-design.md new file mode 100644 index 0000000000000..f49f4549e762b --- /dev/null +++ b/.changeset/wild-teachers-design.md @@ -0,0 +1,7 @@ +--- +"@rocket.chat/meteor": minor +"@rocket.chat/core-typings": minor +"@rocket.chat/i18n": minor +--- + +Added "Rocket.Chat Cloud Workspace ID" to workspace statistics page diff --git a/apps/meteor/app/api/server/lib/getServerInfo.ts b/apps/meteor/app/api/server/lib/getServerInfo.ts index 9a0e7e4e11c9c..020988b0aca42 100644 --- a/apps/meteor/app/api/server/lib/getServerInfo.ts +++ b/apps/meteor/app/api/server/lib/getServerInfo.ts @@ -5,6 +5,7 @@ import { getCachedSupportedVersionsToken, wrapPromise, } from '../../../cloud/server/functions/supportedVersionsToken/supportedVersionsToken'; +import { settings } from '../../../settings/server'; import { Info, minimumClientVersions } from '../../../utils/rocketchat.info'; const removePatchInfo = (version: string): string => version.replace(/(\d+\.\d+).*/, '$1'); @@ -12,10 +13,10 @@ const removePatchInfo = (version: string): string => version.replace(/(\d+\.\d+) export async function getServerInfo(userId?: string): Promise { const hasPermissionToViewStatistics = userId && (await hasPermissionAsync(userId, 'view-statistics')); const supportedVersionsToken = await wrapPromise(getCachedSupportedVersionsToken()); + const cloudWorkspaceId = settings.get('Cloud_Workspace_Id'); return { version: removePatchInfo(Info.version), - ...(hasPermissionToViewStatistics && { info: { ...Info, @@ -28,5 +29,7 @@ export async function getServerInfo(userId?: string): Promise { supportedVersionsToken.result && { supportedVersions: { signed: supportedVersionsToken.result }, }), + + cloudWorkspaceId, }; } diff --git a/apps/meteor/client/views/admin/workspace/DeploymentCard/DeploymentCard.tsx b/apps/meteor/client/views/admin/workspace/DeploymentCard/DeploymentCard.tsx index 0b48d0c8cc882..a300a792f45ca 100644 --- a/apps/meteor/client/views/admin/workspace/DeploymentCard/DeploymentCard.tsx +++ b/apps/meteor/client/views/admin/workspace/DeploymentCard/DeploymentCard.tsx @@ -16,7 +16,7 @@ type DeploymentCardProps = { statistics: IStats; }; -const DeploymentCard = ({ serverInfo: { info }, statistics, instances }: DeploymentCardProps): ReactElement => { +const DeploymentCard = ({ serverInfo: { info, cloudWorkspaceId }, statistics, instances }: DeploymentCardProps): ReactElement => { const t = useTranslation(); const formatDateAndTime = useFormatDateAndTime(); const setModal = useSetModal(); @@ -33,6 +33,8 @@ const DeploymentCard = ({ serverInfo: { info }, statistics, instances }: Deploym + {cloudWorkspaceId && } + {appsEngineVersion && } Date: Thu, 2 May 2024 14:43:40 +0000 Subject: [PATCH 025/185] Release 6.8.0-rc.1 [no ci] --- .changeset/bump-patch-1714661012622.md | 5 +++ .changeset/pre.json | 3 +- apps/meteor/CHANGELOG.md | 34 +++++++++++++++++++ apps/meteor/app/utils/rocketchat.info | 2 +- apps/meteor/ee/server/services/CHANGELOG.md | 13 +++++++ apps/meteor/ee/server/services/package.json | 2 +- apps/meteor/package.json | 2 +- ee/apps/account-service/CHANGELOG.md | 14 ++++++++ ee/apps/account-service/package.json | 2 +- ee/apps/authorization-service/CHANGELOG.md | 14 ++++++++ ee/apps/authorization-service/package.json | 2 +- ee/apps/ddp-streamer/CHANGELOG.md | 16 +++++++++ ee/apps/ddp-streamer/package.json | 2 +- ee/apps/omnichannel-transcript/CHANGELOG.md | 15 ++++++++ ee/apps/omnichannel-transcript/package.json | 2 +- ee/apps/presence-service/CHANGELOG.md | 14 ++++++++ ee/apps/presence-service/package.json | 2 +- ee/apps/queue-worker/CHANGELOG.md | 14 ++++++++ ee/apps/queue-worker/package.json | 2 +- ee/apps/stream-hub-service/CHANGELOG.md | 13 +++++++ ee/apps/stream-hub-service/package.json | 2 +- ee/packages/api-client/CHANGELOG.md | 11 ++++++ ee/packages/api-client/package.json | 2 +- ee/packages/ddp-client/CHANGELOG.md | 11 ++++++ ee/packages/ddp-client/package.json | 2 +- ee/packages/license/CHANGELOG.md | 10 ++++++ ee/packages/license/package.json | 2 +- ee/packages/omnichannel-services/CHANGELOG.md | 15 ++++++++ ee/packages/omnichannel-services/package.json | 2 +- ee/packages/pdf-worker/CHANGELOG.md | 10 ++++++ ee/packages/pdf-worker/package.json | 2 +- ee/packages/presence/CHANGELOG.md | 12 +++++++ ee/packages/presence/package.json | 2 +- package.json | 2 +- packages/apps/CHANGELOG.md | 11 ++++++ packages/apps/package.json | 2 +- packages/core-services/CHANGELOG.md | 12 +++++++ packages/core-services/package.json | 2 +- packages/core-typings/CHANGELOG.md | 3 ++ packages/core-typings/package.json | 2 +- packages/cron/CHANGELOG.md | 11 ++++++ packages/cron/package.json | 2 +- packages/fuselage-ui-kit/CHANGELOG.md | 13 +++++++ packages/fuselage-ui-kit/package.json | 8 ++--- packages/gazzodown/CHANGELOG.md | 12 +++++++ packages/gazzodown/package.json | 6 ++-- packages/instance-status/CHANGELOG.md | 9 +++++ packages/instance-status/package.json | 2 +- packages/livechat/CHANGELOG.md | 10 ++++++ packages/livechat/package.json | 2 +- packages/model-typings/CHANGELOG.md | 10 ++++++ packages/model-typings/package.json | 2 +- packages/models/CHANGELOG.md | 10 ++++++ packages/models/package.json | 2 +- packages/rest-typings/CHANGELOG.md | 10 ++++++ packages/rest-typings/package.json | 2 +- packages/ui-avatar/CHANGELOG.md | 10 ++++++ packages/ui-avatar/package.json | 4 +-- packages/ui-client/CHANGELOG.md | 10 ++++++ packages/ui-client/package.json | 4 +-- packages/ui-contexts/CHANGELOG.md | 12 +++++++ packages/ui-contexts/package.json | 2 +- packages/ui-video-conf/CHANGELOG.md | 11 ++++++ packages/ui-video-conf/package.json | 6 ++-- packages/uikit-playground/CHANGELOG.md | 12 +++++++ packages/uikit-playground/package.json | 2 +- packages/web-ui-registration/CHANGELOG.md | 10 ++++++ packages/web-ui-registration/package.json | 4 +-- yarn.lock | 22 ++++++------ 69 files changed, 454 insertions(+), 56 deletions(-) create mode 100644 .changeset/bump-patch-1714661012622.md diff --git a/.changeset/bump-patch-1714661012622.md b/.changeset/bump-patch-1714661012622.md new file mode 100644 index 0000000000000..e1eaa7980afb1 --- /dev/null +++ b/.changeset/bump-patch-1714661012622.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Bump @rocket.chat/meteor version. diff --git a/.changeset/pre.json b/.changeset/pre.json index 01ac58008bed2..1af79c2984121 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -64,6 +64,7 @@ "changesets": [ "afraid-poets-sparkle", "breezy-starfishes-attack", + "bump-patch-1714661012622", "chilly-glasses-sin", "chilly-walls-knock", "eighty-pans-joke", @@ -76,7 +77,6 @@ "four-eyes-sniff", "good-ducks-vanish", "good-ghosts-doubt", - "great-moles-rest", "green-ways-tie", "heavy-singers-retire", "lemon-schools-double", @@ -109,6 +109,7 @@ "twelve-seas-battle", "two-suns-marry", "wild-keys-obey", + "yellow-lies-judge", "young-candles-explode" ] } diff --git a/apps/meteor/CHANGELOG.md b/apps/meteor/CHANGELOG.md index 7ca19c620d864..043cf2171cb91 100644 --- a/apps/meteor/CHANGELOG.md +++ b/apps/meteor/CHANGELOG.md @@ -1,5 +1,39 @@ # @rocket.chat/meteor +## 6.8.0-rc.1 + +### Patch Changes + +- Bump @rocket.chat/meteor version. + +- ([#32284](https://github.com/RocketChat/Rocket.Chat/pull/32284)) fixed Engagement Dashboard and Device Management admin pages loading indefinitely + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/rest-typings@6.8.0-rc.1 + - @rocket.chat/api-client@0.1.31-rc.1 + - @rocket.chat/license@0.1.13-rc.1 + - @rocket.chat/omnichannel-services@0.1.13-rc.1 + - @rocket.chat/pdf-worker@0.0.37-rc.1 + - @rocket.chat/presence@0.1.13-rc.1 + - @rocket.chat/apps@0.0.4-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/cron@0.0.33-rc.1 + - @rocket.chat/gazzodown@6.0.0-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/ui-contexts@6.0.0-rc.1 + - @rocket.chat/server-cloud-communication@0.0.2 + - @rocket.chat/fuselage-ui-kit@6.0.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 + - @rocket.chat/ui-theming@0.1.2 + - @rocket.chat/ui-avatar@2.0.0-rc.1 + - @rocket.chat/ui-client@6.0.0-rc.1 + - @rocket.chat/ui-video-conf@6.0.0-rc.1 + - @rocket.chat/web-ui-registration@6.0.0-rc.1 + - @rocket.chat/instance-status@0.0.37-rc.1 +
+ ## 6.8.0-rc.0 ### Minor Changes diff --git a/apps/meteor/app/utils/rocketchat.info b/apps/meteor/app/utils/rocketchat.info index 3602aa8e8c62a..889375e1b0d6e 100644 --- a/apps/meteor/app/utils/rocketchat.info +++ b/apps/meteor/app/utils/rocketchat.info @@ -1,3 +1,3 @@ { - "version": "6.8.0-rc.0" + "version": "6.8.0-rc.1" } diff --git a/apps/meteor/ee/server/services/CHANGELOG.md b/apps/meteor/ee/server/services/CHANGELOG.md index 31bc154514e8d..78a0267aa8f01 100644 --- a/apps/meteor/ee/server/services/CHANGELOG.md +++ b/apps/meteor/ee/server/services/CHANGELOG.md @@ -1,5 +1,18 @@ # rocketchat-services +## 1.1.31-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/rest-typings@6.8.0-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 1.1.31-rc.0 ### Patch Changes diff --git a/apps/meteor/ee/server/services/package.json b/apps/meteor/ee/server/services/package.json index f4eaa6bdb0cde..457e0364becfc 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.31-rc.0", + "version": "1.1.31-rc.1", "description": "Rocket.Chat Authorization service", "main": "index.js", "scripts": { diff --git a/apps/meteor/package.json b/apps/meteor/package.json index dab3ea4062f90..5e89c04dc67a6 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.8.0-rc.0", + "version": "6.8.0-rc.1", "private": true, "author": { "name": "Rocket.Chat", diff --git a/ee/apps/account-service/CHANGELOG.md b/ee/apps/account-service/CHANGELOG.md index 6a694c274700b..99489d53f1fe4 100644 --- a/ee/apps/account-service/CHANGELOG.md +++ b/ee/apps/account-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/account-service +## 0.3.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/rest-typings@6.8.0-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.3.13-rc.0 ### Patch Changes @@ -11,6 +24,7 @@ - @rocket.chat/model-typings@0.4.0-rc.0 - @rocket.chat/core-services@0.3.12-rc.0 - @rocket.chat/models@0.0.36-rc.0 + ## 0.3.12 ### Patch Changes diff --git a/ee/apps/account-service/package.json b/ee/apps/account-service/package.json index b9c0a910c08fd..afe6a8a449bfa 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.3.13-rc.0", + "version": "0.3.13-rc.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 11446cb905ec7..6008a53acab1f 100644 --- a/ee/apps/authorization-service/CHANGELOG.md +++ b/ee/apps/authorization-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/authorization-service +## 0.3.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/rest-typings@6.8.0-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.3.13-rc.0 ### Patch Changes @@ -11,6 +24,7 @@ - @rocket.chat/model-typings@0.4.0-rc.0 - @rocket.chat/core-services@0.3.12-rc.0 - @rocket.chat/models@0.0.36-rc.0 + ## 0.3.12 ### Patch Changes diff --git a/ee/apps/authorization-service/package.json b/ee/apps/authorization-service/package.json index 497f06eb92586..003b4dd9aa678 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.3.13-rc.0", + "version": "0.3.13-rc.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 f660cdf88ff16..80f152474f368 100644 --- a/ee/apps/ddp-streamer/CHANGELOG.md +++ b/ee/apps/ddp-streamer/CHANGELOG.md @@ -1,5 +1,20 @@ # @rocket.chat/ddp-streamer +## 0.2.12-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/rest-typings@6.8.0-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/ui-contexts@6.0.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 + - @rocket.chat/instance-status@0.0.37-rc.1 +
+ ## 0.2.12-rc.0 ### Patch Changes @@ -13,6 +28,7 @@ - @rocket.chat/ui-contexts@6.0.0-rc.0 - @rocket.chat/models@0.0.36-rc.0 - @rocket.chat/instance-status@0.0.36-rc.0 + ## 0.2.11 ### Patch Changes diff --git a/ee/apps/ddp-streamer/package.json b/ee/apps/ddp-streamer/package.json index f246299a4903f..e4217e469500e 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.2.12-rc.0", + "version": "0.2.12-rc.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 ecc2f61e961cb..bc6d608a3f571 100644 --- a/ee/apps/omnichannel-transcript/CHANGELOG.md +++ b/ee/apps/omnichannel-transcript/CHANGELOG.md @@ -1,5 +1,19 @@ # @rocket.chat/omnichannel-transcript +## 0.3.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/omnichannel-services@0.1.13-rc.1 + - @rocket.chat/pdf-worker@0.0.37-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.3.13-rc.0 ### Patch Changes @@ -12,6 +26,7 @@ - @rocket.chat/omnichannel-services@0.1.12-rc.0 - @rocket.chat/pdf-worker@0.0.36-rc.0 - @rocket.chat/models@0.0.36-rc.0 + ## 0.3.12 ### Patch Changes diff --git a/ee/apps/omnichannel-transcript/package.json b/ee/apps/omnichannel-transcript/package.json index af693cf7ed035..6a6e5e2922d0d 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.3.13-rc.0", + "version": "0.3.13-rc.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 7b80c8b30bf42..b47356fb927f1 100644 --- a/ee/apps/presence-service/CHANGELOG.md +++ b/ee/apps/presence-service/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/presence-service +## 0.3.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/presence@0.1.13-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.3.13-rc.0 ### Patch Changes @@ -11,6 +24,7 @@ - @rocket.chat/core-services@0.3.12-rc.0 - @rocket.chat/presence@0.1.12-rc.0 - @rocket.chat/models@0.0.36-rc.0 + ## 0.3.12 ### Patch Changes diff --git a/ee/apps/presence-service/package.json b/ee/apps/presence-service/package.json index 3e08f7d425836..7928421843ad9 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.3.13-rc.0", + "version": "0.3.13-rc.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 5e92b8e004628..01c517b6d09c2 100644 --- a/ee/apps/queue-worker/CHANGELOG.md +++ b/ee/apps/queue-worker/CHANGELOG.md @@ -1,5 +1,18 @@ # @rocket.chat/queue-worker +## 0.3.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/omnichannel-services@0.1.13-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.3.13-rc.0 ### Patch Changes @@ -11,6 +24,7 @@ - @rocket.chat/core-services@0.3.12-rc.0 - @rocket.chat/omnichannel-services@0.1.12-rc.0 - @rocket.chat/models@0.0.36-rc.0 + ## 0.3.12 ### Patch Changes diff --git a/ee/apps/queue-worker/package.json b/ee/apps/queue-worker/package.json index c4a4d421e144c..f60e24aa7428b 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.3.13-rc.0", + "version": "0.3.13-rc.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 a69d08fe33592..020e225d98b80 100644 --- a/ee/apps/stream-hub-service/CHANGELOG.md +++ b/ee/apps/stream-hub-service/CHANGELOG.md @@ -1,5 +1,17 @@ # @rocket.chat/stream-hub-service +## 0.3.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.3.13-rc.0 ### Patch Changes @@ -10,6 +22,7 @@ - @rocket.chat/model-typings@0.4.0-rc.0 - @rocket.chat/core-services@0.3.12-rc.0 - @rocket.chat/models@0.0.36-rc.0 + ## 0.3.12 ### Patch Changes diff --git a/ee/apps/stream-hub-service/package.json b/ee/apps/stream-hub-service/package.json index 2f8826963decf..dd210ea57363e 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.3.13-rc.0", + "version": "0.3.13-rc.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 9f1651141b7c2..7dca27acbb30e 100644 --- a/ee/packages/api-client/CHANGELOG.md +++ b/ee/packages/api-client/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/api-client +## 0.1.31-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/rest-typings@6.8.0-rc.1 +
+ ## 0.1.31-rc.0 ### Patch Changes @@ -8,6 +18,7 @@ - @rocket.chat/rest-typings@6.8.0-rc.0 - @rocket.chat/core-typings@6.8.0-rc.0 + ## 0.1.30 ### Patch Changes diff --git a/ee/packages/api-client/package.json b/ee/packages/api-client/package.json index 511930bda787a..d602dd224ea75 100644 --- a/ee/packages/api-client/package.json +++ b/ee/packages/api-client/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/api-client", "private": true, - "version": "0.1.31-rc.0", + "version": "0.1.31-rc.1", "devDependencies": { "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", diff --git a/ee/packages/ddp-client/CHANGELOG.md b/ee/packages/ddp-client/CHANGELOG.md index 92fff42d1f36a..29f75ada1bdfd 100644 --- a/ee/packages/ddp-client/CHANGELOG.md +++ b/ee/packages/ddp-client/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/ddp-client +## 0.2.22-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/rest-typings@6.8.0-rc.1 + - @rocket.chat/api-client@0.1.31-rc.1 +
+ ## 0.2.22-rc.0 ### Patch Changes @@ -8,6 +18,7 @@ - @rocket.chat/rest-typings@6.8.0-rc.0 - @rocket.chat/api-client@0.1.30-rc.0 + ## 0.2.21 ### Patch Changes diff --git a/ee/packages/ddp-client/package.json b/ee/packages/ddp-client/package.json index c860b22a6d0f2..25de676fac1a8 100644 --- a/ee/packages/ddp-client/package.json +++ b/ee/packages/ddp-client/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/ddp-client", "private": true, - "version": "0.2.22-rc.0", + "version": "0.2.22-rc.1", "devDependencies": { "@swc/core": "^1.3.95", "@swc/jest": "^0.2.29", diff --git a/ee/packages/license/CHANGELOG.md b/ee/packages/license/CHANGELOG.md index cb3bb428dc594..410a1fc97673e 100644 --- a/ee/packages/license/CHANGELOG.md +++ b/ee/packages/license/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/license +## 0.1.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 +
+ ## 0.1.13-rc.0 ### Patch Changes @@ -7,6 +16,7 @@ -
Updated dependencies [c47a8e3514, 4aba7c8a26]: - @rocket.chat/core-typings@6.8.0-rc.0 + ## 0.1.12 ### Patch Changes diff --git a/ee/packages/license/package.json b/ee/packages/license/package.json index 268955515c51c..6ec1cc72fc17c 100644 --- a/ee/packages/license/package.json +++ b/ee/packages/license/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/license", - "version": "0.1.13-rc.0", + "version": "0.1.13-rc.1", "private": true, "devDependencies": { "@swc/core": "^1.3.95", diff --git a/ee/packages/omnichannel-services/CHANGELOG.md b/ee/packages/omnichannel-services/CHANGELOG.md index cb478ebdeaf86..ddef1c288fdad 100644 --- a/ee/packages/omnichannel-services/CHANGELOG.md +++ b/ee/packages/omnichannel-services/CHANGELOG.md @@ -1,5 +1,19 @@ # @rocket.chat/omnichannel-services +## 0.1.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/rest-typings@6.8.0-rc.1 + - @rocket.chat/pdf-worker@0.0.37-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.1.13-rc.0 ### Patch Changes @@ -12,6 +26,7 @@ - @rocket.chat/core-services@0.3.12-rc.0 - @rocket.chat/pdf-worker@0.0.36-rc.0 - @rocket.chat/models@0.0.36-rc.0 + ## 0.1.12 ### Patch Changes diff --git a/ee/packages/omnichannel-services/package.json b/ee/packages/omnichannel-services/package.json index 9e23d188a747f..40c0e09db02ab 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.1.13-rc.0", + "version": "0.1.13-rc.1", "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 331a572177a41..a5d2e17a5524b 100644 --- a/ee/packages/pdf-worker/CHANGELOG.md +++ b/ee/packages/pdf-worker/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/pdf-worker +## 0.0.37-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 +
+ ## 0.0.37-rc.0 ### Patch Changes @@ -7,6 +16,7 @@ -
Updated dependencies [c47a8e3514, 4aba7c8a26]: - @rocket.chat/core-typings@6.8.0-rc.0 + ## 0.0.36 ### Patch Changes diff --git a/ee/packages/pdf-worker/package.json b/ee/packages/pdf-worker/package.json index 46f9a89c1735f..10261302fb420 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.37-rc.0", + "version": "0.0.37-rc.1", "private": true, "devDependencies": { "@storybook/addon-essentials": "~6.5.16", diff --git a/ee/packages/presence/CHANGELOG.md b/ee/packages/presence/CHANGELOG.md index 907434b674413..9e73df1c1fff5 100644 --- a/ee/packages/presence/CHANGELOG.md +++ b/ee/packages/presence/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/presence +## 0.1.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/core-services@0.3.13-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.1.13-rc.0 ### Patch Changes @@ -9,6 +20,7 @@ - @rocket.chat/core-typings@6.8.0-rc.0 - @rocket.chat/core-services@0.3.12-rc.0 - @rocket.chat/models@0.0.36-rc.0 + ## 0.1.12 ### Patch Changes diff --git a/ee/packages/presence/package.json b/ee/packages/presence/package.json index 5c0ac098c047a..4bb1d2afdaf55 100644 --- a/ee/packages/presence/package.json +++ b/ee/packages/presence/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/presence", - "version": "0.1.13-rc.0", + "version": "0.1.13-rc.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", diff --git a/package.json b/package.json index e7f6d69a5ab81..278998cd7e893 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rocket.chat", - "version": "6.8.0-rc.0", + "version": "6.8.0-rc.1", "description": "Rocket.Chat Monorepo", "main": "index.js", "private": true, diff --git a/packages/apps/CHANGELOG.md b/packages/apps/CHANGELOG.md index 5278cbd9f6b34..55baa5973bfb6 100644 --- a/packages/apps/CHANGELOG.md +++ b/packages/apps/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/apps +## 0.0.4-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/model-typings@0.4.0-rc.1 +
+ ## 0.0.4-rc.0 ### Patch Changes @@ -8,6 +18,7 @@ - @rocket.chat/core-typings@6.8.0-rc.0 - @rocket.chat/model-typings@0.4.0-rc.0 + ## 0.0.3 ### Patch Changes diff --git a/packages/apps/package.json b/packages/apps/package.json index 20852c2de0e43..fb70621391856 100644 --- a/packages/apps/package.json +++ b/packages/apps/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/apps", - "version": "0.0.4-rc.0", + "version": "0.0.4-rc.1", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/core-services/CHANGELOG.md b/packages/core-services/CHANGELOG.md index b5b905f71d238..0af7af5e9c92a 100644 --- a/packages/core-services/CHANGELOG.md +++ b/packages/core-services/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/core-services +## 0.3.13-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/rest-typings@6.8.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.3.13-rc.0 ### Patch Changes @@ -13,6 +24,7 @@ - @rocket.chat/models@0.0.36-rc.0 - @rocket.chat/message-parser@0.31.29 - @rocket.chat/ui-kit@0.33.0 + ## 0.3.12 ### Patch Changes diff --git a/packages/core-services/package.json b/packages/core-services/package.json index ddc11d3e6a2c8..56676805e2bb3 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/core-services", - "version": "0.3.13-rc.0", + "version": "0.3.13-rc.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", diff --git a/packages/core-typings/CHANGELOG.md b/packages/core-typings/CHANGELOG.md index 8b57f13e36ab8..0ccc6b2ebd6f6 100644 --- a/packages/core-typings/CHANGELOG.md +++ b/packages/core-typings/CHANGELOG.md @@ -1,5 +1,7 @@ # @rocket.chat/core-typings +## 6.8.0-rc.1 + ## 6.8.0-rc.0 ### Minor Changes @@ -16,6 +18,7 @@ - @rocket.chat/message-parser@0.31.29 - @rocket.chat/ui-kit@0.33.0
+ ## 6.7.1 ## 6.7.0 diff --git a/packages/core-typings/package.json b/packages/core-typings/package.json index 12be4246906e9..5c7b712f26a6d 100644 --- a/packages/core-typings/package.json +++ b/packages/core-typings/package.json @@ -2,7 +2,7 @@ "$schema": "https://json.schemastore.org/package", "name": "@rocket.chat/core-typings", "private": true, - "version": "6.8.0-rc.0", + "version": "6.8.0-rc.1", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "eslint": "~8.45.0", diff --git a/packages/cron/CHANGELOG.md b/packages/cron/CHANGELOG.md index 179f4f2e24ab7..9d0ada1aed335 100644 --- a/packages/cron/CHANGELOG.md +++ b/packages/cron/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/cron +## 0.0.33-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.0.33-rc.0 ### Patch Changes @@ -9,6 +19,7 @@ - @rocket.chat/core-typings@6.8.0-rc.0 - @rocket.chat/models@0.0.36-rc.0 - @rocket.chat/random@1.2.2 + ## 0.0.32 ### Patch Changes diff --git a/packages/cron/package.json b/packages/cron/package.json index 1dc81b030b3aa..e908494194e9b 100644 --- a/packages/cron/package.json +++ b/packages/cron/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/cron", - "version": "0.0.33-rc.0", + "version": "0.0.33-rc.1", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/fuselage-ui-kit/CHANGELOG.md b/packages/fuselage-ui-kit/CHANGELOG.md index fb131b302436a..1f4f436e8efae 100644 --- a/packages/fuselage-ui-kit/CHANGELOG.md +++ b/packages/fuselage-ui-kit/CHANGELOG.md @@ -1,5 +1,17 @@ # Change Log +## 6.0.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/gazzodown@6.0.0-rc.1 + - @rocket.chat/ui-contexts@6.0.0-rc.1 + - @rocket.chat/ui-avatar@2.0.0-rc.1 + - @rocket.chat/ui-video-conf@6.0.0-rc.1 +
+ ## 6.0.0-rc.0 ### Patch Changes @@ -12,6 +24,7 @@ - @rocket.chat/ui-kit@0.33.0 - @rocket.chat/ui-video-conf@6.0.0-rc.0 - @rocket.chat/ui-avatar@2.0.0-rc.0 + ## 5.0.1 ### Patch Changes diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index 5989f3dddb247..18fcf6f7d80ec 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": "6.0.0-rc.0", + "version": "6.0.0-rc.1", "description": "UiKit elements for Rocket.Chat Apps built under Fuselage design system", "homepage": "https://rocketchat.github.io/Rocket.Chat.Fuselage/", "author": { @@ -49,10 +49,10 @@ "@rocket.chat/icons": "*", "@rocket.chat/prettier-config": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-avatar": "2.0.0-rc.0", - "@rocket.chat/ui-contexts": "6.0.0-rc.0", + "@rocket.chat/ui-avatar": "2.0.0-rc.1", + "@rocket.chat/ui-contexts": "6.0.0-rc.1", "@rocket.chat/ui-kit": "0.33.0", - "@rocket.chat/ui-video-conf": "6.0.0-rc.0", + "@rocket.chat/ui-video-conf": "6.0.0-rc.1", "@tanstack/react-query": "*", "react": "*", "react-dom": "*" diff --git a/packages/gazzodown/CHANGELOG.md b/packages/gazzodown/CHANGELOG.md index 107bef443daed..8742054fd307f 100644 --- a/packages/gazzodown/CHANGELOG.md +++ b/packages/gazzodown/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/gazzodown +## 6.0.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/ui-contexts@6.0.0-rc.1 + - @rocket.chat/ui-client@6.0.0-rc.1 +
+ ## 6.0.0-rc.0 ### Patch Changes @@ -10,6 +21,7 @@ - @rocket.chat/ui-contexts@6.0.0-rc.0 - @rocket.chat/message-parser@0.31.29 - @rocket.chat/ui-client@6.0.0-rc.0 + ## 5.0.1 ### Patch Changes diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json index cd2c0c8427573..55a0ed40d3c47 100644 --- a/packages/gazzodown/package.json +++ b/packages/gazzodown/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/gazzodown", - "version": "6.0.0-rc.0", + "version": "6.0.0-rc.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -71,8 +71,8 @@ "@rocket.chat/fuselage-tokens": "*", "@rocket.chat/message-parser": "0.31.29", "@rocket.chat/styled": "*", - "@rocket.chat/ui-client": "6.0.0-rc.0", - "@rocket.chat/ui-contexts": "6.0.0-rc.0", + "@rocket.chat/ui-client": "6.0.0-rc.1", + "@rocket.chat/ui-contexts": "6.0.0-rc.1", "katex": "*", "react": "*" }, diff --git a/packages/instance-status/CHANGELOG.md b/packages/instance-status/CHANGELOG.md index 4cc7591f2328a..7c433f5423778 100644 --- a/packages/instance-status/CHANGELOG.md +++ b/packages/instance-status/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/instance-status +## 0.0.37-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/models@0.0.37-rc.1 +
+ ## 0.0.37-rc.0 ### Patch Changes diff --git a/packages/instance-status/package.json b/packages/instance-status/package.json index 167287eb0e3bf..aac31c711b620 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.37-rc.0", + "version": "0.0.37-rc.1", "private": true, "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", diff --git a/packages/livechat/CHANGELOG.md b/packages/livechat/CHANGELOG.md index 584a1dc728684..b0ddab38ce8a1 100644 --- a/packages/livechat/CHANGELOG.md +++ b/packages/livechat/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/livechat Change Log +## 1.16.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/gazzodown@6.0.0-rc.1 +
+ ## 1.16.0-rc.0 ### Patch Changes @@ -16,6 +25,7 @@ - @rocket.chat/message-parser@0.31.29 - @rocket.chat/random@1.2.2 - @rocket.chat/ui-kit@0.33.0 + ## 1.15.1 ### Patch Changes diff --git a/packages/livechat/package.json b/packages/livechat/package.json index 166908c92218a..be5a41286475e 100644 --- a/packages/livechat/package.json +++ b/packages/livechat/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/livechat", - "version": "1.16.0-rc.0", + "version": "1.16.0-rc.1", "files": [ "/build" ], diff --git a/packages/model-typings/CHANGELOG.md b/packages/model-typings/CHANGELOG.md index 3fa87b4f6ad9d..b5a021fe2ec3c 100644 --- a/packages/model-typings/CHANGELOG.md +++ b/packages/model-typings/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/model-typings +## 0.4.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 +
+ ## 0.4.0-rc.0 ### Minor Changes @@ -11,6 +20,7 @@ -
Updated dependencies [c47a8e3514, 4aba7c8a26]: - @rocket.chat/core-typings@6.8.0-rc.0 + ## 0.3.8 ### Patch Changes diff --git a/packages/model-typings/package.json b/packages/model-typings/package.json index 8c68b5e0db7e6..8bf01720cf786 100644 --- a/packages/model-typings/package.json +++ b/packages/model-typings/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/model-typings", - "version": "0.4.0-rc.0", + "version": "0.4.0-rc.1", "private": true, "devDependencies": { "@types/jest": "~29.5.7", diff --git a/packages/models/CHANGELOG.md b/packages/models/CHANGELOG.md index 3b52041ac61b0..0177f2e1aaa17 100644 --- a/packages/models/CHANGELOG.md +++ b/packages/models/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/models +## 0.0.37-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/model-typings@0.4.0-rc.1 +
+ ## 0.0.37-rc.0 ### Patch Changes @@ -7,6 +16,7 @@ -
Updated dependencies [da45cb6998]: - @rocket.chat/model-typings@0.4.0-rc.0 + ## 0.0.36 ### Patch Changes diff --git a/packages/models/package.json b/packages/models/package.json index 9769097e06789..9a4389533c1eb 100644 --- a/packages/models/package.json +++ b/packages/models/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/models", - "version": "0.0.37-rc.0", + "version": "0.0.37-rc.1", "private": true, "devDependencies": { "@swc/core": "^1.3.95", diff --git a/packages/rest-typings/CHANGELOG.md b/packages/rest-typings/CHANGELOG.md index 5dc06477f7493..f1be74dee1810 100644 --- a/packages/rest-typings/CHANGELOG.md +++ b/packages/rest-typings/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/rest-typings +## 6.8.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 +
+ ## 6.8.0-rc.0 ### Minor Changes @@ -19,6 +28,7 @@ - @rocket.chat/core-typings@6.8.0-rc.0 - @rocket.chat/message-parser@0.31.29 - @rocket.chat/ui-kit@0.33.0 + ## 6.7.1 ### Patch Changes diff --git a/packages/rest-typings/package.json b/packages/rest-typings/package.json index 7c1dfabd02226..7066903025491 100644 --- a/packages/rest-typings/package.json +++ b/packages/rest-typings/package.json @@ -1,7 +1,7 @@ { "name": "@rocket.chat/rest-typings", "private": true, - "version": "6.8.0-rc.0", + "version": "6.8.0-rc.1", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "@types/jest": "~29.5.7", diff --git a/packages/ui-avatar/CHANGELOG.md b/packages/ui-avatar/CHANGELOG.md index 7855a59496a50..48ac76992f12d 100644 --- a/packages/ui-avatar/CHANGELOG.md +++ b/packages/ui-avatar/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/ui-avatar +## 2.0.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@6.0.0-rc.1 +
+ ## 2.0.0-rc.0 ### Patch Changes @@ -7,6 +16,7 @@ -
Updated dependencies [c0d54d742a]: - @rocket.chat/ui-contexts@6.0.0-rc.0 + ## 1.0.1 ### Patch Changes diff --git a/packages/ui-avatar/package.json b/packages/ui-avatar/package.json index ff8d68c869e30..eb497bdccab62 100644 --- a/packages/ui-avatar/package.json +++ b/packages/ui-avatar/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-avatar", - "version": "2.0.0-rc.0", + "version": "2.0.0-rc.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -31,7 +31,7 @@ ], "peerDependencies": { "@rocket.chat/fuselage": "*", - "@rocket.chat/ui-contexts": "6.0.0-rc.0", + "@rocket.chat/ui-contexts": "6.0.0-rc.1", "react": "~17.0.2" }, "volta": { diff --git a/packages/ui-client/CHANGELOG.md b/packages/ui-client/CHANGELOG.md index adf57a92bfd8b..f04d5cb974b29 100644 --- a/packages/ui-client/CHANGELOG.md +++ b/packages/ui-client/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/ui-client +## 6.0.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@6.0.0-rc.1 +
+ ## 6.0.0-rc.0 ### Patch Changes @@ -7,6 +16,7 @@ -
Updated dependencies [c0d54d742a]: - @rocket.chat/ui-contexts@6.0.0-rc.0 + ## 5.0.1 ### Patch Changes diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json index e697244711931..5df130401e80b 100644 --- a/packages/ui-client/package.json +++ b/packages/ui-client/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-client", - "version": "6.0.0-rc.0", + "version": "6.0.0-rc.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -63,7 +63,7 @@ "@rocket.chat/fuselage": "*", "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", - "@rocket.chat/ui-contexts": "6.0.0-rc.0", + "@rocket.chat/ui-contexts": "6.0.0-rc.1", "react": "~17.0.2" }, "volta": { diff --git a/packages/ui-contexts/CHANGELOG.md b/packages/ui-contexts/CHANGELOG.md index 0efcd1323533c..2f3e9a9928bed 100644 --- a/packages/ui-contexts/CHANGELOG.md +++ b/packages/ui-contexts/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/ui-contexts +## 6.0.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/core-typings@6.8.0-rc.1 + - @rocket.chat/rest-typings@6.8.0-rc.1 + - @rocket.chat/ddp-client@0.2.22-rc.1 +
+ ## 6.0.0-rc.0 ### Minor Changes @@ -14,6 +25,7 @@ - @rocket.chat/core-typings@6.8.0-rc.0 - @rocket.chat/i18n@0.3.0-rc.0 - @rocket.chat/ddp-client@0.2.21-rc.0 + ## 5.0.1 ### Patch Changes diff --git a/packages/ui-contexts/package.json b/packages/ui-contexts/package.json index 2cf5f2691548c..5aa9b853b0356 100644 --- a/packages/ui-contexts/package.json +++ b/packages/ui-contexts/package.json @@ -1,6 +1,6 @@ { "name": "@rocket.chat/ui-contexts", - "version": "6.0.0-rc.0", + "version": "6.0.0-rc.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 399eb2ae83917..80cc575739cca 100644 --- a/packages/ui-video-conf/CHANGELOG.md +++ b/packages/ui-video-conf/CHANGELOG.md @@ -1,5 +1,15 @@ # @rocket.chat/ui-video-conf +## 6.0.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@6.0.0-rc.1 + - @rocket.chat/ui-avatar@2.0.0-rc.1 +
+ ## 6.0.0-rc.0 ### Patch Changes @@ -8,6 +18,7 @@ - @rocket.chat/ui-contexts@6.0.0-rc.0 - @rocket.chat/ui-avatar@2.0.0-rc.0 + ## 5.0.1 ### Patch Changes diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json index ff911391ef6be..e21dc1f14d6da 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": "6.0.0-rc.0", + "version": "6.0.0-rc.1", "private": true, "devDependencies": { "@babel/core": "~7.22.20", @@ -36,8 +36,8 @@ "@rocket.chat/fuselage-hooks": "*", "@rocket.chat/icons": "*", "@rocket.chat/styled": "*", - "@rocket.chat/ui-avatar": "2.0.0-rc.0", - "@rocket.chat/ui-contexts": "6.0.0-rc.0", + "@rocket.chat/ui-avatar": "2.0.0-rc.1", + "@rocket.chat/ui-contexts": "6.0.0-rc.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 3bdf444ac2ecf..4bfa5e99408d4 100644 --- a/packages/uikit-playground/CHANGELOG.md +++ b/packages/uikit-playground/CHANGELOG.md @@ -1,5 +1,16 @@ # @rocket.chat/uikit-playground +## 0.2.22-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@6.0.0-rc.1 + - @rocket.chat/fuselage-ui-kit@6.0.0-rc.1 + - @rocket.chat/ui-avatar@2.0.0-rc.1 +
+ ## 0.2.22-rc.0 ### Patch Changes @@ -9,6 +20,7 @@ - @rocket.chat/ui-contexts@6.0.0-rc.0 - @rocket.chat/fuselage-ui-kit@6.0.0-rc.0 - @rocket.chat/ui-avatar@2.0.0-rc.0 + ## 0.2.21 ### Patch Changes diff --git a/packages/uikit-playground/package.json b/packages/uikit-playground/package.json index 149e8ac9b7b6e..8e05f8c6fa949 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.2.22-rc.0", + "version": "0.2.22-rc.1", "type": "module", "scripts": { "dev": "vite", diff --git a/packages/web-ui-registration/CHANGELOG.md b/packages/web-ui-registration/CHANGELOG.md index f8273e0f086e5..1167dc8213e53 100644 --- a/packages/web-ui-registration/CHANGELOG.md +++ b/packages/web-ui-registration/CHANGELOG.md @@ -1,5 +1,14 @@ # @rocket.chat/web-ui-registration +## 6.0.0-rc.1 + +### Patch Changes + +-
Updated dependencies []: + + - @rocket.chat/ui-contexts@6.0.0-rc.1 +
+ ## 6.0.0-rc.0 ### Patch Changes @@ -7,6 +16,7 @@ -
Updated dependencies [c0d54d742a]: - @rocket.chat/ui-contexts@6.0.0-rc.0 + ## 5.0.1 ### Patch Changes diff --git a/packages/web-ui-registration/package.json b/packages/web-ui-registration/package.json index d744bb46d595a..2c0e461d78da6 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": "6.0.0-rc.0", + "version": "6.0.0-rc.1", "private": true, "homepage": "https://rocket.chat", "main": "./dist/index.js", @@ -51,7 +51,7 @@ "peerDependencies": { "@rocket.chat/layout": "*", "@rocket.chat/tools": "0.2.1", - "@rocket.chat/ui-contexts": "6.0.0-rc.0", + "@rocket.chat/ui-contexts": "6.0.0-rc.1", "@tanstack/react-query": "*", "react": "*", "react-hook-form": "*", diff --git a/yarn.lock b/yarn.lock index 86e7f4ae9ed9a..e5c6cc4701ba2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8785,17 +8785,17 @@ __metadata: typescript: ~5.3.3 peerDependencies: "@rocket.chat/apps-engine": "*" - "@rocket.chat/eslint-config": 0.6.2 + "@rocket.chat/eslint-config": 0.7.0-rc.0 "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/fuselage-polyfills": "*" "@rocket.chat/icons": "*" "@rocket.chat/prettier-config": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 1.0.0 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-avatar": 2.0.0-rc.0 + "@rocket.chat/ui-contexts": 6.0.0-rc.0 "@rocket.chat/ui-kit": 0.33.0 - "@rocket.chat/ui-video-conf": 5.0.0 + "@rocket.chat/ui-video-conf": 6.0.0-rc.0 "@tanstack/react-query": "*" react: "*" react-dom: "*" @@ -8884,8 +8884,8 @@ __metadata: "@rocket.chat/fuselage-tokens": "*" "@rocket.chat/message-parser": 0.31.29 "@rocket.chat/styled": "*" - "@rocket.chat/ui-client": 5.0.0 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-client": 6.0.0-rc.0 + "@rocket.chat/ui-contexts": 6.0.0-rc.0 katex: "*" react: "*" languageName: unknown @@ -10103,7 +10103,7 @@ __metadata: typescript: ~5.3.3 peerDependencies: "@rocket.chat/fuselage": "*" - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-contexts": 6.0.0-rc.0 react: ~17.0.2 languageName: unknown linkType: soft @@ -10156,7 +10156,7 @@ __metadata: "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-contexts": 6.0.0-rc.0 react: ~17.0.2 languageName: unknown linkType: soft @@ -10332,8 +10332,8 @@ __metadata: "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 1.0.0 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-avatar": 2.0.0-rc.0 + "@rocket.chat/ui-contexts": 6.0.0-rc.0 react: ^17.0.2 react-dom: ^17.0.2 languageName: unknown @@ -10423,7 +10423,7 @@ __metadata: peerDependencies: "@rocket.chat/layout": "*" "@rocket.chat/tools": 0.2.1 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-contexts": 6.0.0-rc.0 "@tanstack/react-query": "*" react: "*" react-hook-form: "*" From 92cf2b6fb2a411c576c8cec499b89bebe03233f0 Mon Sep 17 00:00:00 2001 From: Douglas Fabris Date: Thu, 2 May 2024 16:41:53 -0300 Subject: [PATCH 026/185] feat: Scrollbar color contrast improvement (#32341) --- .changeset/warm-squids-deliver.md | 5 +++++ .../client/components/CustomScrollbars/CustomScrollbars.tsx | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .changeset/warm-squids-deliver.md diff --git a/.changeset/warm-squids-deliver.md b/.changeset/warm-squids-deliver.md new file mode 100644 index 0000000000000..0ec0a9407993f --- /dev/null +++ b/.changeset/warm-squids-deliver.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': minor +--- + +Changes the scrollbar color in order to improve the contrast and accessibility compliance diff --git a/apps/meteor/client/components/CustomScrollbars/CustomScrollbars.tsx b/apps/meteor/client/components/CustomScrollbars/CustomScrollbars.tsx index c98dcb0d7e652..18bdbdead14e0 100644 --- a/apps/meteor/client/components/CustomScrollbars/CustomScrollbars.tsx +++ b/apps/meteor/client/components/CustomScrollbars/CustomScrollbars.tsx @@ -1,3 +1,4 @@ +import { Palette } from '@rocket.chat/fuselage'; import type { ScrollValues } from 'rc-scrollbars'; import { Scrollbars } from 'rc-scrollbars'; import type { MutableRefObject, CSSProperties, ReactNode, ReactElement } from 'react'; @@ -43,7 +44,7 @@ const CustomScrollbars = forwardRef(function overflowX ? undefined : (props): ReactElement =>
} renderThumbVertical={({ style, ...props }): JSX.Element => ( -
+
)} children={children} ref={refSetter} From 651e0935be85cf909ae6673f25fc78dbd67c8b76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BAlia=20Jaeger=20Foresti?= <60678893+juliajforesti@users.noreply.github.com> Date: Thu, 2 May 2024 17:32:00 -0300 Subject: [PATCH 027/185] fix: `AttachmentAuthorName` missing color token (#32342) --- .changeset/young-yaks-suffer.md | 5 ++ apps/meteor/ee/server/services/package.json | 2 +- apps/meteor/package.json | 4 +- ee/packages/ui-theming/package.json | 4 +- packages/core-services/package.json | 2 +- packages/core-typings/package.json | 2 +- packages/fuselage-ui-kit/package.json | 4 +- packages/gazzodown/package.json | 2 +- packages/i18n/package.json | 1 - packages/ui-avatar/package.json | 2 +- packages/ui-client/package.json | 4 +- packages/ui-composer/package.json | 4 +- packages/ui-video-conf/package.json | 4 +- packages/uikit-playground/package.json | 4 +- yarn.lock | 74 ++++++++++----------- 15 files changed, 61 insertions(+), 57 deletions(-) create mode 100644 .changeset/young-yaks-suffer.md diff --git a/.changeset/young-yaks-suffer.md b/.changeset/young-yaks-suffer.md new file mode 100644 index 0000000000000..b3a1d7b09fef6 --- /dev/null +++ b/.changeset/young-yaks-suffer.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +bump fuselage adding `AttachmentAuthorName` missing color token diff --git a/apps/meteor/ee/server/services/package.json b/apps/meteor/ee/server/services/package.json index f66c51d74b280..c48d34ff20824 100644 --- a/apps/meteor/ee/server/services/package.json +++ b/apps/meteor/ee/server/services/package.json @@ -50,7 +50,7 @@ "ws": "^8.8.1" }, "devDependencies": { - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/icons": "^0.35.0", "@types/cookie": "^0.5.3", "@types/cookie-parser": "^1.4.5", "@types/ejson": "^2.2.1", diff --git a/apps/meteor/package.json b/apps/meteor/package.json index 314fae0c4ead2..082f806658492 100644 --- a/apps/meteor/package.json +++ b/apps/meteor/package.json @@ -242,7 +242,7 @@ "@rocket.chat/favicon": "workspace:^", "@rocket.chat/forked-matrix-appservice-bridge": "^4.0.2", "@rocket.chat/forked-matrix-bot-sdk": "^0.6.0-beta.3", - "@rocket.chat/fuselage": "^0.53.4", + "@rocket.chat/fuselage": "^0.53.6", "@rocket.chat/fuselage-hooks": "^0.33.1", "@rocket.chat/fuselage-polyfills": "~0.31.25", "@rocket.chat/fuselage-toastbar": "^0.31.26", @@ -250,7 +250,7 @@ "@rocket.chat/fuselage-ui-kit": "workspace:^", "@rocket.chat/gazzodown": "workspace:^", "@rocket.chat/i18n": "workspace:^", - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/icons": "^0.35.0", "@rocket.chat/instance-status": "workspace:^", "@rocket.chat/jwt": "workspace:^", "@rocket.chat/layout": "~0.31.26", diff --git a/ee/packages/ui-theming/package.json b/ee/packages/ui-theming/package.json index 0906c99154f84..386ceead701f6 100644 --- a/ee/packages/ui-theming/package.json +++ b/ee/packages/ui-theming/package.json @@ -4,9 +4,9 @@ "private": true, "devDependencies": { "@rocket.chat/css-in-js": "~0.31.25", - "@rocket.chat/fuselage": "^0.53.4", + "@rocket.chat/fuselage": "^0.53.6", "@rocket.chat/fuselage-hooks": "^0.33.1", - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/icons": "^0.35.0", "@rocket.chat/ui-contexts": "workspace:~", "@storybook/addon-actions": "~6.5.16", "@storybook/addon-docs": "~6.5.16", diff --git a/packages/core-services/package.json b/packages/core-services/package.json index 27588c2c103a6..86940de428897 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -36,7 +36,7 @@ "dependencies": { "@rocket.chat/apps-engine": "^1.42.1", "@rocket.chat/core-typings": "workspace:^", - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/icons": "^0.35.0", "@rocket.chat/message-parser": "workspace:^", "@rocket.chat/models": "workspace:^", "@rocket.chat/rest-typings": "workspace:^", diff --git a/packages/core-typings/package.json b/packages/core-typings/package.json index 595421d04c31f..0c7fadfe0c356 100644 --- a/packages/core-typings/package.json +++ b/packages/core-typings/package.json @@ -24,7 +24,7 @@ ], "dependencies": { "@rocket.chat/apps-engine": "^1.42.1", - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/icons": "^0.35.0", "@rocket.chat/message-parser": "workspace:^", "@rocket.chat/ui-kit": "workspace:~" }, diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index f997fecce4143..9094e88883fcf 100644 --- a/packages/fuselage-ui-kit/package.json +++ b/packages/fuselage-ui-kit/package.json @@ -64,10 +64,10 @@ "@babel/preset-typescript": "~7.22.15", "@rocket.chat/apps-engine": "^1.42.1", "@rocket.chat/eslint-config": "workspace:^", - "@rocket.chat/fuselage": "^0.53.4", + "@rocket.chat/fuselage": "^0.53.6", "@rocket.chat/fuselage-hooks": "^0.33.1", "@rocket.chat/fuselage-polyfills": "~0.31.25", - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/icons": "^0.35.0", "@rocket.chat/prettier-config": "~0.31.25", "@rocket.chat/styled": "~0.31.25", "@rocket.chat/ui-avatar": "workspace:^", diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json index 90469b9e3939f..7ccbc27b7878d 100644 --- a/packages/gazzodown/package.json +++ b/packages/gazzodown/package.json @@ -6,7 +6,7 @@ "@babel/core": "~7.22.20", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/css-in-js": "~0.31.25", - "@rocket.chat/fuselage": "^0.53.4", + "@rocket.chat/fuselage": "^0.53.6", "@rocket.chat/fuselage-tokens": "^0.33.1", "@rocket.chat/message-parser": "workspace:^", "@rocket.chat/styled": "~0.31.25", diff --git a/packages/i18n/package.json b/packages/i18n/package.json index 99257692b0572..7bf9b11e54d67 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -25,7 +25,6 @@ "/dist" ], "type": "module", - "volta": { "extends": "../../package.json" } diff --git a/packages/ui-avatar/package.json b/packages/ui-avatar/package.json index 32dd69d698580..bc22e72d3a0c7 100644 --- a/packages/ui-avatar/package.json +++ b/packages/ui-avatar/package.json @@ -4,7 +4,7 @@ "private": true, "devDependencies": { "@babel/core": "~7.22.20", - "@rocket.chat/fuselage": "^0.53.4", + "@rocket.chat/fuselage": "^0.53.6", "@rocket.chat/ui-contexts": "workspace:^", "@types/babel__core": "~7.20.3", "@types/react": "~17.0.69", diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json index c9e7824868fef..ef2c7d48ab7e2 100644 --- a/packages/ui-client/package.json +++ b/packages/ui-client/package.json @@ -6,9 +6,9 @@ "@babel/core": "~7.22.20", "@react-aria/toolbar": "^3.0.0-beta.1", "@rocket.chat/css-in-js": "~0.31.25", - "@rocket.chat/fuselage": "^0.53.4", + "@rocket.chat/fuselage": "^0.53.6", "@rocket.chat/fuselage-hooks": "^0.33.1", - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/icons": "^0.35.0", "@rocket.chat/mock-providers": "workspace:^", "@rocket.chat/ui-contexts": "workspace:~", "@storybook/addon-actions": "~6.5.16", diff --git a/packages/ui-composer/package.json b/packages/ui-composer/package.json index 12f7c7253e35d..3d2e158559baf 100644 --- a/packages/ui-composer/package.json +++ b/packages/ui-composer/package.json @@ -6,8 +6,8 @@ "@babel/core": "~7.22.20", "@react-aria/toolbar": "^3.0.0-beta.1", "@rocket.chat/eslint-config": "workspace:^", - "@rocket.chat/fuselage": "^0.53.4", - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/fuselage": "^0.53.6", + "@rocket.chat/icons": "^0.35.0", "@storybook/addon-actions": "~6.5.16", "@storybook/addon-docs": "~6.5.16", "@storybook/addon-essentials": "~6.5.16", diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json index c1efa8efa4dd1..5b30f0ba5db06 100644 --- a/packages/ui-video-conf/package.json +++ b/packages/ui-video-conf/package.json @@ -6,9 +6,9 @@ "@babel/core": "~7.22.20", "@rocket.chat/css-in-js": "~0.31.25", "@rocket.chat/eslint-config": "workspace:^", - "@rocket.chat/fuselage": "^0.53.4", + "@rocket.chat/fuselage": "^0.53.6", "@rocket.chat/fuselage-hooks": "^0.33.1", - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/icons": "^0.35.0", "@rocket.chat/styled": "~0.31.25", "@rocket.chat/ui-avatar": "workspace:^", "@rocket.chat/ui-contexts": "workspace:^", diff --git a/packages/uikit-playground/package.json b/packages/uikit-playground/package.json index 6446217bd3668..0c83fad20c226 100644 --- a/packages/uikit-playground/package.json +++ b/packages/uikit-playground/package.json @@ -15,13 +15,13 @@ "@codemirror/tooltip": "^0.19.16", "@lezer/highlight": "^1.1.6", "@rocket.chat/css-in-js": "~0.31.25", - "@rocket.chat/fuselage": "^0.53.4", + "@rocket.chat/fuselage": "^0.53.6", "@rocket.chat/fuselage-hooks": "^0.33.1", "@rocket.chat/fuselage-polyfills": "~0.31.25", "@rocket.chat/fuselage-toastbar": "^0.31.26", "@rocket.chat/fuselage-tokens": "^0.33.1", "@rocket.chat/fuselage-ui-kit": "workspace:~", - "@rocket.chat/icons": "^0.34.0", + "@rocket.chat/icons": "^0.35.0", "@rocket.chat/logo": "^0.31.30", "@rocket.chat/styled": "~0.31.25", "@rocket.chat/ui-avatar": "workspace:^", diff --git a/yarn.lock b/yarn.lock index 86e7f4ae9ed9a..c50d89ed887ae 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8444,7 +8444,7 @@ __metadata: "@rocket.chat/apps-engine": ^1.42.1 "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/eslint-config": "workspace:^" - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/icons": ^0.35.0 "@rocket.chat/message-parser": "workspace:^" "@rocket.chat/models": "workspace:^" "@rocket.chat/rest-typings": "workspace:^" @@ -8469,7 +8469,7 @@ __metadata: dependencies: "@rocket.chat/apps-engine": ^1.42.1 "@rocket.chat/eslint-config": "workspace:^" - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/icons": ^0.35.0 "@rocket.chat/message-parser": "workspace:^" "@rocket.chat/ui-kit": "workspace:~" eslint: ~8.45.0 @@ -8742,11 +8742,11 @@ __metadata: "@babel/preset-typescript": ~7.22.15 "@rocket.chat/apps-engine": ^1.42.1 "@rocket.chat/eslint-config": "workspace:^" - "@rocket.chat/fuselage": ^0.53.4 + "@rocket.chat/fuselage": ^0.53.6 "@rocket.chat/fuselage-hooks": ^0.33.1 "@rocket.chat/fuselage-polyfills": ~0.31.25 "@rocket.chat/gazzodown": "workspace:^" - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/icons": ^0.35.0 "@rocket.chat/prettier-config": ~0.31.25 "@rocket.chat/styled": ~0.31.25 "@rocket.chat/ui-avatar": "workspace:^" @@ -8792,19 +8792,19 @@ __metadata: "@rocket.chat/icons": "*" "@rocket.chat/prettier-config": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 1.0.0 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-avatar": 1.0.1 + "@rocket.chat/ui-contexts": 5.0.1 "@rocket.chat/ui-kit": 0.33.0 - "@rocket.chat/ui-video-conf": 5.0.0 + "@rocket.chat/ui-video-conf": 5.0.1 "@tanstack/react-query": "*" react: "*" react-dom: "*" languageName: unknown linkType: soft -"@rocket.chat/fuselage@npm:^0.53.4": - version: 0.53.4 - resolution: "@rocket.chat/fuselage@npm:0.53.4" +"@rocket.chat/fuselage@npm:^0.53.6": + version: 0.53.6 + resolution: "@rocket.chat/fuselage@npm:0.53.6" dependencies: "@rocket.chat/css-in-js": ^0.31.25 "@rocket.chat/css-supports": ^0.31.25 @@ -8822,7 +8822,7 @@ __metadata: react: ^17.0.2 react-dom: ^17.0.2 react-virtuoso: 1.2.4 - checksum: 3a926f6f29f8111c23d423d056f51f13679f329cb58b418a9b2999ceac54897232f6078d656e3c7858d52dbe5fa55137267397feaa24b4271cf10e1e955891b6 + checksum: cce7623781fd3fc5b1ebce3f7a25411fb2d97fbe8f63728cd5004faf33a718da0f9cd37193b4edb29628f924aca2adb9b675adbf7069dc429695d4bb3b2e2161 languageName: node linkType: hard @@ -8833,7 +8833,7 @@ __metadata: "@babel/core": ~7.22.20 "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/css-in-js": ~0.31.25 - "@rocket.chat/fuselage": ^0.53.4 + "@rocket.chat/fuselage": ^0.53.6 "@rocket.chat/fuselage-tokens": ^0.33.1 "@rocket.chat/message-parser": "workspace:^" "@rocket.chat/styled": ~0.31.25 @@ -8884,8 +8884,8 @@ __metadata: "@rocket.chat/fuselage-tokens": "*" "@rocket.chat/message-parser": 0.31.29 "@rocket.chat/styled": "*" - "@rocket.chat/ui-client": 5.0.0 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-client": 5.0.1 + "@rocket.chat/ui-contexts": 5.0.1 katex: "*" react: "*" languageName: unknown @@ -8906,10 +8906,10 @@ __metadata: languageName: unknown linkType: soft -"@rocket.chat/icons@npm:^0.34.0": - version: 0.34.0 - resolution: "@rocket.chat/icons@npm:0.34.0" - checksum: d84af3174b3ba75639be8ebbe31a4bb5ca6467a9d2a3db6e4d38589dfa378f0fdb118fd337dd938dfb0f8fd493352e53102956e96f310b6dbcb69d3b72a3266c +"@rocket.chat/icons@npm:^0.35.0": + version: 0.35.0 + resolution: "@rocket.chat/icons@npm:0.35.0" + checksum: c31e20255f7349fab3f74abb0a4ccdaa6fcd194fcb00036115458714008d88108caeb713c79ea8ffc6871147c360e96fe4ae2f24d31116c50c7854f64c522701 languageName: node linkType: hard @@ -9193,7 +9193,7 @@ __metadata: "@rocket.chat/favicon": "workspace:^" "@rocket.chat/forked-matrix-appservice-bridge": ^4.0.2 "@rocket.chat/forked-matrix-bot-sdk": ^0.6.0-beta.3 - "@rocket.chat/fuselage": ^0.53.4 + "@rocket.chat/fuselage": ^0.53.6 "@rocket.chat/fuselage-hooks": ^0.33.1 "@rocket.chat/fuselage-polyfills": ~0.31.25 "@rocket.chat/fuselage-toastbar": ^0.31.26 @@ -9201,7 +9201,7 @@ __metadata: "@rocket.chat/fuselage-ui-kit": "workspace:^" "@rocket.chat/gazzodown": "workspace:^" "@rocket.chat/i18n": "workspace:^" - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/icons": ^0.35.0 "@rocket.chat/instance-status": "workspace:^" "@rocket.chat/jwt": "workspace:^" "@rocket.chat/layout": ~0.31.26 @@ -10089,7 +10089,7 @@ __metadata: resolution: "@rocket.chat/ui-avatar@workspace:packages/ui-avatar" dependencies: "@babel/core": ~7.22.20 - "@rocket.chat/fuselage": ^0.53.4 + "@rocket.chat/fuselage": ^0.53.6 "@rocket.chat/ui-contexts": "workspace:^" "@types/babel__core": ~7.20.3 "@types/react": ~17.0.69 @@ -10103,7 +10103,7 @@ __metadata: typescript: ~5.3.3 peerDependencies: "@rocket.chat/fuselage": "*" - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-contexts": 5.0.1 react: ~17.0.2 languageName: unknown linkType: soft @@ -10115,9 +10115,9 @@ __metadata: "@babel/core": ~7.22.20 "@react-aria/toolbar": ^3.0.0-beta.1 "@rocket.chat/css-in-js": ~0.31.25 - "@rocket.chat/fuselage": ^0.53.4 + "@rocket.chat/fuselage": ^0.53.6 "@rocket.chat/fuselage-hooks": ^0.33.1 - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/icons": ^0.35.0 "@rocket.chat/mock-providers": "workspace:^" "@rocket.chat/ui-contexts": "workspace:~" "@storybook/addon-actions": ~6.5.16 @@ -10156,7 +10156,7 @@ __metadata: "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-contexts": 5.0.1 react: ~17.0.2 languageName: unknown linkType: soft @@ -10168,8 +10168,8 @@ __metadata: "@babel/core": ~7.22.20 "@react-aria/toolbar": ^3.0.0-beta.1 "@rocket.chat/eslint-config": "workspace:^" - "@rocket.chat/fuselage": ^0.53.4 - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/fuselage": ^0.53.6 + "@rocket.chat/icons": ^0.35.0 "@storybook/addon-actions": ~6.5.16 "@storybook/addon-docs": ~6.5.16 "@storybook/addon-essentials": ~6.5.16 @@ -10260,9 +10260,9 @@ __metadata: resolution: "@rocket.chat/ui-theming@workspace:ee/packages/ui-theming" dependencies: "@rocket.chat/css-in-js": ~0.31.25 - "@rocket.chat/fuselage": ^0.53.4 + "@rocket.chat/fuselage": ^0.53.6 "@rocket.chat/fuselage-hooks": ^0.33.1 - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/icons": ^0.35.0 "@rocket.chat/ui-contexts": "workspace:~" "@storybook/addon-actions": ~6.5.16 "@storybook/addon-docs": ~6.5.16 @@ -10303,9 +10303,9 @@ __metadata: "@rocket.chat/css-in-js": ~0.31.25 "@rocket.chat/emitter": ~0.31.25 "@rocket.chat/eslint-config": "workspace:^" - "@rocket.chat/fuselage": ^0.53.4 + "@rocket.chat/fuselage": ^0.53.6 "@rocket.chat/fuselage-hooks": ^0.33.1 - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/icons": ^0.35.0 "@rocket.chat/styled": ~0.31.25 "@rocket.chat/ui-avatar": "workspace:^" "@rocket.chat/ui-contexts": "workspace:^" @@ -10332,8 +10332,8 @@ __metadata: "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 1.0.0 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-avatar": 1.0.1 + "@rocket.chat/ui-contexts": 5.0.1 react: ^17.0.2 react-dom: ^17.0.2 languageName: unknown @@ -10348,13 +10348,13 @@ __metadata: "@codemirror/tooltip": ^0.19.16 "@lezer/highlight": ^1.1.6 "@rocket.chat/css-in-js": ~0.31.25 - "@rocket.chat/fuselage": ^0.53.4 + "@rocket.chat/fuselage": ^0.53.6 "@rocket.chat/fuselage-hooks": ^0.33.1 "@rocket.chat/fuselage-polyfills": ~0.31.25 "@rocket.chat/fuselage-toastbar": ^0.31.26 "@rocket.chat/fuselage-tokens": ^0.33.1 "@rocket.chat/fuselage-ui-kit": "workspace:~" - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/icons": ^0.35.0 "@rocket.chat/logo": ^0.31.30 "@rocket.chat/styled": ~0.31.25 "@rocket.chat/ui-avatar": "workspace:^" @@ -10423,7 +10423,7 @@ __metadata: peerDependencies: "@rocket.chat/layout": "*" "@rocket.chat/tools": 0.2.1 - "@rocket.chat/ui-contexts": 5.0.0 + "@rocket.chat/ui-contexts": 5.0.1 "@tanstack/react-query": "*" react: "*" react-hook-form: "*" @@ -36858,7 +36858,7 @@ __metadata: "@rocket.chat/core-services": "workspace:^" "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/emitter": ~0.31.25 - "@rocket.chat/icons": ^0.34.0 + "@rocket.chat/icons": ^0.35.0 "@rocket.chat/message-parser": "workspace:^" "@rocket.chat/model-typings": "workspace:^" "@rocket.chat/models": "workspace:^" From 7d5bdde4d80af5db0ce75d6b55d0254652ff578d Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Thu, 2 May 2024 19:34:42 -0300 Subject: [PATCH 028/185] test: close pages after OC - Livechat --- .../omnichannel/omnichannel-livechat-tab-communication.spec.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/meteor/tests/e2e/omnichannel/omnichannel-livechat-tab-communication.spec.ts b/apps/meteor/tests/e2e/omnichannel/omnichannel-livechat-tab-communication.spec.ts index 17e32fd51d703..27c800fd0a5f5 100644 --- a/apps/meteor/tests/e2e/omnichannel/omnichannel-livechat-tab-communication.spec.ts +++ b/apps/meteor/tests/e2e/omnichannel/omnichannel-livechat-tab-communication.spec.ts @@ -35,6 +35,8 @@ test.describe('OC - Livechat - Cross Tab Communication', () => { test.afterAll(async () => { await poHomeOmnichannel.page?.close(); await agent.delete(); + await pageLivechat1.page.close(); + await pageLivechat2.page.close(); }); test('OC - Livechat - Send messages, close chat and start again 2 tabs', async () => { From ff4e3964169dbe8c5c3a882aa6a901eda08fbcfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrique=20Guimar=C3=A3es=20Ribeiro?= Date: Mon, 6 May 2024 16:17:30 -0300 Subject: [PATCH 029/185] feat: New users page all tab (#31917) --- .changeset/chilly-poems-explode.md | 7 + .../views/admin/users/AdminUsersPage.tsx | 62 +++++- .../admin/users/UsersTable/UsersTable.tsx | 198 +++++++++--------- .../admin/users/UsersTable/UsersTableRow.tsx | 53 +++-- .../admin/users/hooks/useFilteredUsers.ts | 62 ++++++ packages/core-typings/src/IUser.ts | 2 + packages/i18n/src/locales/en.i18n.json | 3 + 7 files changed, 264 insertions(+), 123 deletions(-) create mode 100644 .changeset/chilly-poems-explode.md create mode 100644 apps/meteor/client/views/admin/users/hooks/useFilteredUsers.ts diff --git a/.changeset/chilly-poems-explode.md b/.changeset/chilly-poems-explode.md new file mode 100644 index 0000000000000..17acf3c5ba85c --- /dev/null +++ b/.changeset/chilly-poems-explode.md @@ -0,0 +1,7 @@ +--- +"@rocket.chat/meteor": minor +"@rocket.chat/core-typings": minor +"@rocket.chat/i18n": patch +--- + +Introduced a tab layout to the users page and implemented a tab called "All" that lists all users. diff --git a/apps/meteor/client/views/admin/users/AdminUsersPage.tsx b/apps/meteor/client/views/admin/users/AdminUsersPage.tsx index 115d4f93f3c57..d72c7051cf6c5 100644 --- a/apps/meteor/client/views/admin/users/AdminUsersPage.tsx +++ b/apps/meteor/client/views/admin/users/AdminUsersPage.tsx @@ -1,7 +1,9 @@ -import { Button, ButtonGroup, ContextualbarIcon } from '@rocket.chat/fuselage'; +import type { IAdminUserTabs } from '@rocket.chat/core-typings'; +import { Button, ButtonGroup, ContextualbarIcon, Tabs, TabsItem } from '@rocket.chat/fuselage'; +import { useDebouncedValue } from '@rocket.chat/fuselage-hooks'; import { usePermission, useRouteParameter, useTranslation, useRouter } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; -import React, { useRef } from 'react'; +import React, { useEffect, useMemo, useRef, useState } from 'react'; import UserPageHeaderContentWithSeatsCap from '../../../../ee/client/views/admin/users/UserPageHeaderContentWithSeatsCap'; import { useSeatsCap } from '../../../../ee/client/views/admin/users/useSeatsCap'; @@ -12,6 +14,8 @@ import { ContextualbarClose, ContextualbarDialog, } from '../../../components/Contextualbar'; +import { usePagination } from '../../../components/GenericTable/hooks/usePagination'; +import { useSort } from '../../../components/GenericTable/hooks/useSort'; import { Page, PageHeader, PageContent } from '../../../components/Page'; import { useShouldPreventAction } from '../../../hooks/useShouldPreventAction'; import AdminInviteUsers from './AdminInviteUsers'; @@ -20,12 +24,18 @@ import AdminUserFormWithData from './AdminUserFormWithData'; import AdminUserInfoWithData from './AdminUserInfoWithData'; import AdminUserUpgrade from './AdminUserUpgrade'; import UsersTable from './UsersTable'; +import useFilteredUsers from './hooks/useFilteredUsers'; -const UsersPage = (): ReactElement => { +export type UsersFilters = { + text: string; +}; + +export type UsersTableSortingOptions = 'name' | 'username' | 'emails.address' | 'status'; + +const AdminUsersPage = (): ReactElement => { const t = useTranslation(); const seatsCap = useSeatsCap(); - const reload = useRef(() => null); const router = useRouter(); const context = useRouteParameter('context'); @@ -36,12 +46,36 @@ const UsersPage = (): ReactElement => { const isCreateUserDisabled = useShouldPreventAction('activeUsers'); + const paginationData = usePagination(); + const sortData = useSort<'name' | 'username' | 'emails.address' | 'status'>('name'); + + const [tab, setTab] = useState('all'); + const [userFilters, setUserFilters] = useState({ text: '' }); + + const searchTerm = useDebouncedValue(userFilters.text, 500); + const prevSearchTerm = useRef(''); + + const filteredUsersQueryResult = useFilteredUsers({ + searchTerm, + prevSearchTerm, + sortData, + paginationData, + tab, + }); + const handleReload = (): void => { seatsCap?.reload(); - reload.current(); + filteredUsersQueryResult?.refetch(); }; - const isRoutePrevented = context && ['new', 'invite'].includes(context) && isCreateUserDisabled; + useEffect(() => { + prevSearchTerm.current = searchTerm; + }, [searchTerm]); + + const isRoutePrevented = useMemo( + () => context && ['new', 'invite'].includes(context) && isCreateUserDisabled, + [context, isCreateUserDisabled], + ); return ( @@ -65,7 +99,19 @@ const UsersPage = (): ReactElement => { )} - + + setTab('all')}> + {t('All')} + + + {context && ( @@ -93,4 +139,4 @@ const UsersPage = (): ReactElement => { ); }; -export default UsersPage; +export default AdminUsersPage; diff --git a/apps/meteor/client/views/admin/users/UsersTable/UsersTable.tsx b/apps/meteor/client/views/admin/users/UsersTable/UsersTable.tsx index 1af9c67c9dccf..10ba211f27e01 100644 --- a/apps/meteor/client/views/admin/users/UsersTable/UsersTable.tsx +++ b/apps/meteor/client/views/admin/users/UsersTable/UsersTable.tsx @@ -1,10 +1,11 @@ -import { Pagination } from '@rocket.chat/fuselage'; -import { useMediaQuery, useDebouncedValue, useMutableCallback } from '@rocket.chat/fuselage-hooks'; -import { escapeRegExp } from '@rocket.chat/string-helpers'; -import { useEndpoint, useRoute, useToastMessageDispatch, useTranslation } from '@rocket.chat/ui-contexts'; -import { useQuery } from '@tanstack/react-query'; -import type { ReactElement, MutableRefObject } from 'react'; -import React, { useRef, useMemo, useState, useEffect } from 'react'; +import type { IAdminUserTabs, Serialized } from '@rocket.chat/core-typings'; +import { Pagination, States, StatesAction, StatesActions, StatesIcon, StatesTitle } from '@rocket.chat/fuselage'; +import { useMediaQuery, useEffectEvent } from '@rocket.chat/fuselage-hooks'; +import type { PaginatedResult, DefaultUserInfo } from '@rocket.chat/rest-typings'; +import { useRouter, useTranslation } from '@rocket.chat/ui-contexts'; +import type { UseQueryResult } from '@tanstack/react-query'; +import type { ReactElement, Dispatch, SetStateAction } from 'react'; +import React, { useCallback, useMemo } from 'react'; import FilterByText from '../../../../components/FilterByText'; import GenericNoResults from '../../../../components/GenericNoResults'; @@ -15,93 +16,67 @@ import { GenericTableBody, GenericTableLoadingTable, } from '../../../../components/GenericTable'; -import { usePagination } from '../../../../components/GenericTable/hooks/usePagination'; -import { useSort } from '../../../../components/GenericTable/hooks/useSort'; +import type { usePagination } from '../../../../components/GenericTable/hooks/usePagination'; +import type { useSort } from '../../../../components/GenericTable/hooks/useSort'; +import type { UsersFilters } from '../AdminUsersPage'; import UsersTableRow from './UsersTableRow'; type UsersTableProps = { - reload: MutableRefObject<() => void>; + tab: IAdminUserTabs; + onReload: () => void; + setUserFilters: Dispatch>; + filteredUsersQueryResult: UseQueryResult[] }>>; + paginationData: ReturnType; + sortData: ReturnType>; }; // TODO: Missing error state -const UsersTable = ({ reload }: UsersTableProps): ReactElement | null => { +const UsersTable = ({ + filteredUsersQueryResult, + setUserFilters, + tab, + onReload, + paginationData, + sortData, +}: UsersTableProps): ReactElement | null => { const t = useTranslation(); - const usersRoute = useRoute('admin-users'); + const router = useRouter(); const mediaQuery = useMediaQuery('(min-width: 1024px)'); - const [text, setText] = useState(''); - const { current, itemsPerPage, setItemsPerPage, setCurrent, ...paginationProps } = usePagination(); - const { sortBy, sortDirection, setSort } = useSort<'name' | 'username' | 'emails.address' | 'status'>('name'); + const { data, isLoading, isError, isSuccess } = filteredUsersQueryResult; - const searchTerm = useDebouncedValue(text, 500); - const prevSearchTerm = useRef(''); + const { current, itemsPerPage, setItemsPerPage, setCurrent, ...paginationProps } = paginationData; + const { sortBy, sortDirection, setSort } = sortData; - const query = useDebouncedValue( - useMemo(() => { - if (searchTerm !== prevSearchTerm.current) { - setCurrent(0); - } + const isKeyboardEvent = ( + event: React.MouseEvent | React.KeyboardEvent, + ): event is React.KeyboardEvent => { + return (event as React.KeyboardEvent).key !== undefined; + }; - return { - fields: JSON.stringify({ - name: 1, - username: 1, - emails: 1, - roles: 1, - status: 1, - avatarETag: 1, - active: 1, - }), - query: JSON.stringify({ - $or: [ - { 'emails.address': { $regex: escapeRegExp(searchTerm), $options: 'i' } }, - { username: { $regex: escapeRegExp(searchTerm), $options: 'i' } }, - { name: { $regex: escapeRegExp(searchTerm), $options: 'i' } }, - ], - }), - sort: `{ "${sortBy}": ${sortDirection === 'asc' ? 1 : -1} }`, - count: itemsPerPage, - offset: searchTerm === prevSearchTerm.current ? current : 0, - }; - }, [searchTerm, sortBy, sortDirection, itemsPerPage, current, setCurrent]), - 500, - ); + const handleClickOrKeyDown = useEffectEvent( + (id, e: React.MouseEvent | React.KeyboardEvent): void => { + e.stopPropagation(); - const getUsers = useEndpoint('GET', '/v1/users.list'); + const keyboardSubmitKeys = ['Enter', ' ']; - const dispatchToastMessage = useToastMessageDispatch(); + if (isKeyboardEvent(e) && !keyboardSubmitKeys.includes(e.key)) { + return; + } - const { data, isLoading, error, isSuccess, refetch } = useQuery( - ['users', query], - async () => { - const users = await getUsers(query); - return users; - }, - { - onError: (error) => { - dispatchToastMessage({ type: 'error', message: error }); - }, + router.navigate({ + name: 'admin-users', + params: { + context: 'info', + id, + }, + }); }, ); - useEffect(() => { - reload.current = refetch; - }, [reload, refetch]); - - useEffect(() => { - prevSearchTerm.current = searchTerm; - }, [searchTerm]); - - const handleClick = useMutableCallback((id): void => - usersRoute.push({ - context: 'info', - id, - }), - ); - const headers = useMemo( () => [ - + {t('Name')} , mediaQuery && ( @@ -116,48 +91,76 @@ const UsersTable = ({ reload }: UsersTableProps): ReactElement | null => { {t('Username')} ), - - {t('Email')} - , + mediaQuery && ( + + {t('Email')} + + ), mediaQuery && ( {t('Roles')} ), - - {t('Status')} - , + tab === 'all' && ( + + {t('Registration_status')} + + ), ], - [mediaQuery, setSort, sortBy, sortDirection, t], + [mediaQuery, setSort, sortBy, sortDirection, t, tab], ); - if (error) { - return null; - } - + const handleSearchTextChange = useCallback( + ({ text }) => { + setUserFilters({ text }); + }, + [setUserFilters], + ); return ( <> - setText(text)} /> + {isLoading && ( {headers} - {isLoading && } + + + )} - {data?.users && data.count > 0 && isSuccess && ( + + {isError && ( + + + {t('Something_went_wrong')} + + {t('Reload_page')} + + + )} + + {isSuccess && data.users.length === 0 && } + + {isSuccess && !!data?.users && ( <> {headers} - {data?.users.map((user) => ( - + {data.users.map((user) => ( + ))} @@ -172,7 +175,6 @@ const UsersTable = ({ reload }: UsersTableProps): ReactElement | null => { /> )} - {isSuccess && data?.count === 0 && } ); }; diff --git a/apps/meteor/client/views/admin/users/UsersTable/UsersTableRow.tsx b/apps/meteor/client/views/admin/users/UsersTable/UsersTableRow.tsx index e0d46c2ba6fb3..86a69dda1dbb5 100644 --- a/apps/meteor/client/views/admin/users/UsersTable/UsersTableRow.tsx +++ b/apps/meteor/client/views/admin/users/UsersTable/UsersTableRow.tsx @@ -1,26 +1,41 @@ -import type { IRole, IUser, Serialized } from '@rocket.chat/core-typings'; +import { UserStatus as Status } from '@rocket.chat/core-typings'; +import type { IAdminUserTabs, IRole, IUser, Serialized } from '@rocket.chat/core-typings'; import { Box } from '@rocket.chat/fuselage'; import type { DefaultUserInfo } from '@rocket.chat/rest-typings'; -import { capitalize } from '@rocket.chat/string-helpers'; import { UserAvatar } from '@rocket.chat/ui-avatar'; -import type { TranslationKey } from '@rocket.chat/ui-contexts'; import { useTranslation } from '@rocket.chat/ui-contexts'; import type { ReactElement } from 'react'; -import React from 'react'; +import React, { useMemo } from 'react'; import { Roles } from '../../../../../app/models/client'; import { GenericTableRow, GenericTableCell } from '../../../../components/GenericTable'; +import { UserStatus } from '../../../../components/UserStatus'; type UsersTableRowProps = { user: Serialized; - onClick: (id: IUser['_id']) => void; + onClick: (id: IUser['_id'], e: React.MouseEvent | React.KeyboardEvent) => void; mediaQuery: boolean; + tab: IAdminUserTabs; }; -const UsersTableRow = ({ user, onClick, mediaQuery }: UsersTableRowProps): ReactElement => { +const UsersTableRow = ({ user, onClick, mediaQuery, tab }: UsersTableRowProps): ReactElement => { const t = useTranslation(); - const { _id, emails, username, name, roles, status, active, avatarETag } = user; - const statusText = active ? t(capitalize(status as string) as TranslationKey) : t('Disabled'); + const { _id, emails, username, name, roles, status, active, avatarETag, lastLogin, type } = user; + const registrationStatusText = useMemo(() => { + const usersExcludedFromPending = ['bot', 'app']; + + if (!lastLogin && !usersExcludedFromPending.includes(type)) { + return t('Pending'); + } + + if (active && lastLogin) { + return t('Active'); + } + + if (!active && lastLogin) { + return t('Deactivated'); + } + }, [active, lastLogin, t, type]); const roleNames = (roles || []) .map((roleId) => (Roles.findOne(roleId, { fields: { name: 1 } }) as IRole | undefined)?.name) @@ -29,8 +44,8 @@ const UsersTableRow = ({ user, onClick, mediaQuery }: UsersTableRowProps): React return ( onClick(_id)} - onClick={(): void => onClick(_id)} + onKeyDown={(e): void => onClick(_id, e)} + onClick={(e): void => onClick(_id, e)} tabIndex={0} role='link' action @@ -42,12 +57,14 @@ const UsersTableRow = ({ user, onClick, mediaQuery }: UsersTableRowProps): React + + + {name || username} {!mediaQuery && name && ( - {' '} - {`@${username}`}{' '} + {`@${username}`} )} @@ -58,15 +75,17 @@ const UsersTableRow = ({ user, onClick, mediaQuery }: UsersTableRowProps): React {username} - {' '} + )} - {emails?.length && emails[0].address} + {mediaQuery && {emails?.length && emails[0].address}} {mediaQuery && {roleNames}} - - {statusText} - + {tab === 'all' && ( + + {registrationStatusText} + + )} ); }; diff --git a/apps/meteor/client/views/admin/users/hooks/useFilteredUsers.ts b/apps/meteor/client/views/admin/users/hooks/useFilteredUsers.ts new file mode 100644 index 0000000000000..f8ea02a34d826 --- /dev/null +++ b/apps/meteor/client/views/admin/users/hooks/useFilteredUsers.ts @@ -0,0 +1,62 @@ +import type { IAdminUserTabs } from '@rocket.chat/core-typings'; +import type { UsersListStatusParamsGET } from '@rocket.chat/rest-typings'; +import { useEndpoint, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; +import { useQuery } from '@tanstack/react-query'; +import type { MutableRefObject } from 'react'; +import { useMemo } from 'react'; + +import type { usePagination } from '../../../../components/GenericTable/hooks/usePagination'; +import type { useSort } from '../../../../components/GenericTable/hooks/useSort'; +import type { UsersTableSortingOptions } from '../AdminUsersPage'; + +type UseFilteredUsersOptions = { + searchTerm: string; + prevSearchTerm: MutableRefObject; + tab: IAdminUserTabs; + paginationData: ReturnType; + sortData: ReturnType>; +}; + +const useFilteredUsers = ({ searchTerm, prevSearchTerm, sortData, paginationData, tab }: UseFilteredUsersOptions) => { + const { setCurrent, itemsPerPage, current } = paginationData; + const { sortBy, sortDirection } = sortData; + + const payload = useMemo(() => { + if (searchTerm !== prevSearchTerm.current) { + setCurrent(0); + } + + const listUsersPayload: Partial> = { + all: {}, + pending: { + hasLoggedIn: false, + type: 'user', + }, + active: { + hasLoggedIn: true, + status: 'active', + }, + deactivated: { + hasLoggedIn: true, + status: 'deactivated', + }, + }; + + return { + ...listUsersPayload[tab], + searchTerm, + sort: `{ "${sortBy}": ${sortDirection === 'asc' ? 1 : -1} }`, + count: itemsPerPage, + offset: searchTerm === prevSearchTerm.current ? current : 0, + }; + }, [current, itemsPerPage, prevSearchTerm, searchTerm, setCurrent, sortBy, sortDirection, tab]); + const getUsers = useEndpoint('GET', '/v1/users.listByStatus'); + const dispatchToastMessage = useToastMessageDispatch(); + const usersListQueryResult = useQuery(['users.list', payload, tab], async () => getUsers(payload), { + onError: (error) => { + dispatchToastMessage({ type: 'error', message: error }); + }, + }); + return usersListQueryResult; +}; +export default useFilteredUsers; diff --git a/packages/core-typings/src/IUser.ts b/packages/core-typings/src/IUser.ts index 29864ae81ed1e..453259ef0b3a8 100644 --- a/packages/core-typings/src/IUser.ts +++ b/packages/core-typings/src/IUser.ts @@ -229,3 +229,5 @@ export type AvatarServiceObject = { }; export type AvatarObject = AvatarReset | AvatarUrlObj | FormData | AvatarServiceObject; + +export type IAdminUserTabs = 'all' | 'active' | 'deactivated' | 'pending'; diff --git a/packages/i18n/src/locales/en.i18n.json b/packages/i18n/src/locales/en.i18n.json index c8897b988c820..44c142ba6e061 100644 --- a/packages/i18n/src/locales/en.i18n.json +++ b/packages/i18n/src/locales/en.i18n.json @@ -1571,6 +1571,7 @@ "DDP_Rate_Limit_User_Interval_Time": "Limit by User: interval time", "DDP_Rate_Limit_User_Requests_Allowed": "Limit by User: requests allowed", "Deactivate": "Deactivate", + "Deactivated": "Deactivated", "Decline": "Decline", "Decode_Key": "Decode Key", "default": "default", @@ -4119,6 +4120,7 @@ "pdf_success_message": "PDF Transcript successfully generated", "pdf_error_message": "Error generating PDF Transcript", "Peer_Password": "Peer Password", + "Pending": "Pending", "Pending Avatars": "Pending Avatars", "Pending Files": "Pending Files", "People": "People", @@ -4361,6 +4363,7 @@ "register-on-cloud": "Register On Cloud", "register-on-cloud_description": "Permission to register on cloud", "Registration": "Registration", + "Registration_status": "Registration status", "Registration_Succeeded": "Registration Succeeded", "Registration_via_Admin": "Registration via Admin", "Regular_Expressions": "Regular Expressions", From a951502167f1bf0be951f09199a5e46b6d2f7bc4 Mon Sep 17 00:00:00 2001 From: Yash Rajpal <58601732+yash-rajpal@users.noreply.github.com> Date: Tue, 7 May 2024 01:49:39 +0530 Subject: [PATCH 030/185] regression: Thread file upload (#32368) --- .../server/methods/sendFileMessage.ts | 11 +++++++- .../page-objects/fragments/home-content.ts | 28 +++++++++++++++++++ apps/meteor/tests/e2e/threads.spec.ts | 17 +++++++++-- 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts b/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts index 75edf5cc8414c..e4ca2ab729d8b 100644 --- a/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts +++ b/apps/meteor/app/file-upload/server/methods/sendFileMessage.ts @@ -1,4 +1,12 @@ -import type { MessageAttachment, FileAttachmentProps, IUser, IUpload, AtLeast, FilesAndAttachments } from '@rocket.chat/core-typings'; +import type { + MessageAttachment, + FileAttachmentProps, + IUser, + IUpload, + AtLeast, + FilesAndAttachments, + IMessage, +} from '@rocket.chat/core-typings'; import { Rooms, Uploads, Users } from '@rocket.chat/models'; import type { ServerMethods } from '@rocket.chat/ui-contexts'; import { Match, check } from 'meteor/check'; @@ -189,6 +197,7 @@ export const sendFileMessage = async ( file: files[0], files, attachments, + ...(msgData as Partial), ...(msgData?.customFields && { customFields: JSON.parse(msgData.customFields) }), msg: msgData?.msg ?? '', groupable: msgData?.groupable ?? false, diff --git a/apps/meteor/tests/e2e/page-objects/fragments/home-content.ts b/apps/meteor/tests/e2e/page-objects/fragments/home-content.ts index 46d2e7487b234..01237e68cfbc5 100644 --- a/apps/meteor/tests/e2e/page-objects/fragments/home-content.ts +++ b/apps/meteor/tests/e2e/page-objects/fragments/home-content.ts @@ -17,6 +17,10 @@ export class HomeContent { return this.page.locator('[name="msg"]'); } + get inputThreadMessage(): Locator { + return this.page.getByRole('dialog').locator('[name="msg"]').last(); + } + get messagePopupUsers(): Locator { return this.page.locator('role=menu[name="People"]'); } @@ -143,6 +147,14 @@ export class HomeContent { return this.page.locator('div.messages-box ul.messages-list [role=link]').last(); } + get lastThreadMessageFileDescription(): Locator { + return this.page.locator('div.thread-list ul.thread [data-qa-type="message"]').last().locator('[data-qa-type="message-body"]'); + } + + get lastThreadMessageFileName(): Locator { + return this.page.locator('div.thread-list ul.thread [data-qa-type="message"]').last().locator('[data-qa-type="attachment-title-link"]'); + } + get btnOptionEditMessage(): Locator { return this.page.locator('[data-qa-id="edit-message"]'); } @@ -267,6 +279,22 @@ export class HomeContent { await this.page.locator('[role=dialog][data-qa="DropTargetOverlay"]').dispatchEvent('drop', { dataTransfer }); } + async dragAndDropTxtFileToThread(): Promise { + const contract = await fs.readFile('./tests/e2e/fixtures/files/any_file.txt', 'utf-8'); + const dataTransfer = await this.page.evaluateHandle((contract) => { + const data = new DataTransfer(); + const file = new File([`${contract}`], 'any_file.txt', { + type: 'text/plain', + }); + data.items.add(file); + return data; + }, contract); + + await this.inputThreadMessage.dispatchEvent('dragenter', { dataTransfer }); + + await this.page.locator('[role=dialog][data-qa="DropTargetOverlay"]').dispatchEvent('drop', { dataTransfer }); + } + async sendFileMessage(fileName: string): Promise { await this.page.locator('input[type=file]').setInputFiles(`./tests/e2e/fixtures/files/${fileName}`); } diff --git a/apps/meteor/tests/e2e/threads.spec.ts b/apps/meteor/tests/e2e/threads.spec.ts index 99dad85131f7e..a7fa19422ff54 100644 --- a/apps/meteor/tests/e2e/threads.spec.ts +++ b/apps/meteor/tests/e2e/threads.spec.ts @@ -15,7 +15,6 @@ test.describe.serial('Threads', () => { await page.goto('/home'); await poHomeChannel.sidenav.openChat(targetChannel); }); - test('expect thread message preview if alsoSendToChannel checkbox is checked', async ({ page }) => { await poHomeChannel.content.sendMessage('this is a message for reply'); await page.locator('[data-qa-type="message"]').last().hover(); @@ -68,6 +67,20 @@ test.describe.serial('Threads', () => { await expect(poHomeChannel.content.lastThreadMessageText).toContainText('This is a thread message also sent in channel'); }); }); + test('expect upload a file attachment in thread with description', async ({ page }) => { + await poHomeChannel.content.lastThreadMessagePreviewText.click(); + + await expect(page).toHaveURL(/.*thread/); + + await poHomeChannel.content.dragAndDropTxtFileToThread(); + await poHomeChannel.content.descriptionInput.fill('any_description'); + await poHomeChannel.content.fileNameInput.fill('any_file1.txt'); + await poHomeChannel.content.btnModalConfirm.click(); + + await expect(poHomeChannel.content.lastThreadMessageFileDescription).toHaveText('any_description'); + await expect(poHomeChannel.content.lastThreadMessageFileName).toContainText('any_file1.txt'); + }); + test.describe('thread message actions', () => { test.beforeEach(async ({ page }) => { poHomeChannel = new HomeChannel(page); @@ -128,7 +141,7 @@ test.describe.serial('Threads', () => { await context.grantPermissions(['clipboard-read', 'clipboard-write']); await poHomeChannel.content.openLastThreadMessageMenu(); await page.locator('role=menuitem[name="Copy text"]').click(); - + const clipboardText = await page.evaluate("navigator.clipboard.readText()"); expect(clipboardText).toBe('this is a message for reply'); }); From b94ca7c30b77df8e13828b396df694d222b949b9 Mon Sep 17 00:00:00 2001 From: Kevin Aleman Date: Tue, 7 May 2024 07:56:09 -0600 Subject: [PATCH 031/185] fix: Modals opened by apps won't close when `executeViewCloseHandler` is not implemented (#32374) --- .changeset/plenty-turkeys-move.md | 15 +++++++ apps/meteor/ee/server/services/package.json | 2 +- apps/meteor/package.json | 2 +- ee/apps/ddp-streamer/package.json | 2 +- ee/packages/presence/package.json | 2 +- packages/apps/package.json | 2 +- packages/core-services/package.json | 2 +- packages/core-typings/package.json | 2 +- packages/fuselage-ui-kit/package.json | 2 +- packages/rest-typings/package.json | 2 +- yarn.lock | 46 ++++++++++----------- 11 files changed, 47 insertions(+), 32 deletions(-) create mode 100644 .changeset/plenty-turkeys-move.md diff --git a/.changeset/plenty-turkeys-move.md b/.changeset/plenty-turkeys-move.md new file mode 100644 index 0000000000000..6452ab772e600 --- /dev/null +++ b/.changeset/plenty-turkeys-move.md @@ -0,0 +1,15 @@ +--- +"@rocket.chat/meteor": patch +"@rocket.chat/apps": patch +"@rocket.chat/core-services": patch +"@rocket.chat/core-typings": patch +"@rocket.chat/fuselage-ui-kit": patch +"@rocket.chat/rest-typings": patch +"@rocket.chat/ddp-streamer": patch +"@rocket.chat/presence": patch +"rocketchat-services": patch +--- + +Fixed an issue with some apps that didn't implement executeViewCloseHandler. This causes opened modals to be open forever on UI (unless Esc was clicked). This is because when the UI attempts to close it, it calls the aforementioned handler, and since it didn't exist, apps engine errored out. + +This returned an empty response to the UI, which ignored the response and continued to show the view. diff --git a/apps/meteor/ee/server/services/package.json b/apps/meteor/ee/server/services/package.json index 457e0364becfc..7b4d1b8d4f996 100644 --- a/apps/meteor/ee/server/services/package.json +++ b/apps/meteor/ee/server/services/package.json @@ -18,7 +18,7 @@ "author": "Rocket.Chat", "license": "MIT", "dependencies": { - "@rocket.chat/apps-engine": "^1.42.1", + "@rocket.chat/apps-engine": "1.42.2", "@rocket.chat/core-services": "workspace:^", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/emitter": "~0.31.25", diff --git a/apps/meteor/package.json b/apps/meteor/package.json index 5e89c04dc67a6..2b161e2560e94 100644 --- a/apps/meteor/package.json +++ b/apps/meteor/package.json @@ -231,7 +231,7 @@ "@rocket.chat/agenda": "workspace:^", "@rocket.chat/api-client": "workspace:^", "@rocket.chat/apps": "workspace:^", - "@rocket.chat/apps-engine": "^1.42.1", + "@rocket.chat/apps-engine": "1.42.2", "@rocket.chat/base64": "workspace:^", "@rocket.chat/cas-validate": "workspace:^", "@rocket.chat/core-services": "workspace:^", diff --git a/ee/apps/ddp-streamer/package.json b/ee/apps/ddp-streamer/package.json index e4217e469500e..6c7d03ba225c3 100644 --- a/ee/apps/ddp-streamer/package.json +++ b/ee/apps/ddp-streamer/package.json @@ -15,7 +15,7 @@ ], "author": "Rocket.Chat", "dependencies": { - "@rocket.chat/apps-engine": "^1.42.1", + "@rocket.chat/apps-engine": "1.42.2", "@rocket.chat/core-services": "workspace:^", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/emitter": "~0.31.25", diff --git a/ee/packages/presence/package.json b/ee/packages/presence/package.json index 4bb1d2afdaf55..68af246524a09 100644 --- a/ee/packages/presence/package.json +++ b/ee/packages/presence/package.json @@ -6,7 +6,7 @@ "@babel/core": "~7.22.20", "@babel/preset-env": "~7.22.20", "@babel/preset-typescript": "~7.22.15", - "@rocket.chat/apps-engine": "^1.42.1", + "@rocket.chat/apps-engine": "1.42.2", "@rocket.chat/eslint-config": "workspace:^", "@rocket.chat/rest-typings": "workspace:^", "@types/node": "^14.18.63", diff --git a/packages/apps/package.json b/packages/apps/package.json index fb70621391856..729f8c1ccd625 100644 --- a/packages/apps/package.json +++ b/packages/apps/package.json @@ -22,7 +22,7 @@ "/dist" ], "dependencies": { - "@rocket.chat/apps-engine": "^1.42.1", + "@rocket.chat/apps-engine": "1.42.2", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/model-typings": "workspace:^" } diff --git a/packages/core-services/package.json b/packages/core-services/package.json index 56676805e2bb3..c6fcbec5d49da 100644 --- a/packages/core-services/package.json +++ b/packages/core-services/package.json @@ -34,7 +34,7 @@ "extends": "../../package.json" }, "dependencies": { - "@rocket.chat/apps-engine": "^1.42.1", + "@rocket.chat/apps-engine": "1.42.2", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/icons": "^0.34.0", "@rocket.chat/message-parser": "workspace:^", diff --git a/packages/core-typings/package.json b/packages/core-typings/package.json index 5c7b712f26a6d..efe11ce8e5f27 100644 --- a/packages/core-typings/package.json +++ b/packages/core-typings/package.json @@ -23,7 +23,7 @@ "/dist" ], "dependencies": { - "@rocket.chat/apps-engine": "^1.42.1", + "@rocket.chat/apps-engine": "1.42.2", "@rocket.chat/icons": "^0.34.0", "@rocket.chat/message-parser": "workspace:^", "@rocket.chat/ui-kit": "workspace:~" diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index 18fcf6f7d80ec..7f64149babdf6 100644 --- a/packages/fuselage-ui-kit/package.json +++ b/packages/fuselage-ui-kit/package.json @@ -62,7 +62,7 @@ "@babel/preset-env": "~7.22.20", "@babel/preset-react": "~7.22.15", "@babel/preset-typescript": "~7.22.15", - "@rocket.chat/apps-engine": "^1.42.1", + "@rocket.chat/apps-engine": "^1.42.2", "@rocket.chat/eslint-config": "workspace:^", "@rocket.chat/fuselage": "^0.53.4", "@rocket.chat/fuselage-hooks": "^0.33.1", diff --git a/packages/rest-typings/package.json b/packages/rest-typings/package.json index 7066903025491..4f971345f88ff 100644 --- a/packages/rest-typings/package.json +++ b/packages/rest-typings/package.json @@ -25,7 +25,7 @@ "/dist" ], "dependencies": { - "@rocket.chat/apps-engine": "^1.42.1", + "@rocket.chat/apps-engine": "1.42.2", "@rocket.chat/core-typings": "workspace:^", "@rocket.chat/message-parser": "workspace:^", "@rocket.chat/ui-kit": "workspace:~", diff --git a/yarn.lock b/yarn.lock index e5c6cc4701ba2..c25963765b62c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8340,9 +8340,9 @@ __metadata: languageName: unknown linkType: soft -"@rocket.chat/apps-engine@npm:^1.42.1": - version: 1.42.1 - resolution: "@rocket.chat/apps-engine@npm:1.42.1" +"@rocket.chat/apps-engine@npm:1.42.2, @rocket.chat/apps-engine@npm:^1.42.2": + version: 1.42.2 + resolution: "@rocket.chat/apps-engine@npm:1.42.2" dependencies: adm-zip: ^0.5.9 cryptiles: ^4.1.3 @@ -8354,7 +8354,7 @@ __metadata: vm2: ^3.9.19 peerDependencies: "@rocket.chat/ui-kit": "*" - checksum: b38265f53a0d64e8de9862b2039a93cde600b6111f04435301994c95aab252364c0490d1da8cd9a357f80828f75efd83f11e4cea966a1ca86a150bf6439a5de0 + checksum: d7aa23249823e37072b6b7af16a40d9a4e7cb6b8047f2a87e52163dfe516d6c8a09b21cafd4f28dfbe4dd3da9cd0190d71f7623fec8c573a3f215ca4f9529b56 languageName: node linkType: hard @@ -8362,7 +8362,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/apps@workspace:packages/apps" dependencies: - "@rocket.chat/apps-engine": ^1.42.1 + "@rocket.chat/apps-engine": 1.42.2 "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/model-typings": "workspace:^" "@types/jest": ~29.5.7 @@ -8441,7 +8441,7 @@ __metadata: "@babel/core": ~7.22.20 "@babel/preset-env": ~7.22.20 "@babel/preset-typescript": ~7.22.15 - "@rocket.chat/apps-engine": ^1.42.1 + "@rocket.chat/apps-engine": 1.42.2 "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/eslint-config": "workspace:^" "@rocket.chat/icons": ^0.34.0 @@ -8467,7 +8467,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/core-typings@workspace:packages/core-typings" dependencies: - "@rocket.chat/apps-engine": ^1.42.1 + "@rocket.chat/apps-engine": 1.42.2 "@rocket.chat/eslint-config": "workspace:^" "@rocket.chat/icons": ^0.34.0 "@rocket.chat/message-parser": "workspace:^" @@ -8544,7 +8544,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/ddp-streamer@workspace:ee/apps/ddp-streamer" dependencies: - "@rocket.chat/apps-engine": ^1.42.1 + "@rocket.chat/apps-engine": 1.42.2 "@rocket.chat/core-services": "workspace:^" "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/emitter": ~0.31.25 @@ -8740,7 +8740,7 @@ __metadata: "@babel/preset-env": ~7.22.20 "@babel/preset-react": ~7.22.15 "@babel/preset-typescript": ~7.22.15 - "@rocket.chat/apps-engine": ^1.42.1 + "@rocket.chat/apps-engine": ^1.42.2 "@rocket.chat/eslint-config": "workspace:^" "@rocket.chat/fuselage": ^0.53.4 "@rocket.chat/fuselage-hooks": ^0.33.1 @@ -8792,10 +8792,10 @@ __metadata: "@rocket.chat/icons": "*" "@rocket.chat/prettier-config": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 2.0.0-rc.0 - "@rocket.chat/ui-contexts": 6.0.0-rc.0 + "@rocket.chat/ui-avatar": 2.0.0-rc.1 + "@rocket.chat/ui-contexts": 6.0.0-rc.1 "@rocket.chat/ui-kit": 0.33.0 - "@rocket.chat/ui-video-conf": 6.0.0-rc.0 + "@rocket.chat/ui-video-conf": 6.0.0-rc.1 "@tanstack/react-query": "*" react: "*" react-dom: "*" @@ -8884,8 +8884,8 @@ __metadata: "@rocket.chat/fuselage-tokens": "*" "@rocket.chat/message-parser": 0.31.29 "@rocket.chat/styled": "*" - "@rocket.chat/ui-client": 6.0.0-rc.0 - "@rocket.chat/ui-contexts": 6.0.0-rc.0 + "@rocket.chat/ui-client": 6.0.0-rc.1 + "@rocket.chat/ui-contexts": 6.0.0-rc.1 katex: "*" react: "*" languageName: unknown @@ -9181,7 +9181,7 @@ __metadata: "@rocket.chat/agenda": "workspace:^" "@rocket.chat/api-client": "workspace:^" "@rocket.chat/apps": "workspace:^" - "@rocket.chat/apps-engine": ^1.42.1 + "@rocket.chat/apps-engine": 1.42.2 "@rocket.chat/base64": "workspace:^" "@rocket.chat/cas-validate": "workspace:^" "@rocket.chat/core-services": "workspace:^" @@ -9819,7 +9819,7 @@ __metadata: "@babel/core": ~7.22.20 "@babel/preset-env": ~7.22.20 "@babel/preset-typescript": ~7.22.15 - "@rocket.chat/apps-engine": ^1.42.1 + "@rocket.chat/apps-engine": 1.42.2 "@rocket.chat/core-services": "workspace:^" "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/eslint-config": "workspace:^" @@ -9934,7 +9934,7 @@ __metadata: version: 0.0.0-use.local resolution: "@rocket.chat/rest-typings@workspace:packages/rest-typings" dependencies: - "@rocket.chat/apps-engine": ^1.42.1 + "@rocket.chat/apps-engine": 1.42.2 "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/eslint-config": "workspace:^" "@rocket.chat/message-parser": "workspace:^" @@ -10103,7 +10103,7 @@ __metadata: typescript: ~5.3.3 peerDependencies: "@rocket.chat/fuselage": "*" - "@rocket.chat/ui-contexts": 6.0.0-rc.0 + "@rocket.chat/ui-contexts": 6.0.0-rc.1 react: ~17.0.2 languageName: unknown linkType: soft @@ -10156,7 +10156,7 @@ __metadata: "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" - "@rocket.chat/ui-contexts": 6.0.0-rc.0 + "@rocket.chat/ui-contexts": 6.0.0-rc.1 react: ~17.0.2 languageName: unknown linkType: soft @@ -10332,8 +10332,8 @@ __metadata: "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" "@rocket.chat/styled": "*" - "@rocket.chat/ui-avatar": 2.0.0-rc.0 - "@rocket.chat/ui-contexts": 6.0.0-rc.0 + "@rocket.chat/ui-avatar": 2.0.0-rc.1 + "@rocket.chat/ui-contexts": 6.0.0-rc.1 react: ^17.0.2 react-dom: ^17.0.2 languageName: unknown @@ -10423,7 +10423,7 @@ __metadata: peerDependencies: "@rocket.chat/layout": "*" "@rocket.chat/tools": 0.2.1 - "@rocket.chat/ui-contexts": 6.0.0-rc.0 + "@rocket.chat/ui-contexts": 6.0.0-rc.1 "@tanstack/react-query": "*" react: "*" react-hook-form: "*" @@ -36854,7 +36854,7 @@ __metadata: version: 0.0.0-use.local resolution: "rocketchat-services@workspace:apps/meteor/ee/server/services" dependencies: - "@rocket.chat/apps-engine": ^1.42.1 + "@rocket.chat/apps-engine": 1.42.2 "@rocket.chat/core-services": "workspace:^" "@rocket.chat/core-typings": "workspace:^" "@rocket.chat/emitter": ~0.31.25 From bad87deebf8172ba1044e979f9522c755b96e9a9 Mon Sep 17 00:00:00 2001 From: Marcos Spessatto Defendi Date: Tue, 7 May 2024 11:08:36 -0300 Subject: [PATCH 032/185] test: make rooms api test fully independent (#31671) --- apps/meteor/tests/data/rooms.helper.js | 6 +- apps/meteor/tests/end-to-end/api/09-rooms.js | 470 +++++++++---------- 2 files changed, 216 insertions(+), 260 deletions(-) diff --git a/apps/meteor/tests/data/rooms.helper.js b/apps/meteor/tests/data/rooms.helper.js index e8c2481ffc364..6e74509deab40 100644 --- a/apps/meteor/tests/data/rooms.helper.js +++ b/apps/meteor/tests/data/rooms.helper.js @@ -51,7 +51,7 @@ export const asyncCreateRoom = ({ name, type, username, members = [] }) => createRoom({ name, type, username, members }).end(resolve); }); -function actionRoom({ action, type, roomId, extraData = {} }) { +function actionRoom({ action, type, roomId, overrideCredentials = credentials, extraData = {} }) { if (!type) { throw new Error(`"type" is required in "${action}Room" test helper`); } @@ -66,7 +66,7 @@ function actionRoom({ action, type, roomId, extraData = {} }) { return new Promise((resolve) => { request .post(api(`${endpoints[type]}.${action}`)) - .set(credentials) + .set(overrideCredentials) .send({ roomId, ...extraData, @@ -75,7 +75,7 @@ function actionRoom({ action, type, roomId, extraData = {} }) { }); } -export const deleteRoom = ({ type, roomId }) => actionRoom({ action: 'delete', type, roomId }); +export const deleteRoom = ({ type, roomId }) => actionRoom({ action: 'delete', type, roomId, overrideCredentials: credentials }); export const closeRoom = ({ type, roomId }) => actionRoom({ action: 'close', type, roomId }); diff --git a/apps/meteor/tests/end-to-end/api/09-rooms.js b/apps/meteor/tests/end-to-end/api/09-rooms.js index ba1ff2c9d729a..4cd3806c9e86b 100644 --- a/apps/meteor/tests/end-to-end/api/09-rooms.js +++ b/apps/meteor/tests/end-to-end/api/09-rooms.js @@ -9,7 +9,8 @@ import { getCredentials, api, request, credentials } from '../../data/api-data.j import { sendSimpleMessage, deleteMessage } from '../../data/chat.helper'; import { imgURL, lstURL, svgLogoFileName, svgLogoURL } from '../../data/interactions'; import { getSettingValueById, updateEEPermission, updatePermission, updateSetting } from '../../data/permissions.helper'; -import { closeRoom, createRoom, deleteRoom } from '../../data/rooms.helper'; +import { createRoom, deleteRoom } from '../../data/rooms.helper'; +import { deleteTeam } from '../../data/teams.helper'; import { password } from '../../data/user'; import { createUser, deleteUser, login } from '../../data/users.helper'; import { IS_EE } from '../../e2e/config/constants'; @@ -50,12 +51,13 @@ describe('[Rooms]', function () { describe('/rooms.saveNotification:', () => { let testChannel; - it('create an channel', (done) => { - createRoom({ type: 'c', name: `channel.test.${Date.now()}-${Math.random()}` }).end((err, res) => { - testChannel = res.body.channel; - done(); - }); + + before(async () => { + testChannel = (await createRoom({ type: 'c', name: `channel.test.${Date.now()}-${Math.random()}` })).body.channel; }); + + after(() => deleteRoom({ type: 'c', roomId: testChannel._id })); + it('/rooms.saveNotification:', (done) => { request .post(api('rooms.saveNotification')) @@ -83,10 +85,13 @@ describe('[Rooms]', function () { let testChannel; let user; let userCredentials; + const testChannelName = `channel.test.upload.${Date.now()}-${Math.random()}`; let blockedMediaTypes; + before(async () => { user = await createUser({ joinDefaultChannels: false }); userCredentials = await login(user.username, password); + testChannel = (await createRoom({ type: 'c', name: testChannelName })).body.channel; blockedMediaTypes = await getSettingValueById('FileUpload_MediaTypeBlackList'); const newBlockedMediaTypes = blockedMediaTypes .split(',') @@ -95,23 +100,16 @@ describe('[Rooms]', function () { await updateSetting('FileUpload_MediaTypeBlackList', newBlockedMediaTypes); }); - after(async () => { - await deleteUser(user); - user = undefined; - - await updateSetting('FileUpload_Restrict_to_room_members', false); - await updateSetting('FileUpload_ProtectFiles', true); - await updateSetting('FileUpload_MediaTypeBlackList', blockedMediaTypes); - }); + after(() => + Promise.all([ + deleteRoom({ type: 'c', roomId: testChannel._id }), + deleteUser(user), + updateSetting('FileUpload_Restrict_to_room_members', true), + updateSetting('FileUpload_ProtectFiles', true), + updateSetting('FileUpload_MediaTypeBlackList', blockedMediaTypes), + ]), + ); - const testChannelName = `channel.test.upload.${Date.now()}-${Math.random()}`; - - it('create an channel', (done) => { - createRoom({ type: 'c', name: testChannelName }).end((err, res) => { - testChannel = res.body.channel; - done(); - }); - }); it("don't upload a file to room with file field other than file", (done) => { request .post(api(`rooms.upload/${testChannel._id}`)) @@ -333,12 +331,13 @@ describe('[Rooms]', function () { describe('/rooms.favorite', () => { let testChannel; const testChannelName = `channel.test.${Date.now()}-${Math.random()}`; - it('create an channel', (done) => { - createRoom({ type: 'c', name: testChannelName }).end((err, res) => { - testChannel = res.body.channel; - done(); - }); + + before(async () => { + testChannel = (await createRoom({ type: 'c', name: testChannelName })).body.channel; }); + + after(() => deleteRoom({ type: 'c', roomId: testChannel._id })); + it('should favorite the room when send favorite: true by roomName', (done) => { request .post(api('rooms.favorite')) @@ -415,6 +414,15 @@ describe('[Rooms]', function () { }); describe('/rooms.nameExists', () => { + let testChannel; + const testChannelName = `channel.test.${Date.now()}-${Math.random()}`; + + before(async () => { + testChannel = (await createRoom({ type: 'c', name: testChannelName })).body.channel; + }); + + after(() => deleteRoom({ type: 'c', roomId: testChannel._id })); + it('should return 401 unauthorized when user is not logged in', (done) => { request .get(api('rooms.nameExists')) @@ -426,15 +434,6 @@ describe('[Rooms]', function () { .end(done); }); - // eslint-disable-next-line no-unused-vars - let testChannel; - const testChannelName = `channel.test.${Date.now()}-${Math.random()}`; - it('create an channel', (done) => { - createRoom({ type: 'c', name: testChannelName }).end((err, res) => { - testChannel = res.body.channel; - done(); - }); - }); it('should return true if this room name exists', (done) => { request .get(api('rooms.nameExists')) @@ -469,72 +468,31 @@ describe('[Rooms]', function () { describe('[/rooms.cleanHistory]', () => { let publicChannel; let privateChannel; - let directMessageChannel; + let directMessageChannelId; let user; - beforeEach((done) => { - const username = `user.test.${Date.now()}`; - const email = `${username}@rocket.chat`; - request - .post(api('users.create')) - .set(credentials) - .send({ email, name: username, username, password }) - .end((err, res) => { - user = res.body.user; - done(err); - }); - }); - let userCredentials; - beforeEach((done) => { - request - .post(api('login')) - .send({ - user: user.username, - password, - }) - .expect('Content-Type', 'application/json') - .expect(200) - .expect((res) => { - userCredentials = {}; - userCredentials['X-Auth-Token'] = res.body.data.authToken; - userCredentials['X-User-Id'] = res.body.data.userId; - }) - .end(done); - }); - afterEach((done) => { - request - .post(api('users.delete')) - .set(credentials) - .send({ - userId: user._id, - }) - .end(done); - user = undefined; - }); - before(async () => { + + beforeEach(async () => { + user = await createUser(); + userCredentials = await login(user.username, password); await updateSetting('Message_ShowDeletedStatus', true); + + publicChannel = (await createRoom({ type: 'c', name: `testeChannel${+new Date()}` })).body.channel; + privateChannel = (await createRoom({ type: 'p', name: `testPrivateChannel${+new Date()}` })).body.group; + directMessageChannelId = (await createRoom({ type: 'd', username: 'rocket.cat' })).body.room.rid; }); - after(async () => { - await updateSetting('Message_ShowDeletedStatus', false); - }); - it('create a public channel', (done) => { - createRoom({ type: 'c', name: `testeChannel${+new Date()}` }).end((err, res) => { - publicChannel = res.body.channel; - done(); - }); - }); - it('create a private channel', (done) => { - createRoom({ type: 'p', name: `testPrivateChannel${+new Date()}` }).end((err, res) => { - privateChannel = res.body.group; - done(err); - }); - }); - it('create a direct message', (done) => { - createRoom({ type: 'd', username: 'rocket.cat' }).end((err, res) => { - directMessageChannel = res.body.room.rid; - done(err); - }); - }); + + afterEach(() => + Promise.all([ + deleteUser(user), + deleteRoom({ type: 'c', roomId: publicChannel._id }), + deleteRoom({ type: 'p', roomId: privateChannel._id }), + deleteRoom({ type: 'd', roomId: directMessageChannelId }), + ]), + ); + + after(() => updateSetting('Message_ShowDeletedStatus', false)); + it('should return success when send a valid public channel', (done) => { request .post(api('rooms.cleanHistory')) @@ -654,7 +612,7 @@ describe('[Rooms]', function () { .post(api('rooms.cleanHistory')) .set(credentials) .send({ - roomId: directMessageChannel, + roomId: directMessageChannelId, latest: '2016-12-09T13:42:25.304Z', oldest: '2016-08-30T13:42:25.304Z', }) @@ -670,7 +628,7 @@ describe('[Rooms]', function () { .post(api('rooms.cleanHistory')) .set(userCredentials) .send({ - roomId: directMessageChannel, + roomId: directMessageChannelId, latest: '2016-12-09T13:42:25.304Z', oldest: '2016-08-30T13:42:25.304Z', }) @@ -705,27 +663,21 @@ describe('[Rooms]', function () { ]; const testChannelName = `channel.test.${Date.now()}-${Math.random()}`; const testGroupName = `group.test.${Date.now()}-${Math.random()}`; - after((done) => { - closeRoom({ type: 'd', roomId: testDM._id }).then(done); - }); - it('create an channel', (done) => { - createRoom({ type: 'c', name: testChannelName }).end((err, res) => { - testChannel = res.body.channel; - done(); - }); - }); - it('create a group', (done) => { - createRoom({ type: 'p', name: testGroupName }).end((err, res) => { - testGroup = res.body.group; - done(); - }); - }); - it('create a Direct message room with rocket.cat', (done) => { - createRoom({ type: 'd', username: 'rocket.cat' }).end((err, res) => { - testDM = res.body.room; - done(); - }); + + before(async () => { + testChannel = (await createRoom({ type: 'c', name: testChannelName })).body.channel; + testGroup = (await createRoom({ type: 'p', name: testGroupName })).body.group; + testDM = (await createRoom({ type: 'd', username: 'rocket.cat' })).body.room; }); + + after(() => + Promise.all([ + deleteRoom({ type: 'd', roomId: testDM._id }), + deleteRoom({ type: 'c', roomId: testChannel._id }), + deleteRoom({ type: 'p', roomId: testGroup._id }), + ]), + ); + it('should return the info about the created channel correctly searching by roomId', (done) => { request .get(api('rooms.info')) @@ -823,29 +775,30 @@ describe('[Rooms]', function () { let testChannel; let testGroup; let testDM; - const testChannelName = `channel.test.${Date.now()}-${Math.random()}`; - const testGroupName = `group.test.${Date.now()}-${Math.random()}`; - after((done) => { - closeRoom({ type: 'd', roomId: testDM._id }).then(done); - }); - it('create an channel', (done) => { - createRoom({ type: 'c', name: testChannelName }).end((err, res) => { - testChannel = res.body.channel; - done(); - }); - }); - it('create a group', (done) => { - createRoom({ type: 'p', name: testGroupName }).end((err, res) => { - testGroup = res.body.group; - done(); - }); - }); - it('create a Direct message room with rocket.cat', (done) => { - createRoom({ type: 'd', username: 'rocket.cat' }).end((err, res) => { - testDM = res.body.room; - done(); - }); - }); + let user2; + let user2Credentials; + const testChannelName = `channel.leave.${Date.now()}-${Math.random()}`; + const testGroupName = `group.leave.${Date.now()}-${Math.random()}`; + + before(async () => { + user2 = await createUser(); + user2Credentials = await login(user2.username, password); + testChannel = (await createRoom({ type: 'c', name: testChannelName })).body.channel; + testGroup = (await createRoom({ type: 'p', name: testGroupName })).body.group; + testDM = (await createRoom({ type: 'd', username: user2.username })).body.room; + }); + + after(() => + Promise.all([ + deleteRoom({ type: 'd', roomId: testDM._id }), + deleteRoom({ type: 'c', roomId: testChannel._id }), + deleteRoom({ type: 'p', roomId: testGroup._id }), + updatePermission('leave-c', ['admin', 'user', 'bot', 'anonymous', 'app']), + updatePermission('leave-p', ['admin', 'user', 'bot', 'anonymous', 'app']), + deleteUser(user2), + ]), + ); + it('should return an Error when trying leave a DM room', (done) => { request .post(api('rooms.leave')) @@ -920,69 +873,52 @@ describe('[Rooms]', function () { .end(done); }); }); - it('should leave the public channel when the room has at least another owner and the user has the necessary permission(leave-c)', (done) => { - updatePermission('leave-c', ['admin']).then(() => { - request - .post(api('channels.addAll')) - .set(credentials) - .send({ - roomId: testChannel._id, - }) - .end(() => { - request - .post(api('channels.addOwner')) - .set(credentials) - .send({ - roomId: testChannel._id, - userId: 'rocket.cat', - }) - .end(() => { - request - .post(api('rooms.leave')) - .set(credentials) - .send({ - roomId: testChannel._id, - }) - .expect(200) - .expect((res) => { - expect(res.body).to.have.property('success', true); - }) - .end(done); - }); - }); + it('should leave the public channel when the room has at least another owner and the user has the necessary permission(leave-c)', async () => { + await updatePermission('leave-c', ['admin']); + await request.post(api('channels.addAll')).set(credentials).send({ + roomId: testChannel._id, + }); + + await request.post(api('channels.addOwner')).set(credentials).send({ + roomId: testChannel._id, + userId: user2._id, + }); + + await request + .post(api('rooms.leave')) + .set(credentials) + .send({ + roomId: testChannel._id, + }) + .expect(200) + .expect((res) => { + expect(res.body).to.have.property('success', true); + }); + + await request.post(api('channels.addOwner')).set(user2Credentials).send({ + roomId: testChannel._id, + userId: credentials['X-User-Id'], }); }); - it('should leave the private group when the room has at least another owner and the user has the necessary permission(leave-p)', (done) => { - updatePermission('leave-p', ['admin']).then(() => { - request - .post(api('groups.addAll')) - .set(credentials) - .send({ - roomId: testGroup._id, - }) - .end(() => { - request - .post(api('groups.addOwner')) - .set(credentials) - .send({ - roomId: testGroup._id, - userId: 'rocket.cat', - }) - .end(() => { - request - .post(api('rooms.leave')) - .set(credentials) - .send({ - roomId: testGroup._id, - }) - .expect(200) - .expect((res) => { - expect(res.body).to.have.property('success', true); - }) - .end(done); - }); - }); + it('should leave the private group when the room has at least another owner and the user has the necessary permission(leave-p)', async () => { + await updatePermission('leave-p', ['user']); + await request.post(api('groups.addAll')).set(credentials).send({ + roomId: testGroup._id, }); + await request.post(api('groups.addOwner')).set(credentials).send({ + roomId: testGroup._id, + userId: user2._id, + }); + await request + .post(api('rooms.leave')) + .set(user2Credentials) + .send({ + roomId: testGroup._id, + }) + .expect(200) + .expect((res) => { + expect(res.body).to.have.property('success', true); + }); }); }); @@ -990,17 +926,27 @@ describe('[Rooms]', function () { let testChannel; const testChannelName = `channel.test.${Date.now()}-${Math.random()}`; let messageSent; - before((done) => { - createRoom({ type: 'c', name: testChannelName }).end((err, res) => { - testChannel = res.body.channel; - sendSimpleMessage({ + let privateTeam; + + before(async () => { + testChannel = (await createRoom({ type: 'c', name: testChannelName })).body.channel; + messageSent = ( + await sendSimpleMessage({ roomId: testChannel._id, - }).end((err, res) => { - messageSent = res.body.message; - done(); - }); - }); + }) + ).body.message; }); + + after(() => + Promise.all([ + deleteRoom({ type: 'c', roomId: testChannel._id }), + updateSetting('Discussion_enabled', true), + updatePermission('start-discussion', ['admin', 'user', 'guest', 'app']), + updatePermission('start-discussion-other-user', ['admin', 'user', 'guest', 'app']), + deleteTeam(credentials, privateTeam.name), + ]), + ); + it('should throw an error when the user tries to create a discussion and the feature is disabled', (done) => { updateSetting('Discussion_enabled', false).then(() => { request @@ -1190,8 +1136,6 @@ describe('[Rooms]', function () { }); describe('it should create a *private* discussion if the parent channel is public and inside a private team', async () => { - let privateTeam; - it('should create a team', (done) => { request .post(api('teams.create')) @@ -1251,24 +1195,25 @@ describe('[Rooms]', function () { describe('/rooms.getDiscussions', () => { let testChannel; const testChannelName = `channel.test.getDiscussions${Date.now()}-${Math.random()}`; - let discussion; - before((done) => { - createRoom({ type: 'c', name: testChannelName }).end((err, res) => { - testChannel = res.body.channel; - request - .post(api('rooms.createDiscussion')) - .set(credentials) - .send({ - prid: testChannel._id, - t_name: `discussion-create-from-tests-${testChannel.name}`, - }) - .end((err, res) => { - discussion = res.body.discussion; - done(); - }); - }); + + before(async () => { + testChannel = (await createRoom({ type: 'c', name: testChannelName })).body.channel; + await request + .post(api('rooms.createDiscussion')) + .set(credentials) + .send({ + prid: testChannel._id, + t_name: `discussion-create-from-tests-${testChannel.name}`, + }); }); - after(() => closeRoom({ type: 'p', roomId: discussion._id })); + + after(() => + Promise.all([ + deleteRoom({ type: 'c', roomId: testChannel._id }), + updatePermission('view-c-room', ['admin', 'user', 'bot', 'app', 'anonymous']), + ]), + ); + it('should throw an error when the user tries to gets a list of discussion without a required parameter "roomId"', (done) => { request .get(api('rooms.getDiscussions')) @@ -1339,6 +1284,7 @@ describe('[Rooms]', function () { .end(done); }); }); + describe('[/rooms.autocomplete.channelAndPrivate.withPagination]', () => { it('should return an error when the required parameter "selector" is not provided', (done) => { request @@ -1411,25 +1357,27 @@ describe('[Rooms]', function () { .end(done); }); }); + describe('[/rooms.autocomplete.adminRooms]', () => { let testGroup; const testGroupName = `channel.test.adminRoom${Date.now()}-${Math.random()}`; const name = { name: testGroupName, }; - before((done) => { - createRoom({ type: 'p', name: testGroupName }).end((err, res) => { - testGroup = res.body.group; - request - .post(api('rooms.createDiscussion')) - .set(credentials) - .send({ - prid: testGroup._id, - t_name: `${testGroupName}-discussion`, - }) - .end(done); - }); + + before(async () => { + testGroup = (await createRoom({ type: 'p', name: testGroupName })).body.group; + await request + .post(api('rooms.createDiscussion')) + .set(credentials) + .send({ + prid: testGroup._id, + t_name: `${testGroupName}-discussion`, + }); }); + + after(() => Promise.all([deleteRoom({ type: 'p', roomId: testGroup._id }), updateEEPermission('can-audit', ['admin', 'auditor'])])); + (IS_EE ? it : it.skip)('should return an error when the required parameter "selector" is not provided', (done) => { updateEEPermission('can-audit', ['admin']).then(() => { request @@ -1457,7 +1405,7 @@ describe('[Rooms]', function () { }) .end(done); }); - it('should return FIX the rooms to fill auto complete', (done) => { + it('should return the rooms to fill auto complete', (done) => { request .get(api('rooms.autocomplete.adminRooms?')) .set(credentials) @@ -1474,6 +1422,7 @@ describe('[Rooms]', function () { .end(done); }); }); + describe('/rooms.adminRooms', () => { const suffix = `test-${Date.now()}`; const fnameRoom = `Ελληνικά-${suffix}`; @@ -1482,22 +1431,23 @@ describe('[Rooms]', function () { let testGroup; - before((done) => { - updateSetting('UI_Allow_room_names_with_special_chars', true).then(() => { - createRoom({ type: 'p', name: fnameRoom }).end((err, res) => { - testGroup = res.body.group; - request - .post(api('rooms.createDiscussion')) - .set(credentials) - .send({ - prid: testGroup._id, - t_name: discussionRoomName, - }) - .end(done); - }); + before(async () => { + await updateSetting('UI_Allow_room_names_with_special_chars', true); + testGroup = (await createRoom({ type: 'p', name: fnameRoom })).body.group; + await request.post(api('rooms.createDiscussion')).set(credentials).send({ + prid: testGroup._id, + t_name: discussionRoomName, }); }); + after(() => + Promise.all([ + updateSetting('UI_Allow_room_names_with_special_chars', false), + deleteRoom({ type: 'p', roomId: testGroup._id }), + updatePermission('view-room-administration', ['admin']), + ]), + ); + it('should throw an error when the user tries to gets a list of discussion and he cannot access the room', (done) => { updatePermission('view-room-administration', []).then(() => { request @@ -1671,6 +1621,8 @@ describe('[Rooms]', function () { roomId = result.body.room.rid; }); + after(async () => Promise.all([updateSetting('UI_Use_Real_Name', false), deleteRoom({ type: 'd', roomId }), deleteUser(testUser)])); + it('should update group name if user changes username', async () => { await updateSetting('UI_Use_Real_Name', false); await request @@ -1726,10 +1678,14 @@ describe('[Rooms]', function () { describe('/rooms.delete', () => { let testChannel; + before('create an channel', async () => { const result = await createRoom({ type: 'c', name: `channel.test.${Date.now()}-${Math.random()}` }); testChannel = result.body.channel; }); + + after(() => deleteRoom({ type: 'c', roomId: testChannel._id })); + it('should throw an error when roomId is not provided', (done) => { request .post(api('rooms.delete')) From 49f85478a1ae038ff049ef9c93af2ea0c4bd36c3 Mon Sep 17 00:00:00 2001 From: Douglas Fabris Date: Tue, 7 May 2024 13:58:05 -0300 Subject: [PATCH 033/185] fix: `BurgerMenu` wrong semantics and colors (#32345) --- .changeset/tall-wombats-love.md | 5 +++ .../BurgerMenu/BurgerBadge.stories.tsx | 27 ------------ .../BurgerMenu/BurgerIcon.stories.tsx | 32 -------------- .../components/BurgerMenu/BurgerIcon.tsx | 21 --------- .../components/BurgerMenu/BurgerMenu.tsx | 19 -------- .../BurgerMenu/BurgerMenuButton.stories.tsx | 44 ------------------- .../BurgerMenu/BurgerMenuButton.tsx | 38 ---------------- .../client/components/BurgerMenu/Line.tsx | 44 ------------------- .../client/components/BurgerMenu/Wrapper.tsx | 21 --------- .../client/components/BurgerMenu/index.ts | 1 - .../client/components/Page/PageHeader.tsx | 4 +- .../SidebarToggler/SidebarToggler.tsx | 19 ++++++++ .../SidebarTogglerBadge.tsx} | 9 ++-- .../SidebarTogglerButton.stories.tsx | 25 +++++++++++ .../SidebarToggler/SidebarTogglerButton.tsx | 23 ++++++++++ .../client/components/SidebarToggler/index.ts | 1 + .../client/views/room/Header/Header.tsx | 4 +- .../Omnichannel/OmnichannelRoomHeader.tsx | 4 +- .../Header/Omnichannel/VoipRoomHeader.tsx | 4 +- .../meteor/client/views/room/RoomNotFound.tsx | 4 +- .../tests/e2e/channel-management.spec.ts | 11 ++++- packages/i18n/src/locales/af.i18n.json | 1 - packages/i18n/src/locales/ar.i18n.json | 2 - packages/i18n/src/locales/az.i18n.json | 1 - packages/i18n/src/locales/be-BY.i18n.json | 1 - packages/i18n/src/locales/bg.i18n.json | 1 - packages/i18n/src/locales/ca.i18n.json | 2 - packages/i18n/src/locales/cs.i18n.json | 1 - packages/i18n/src/locales/cy.i18n.json | 1 - packages/i18n/src/locales/da.i18n.json | 1 - packages/i18n/src/locales/de-AT.i18n.json | 1 - packages/i18n/src/locales/de.i18n.json | 2 - packages/i18n/src/locales/el.i18n.json | 1 - packages/i18n/src/locales/en.i18n.json | 3 +- packages/i18n/src/locales/eo.i18n.json | 1 - packages/i18n/src/locales/es.i18n.json | 2 - packages/i18n/src/locales/et.i18n.json | 1 - packages/i18n/src/locales/eu.i18n.json | 1 - packages/i18n/src/locales/fa.i18n.json | 1 - packages/i18n/src/locales/fi.i18n.json | 2 - packages/i18n/src/locales/fr.i18n.json | 2 - packages/i18n/src/locales/gl.i18n.json | 1 - packages/i18n/src/locales/he.i18n.json | 1 - packages/i18n/src/locales/hi-IN.i18n.json | 1 - packages/i18n/src/locales/hi.i18n.json | 1 - packages/i18n/src/locales/hr.i18n.json | 1 - packages/i18n/src/locales/hu.i18n.json | 2 - packages/i18n/src/locales/id.i18n.json | 1 - packages/i18n/src/locales/it.i18n.json | 1 - packages/i18n/src/locales/ja.i18n.json | 2 - packages/i18n/src/locales/km.i18n.json | 1 - packages/i18n/src/locales/ko.i18n.json | 1 - packages/i18n/src/locales/ku.i18n.json | 1 - packages/i18n/src/locales/lo.i18n.json | 1 - packages/i18n/src/locales/lt.i18n.json | 1 - packages/i18n/src/locales/lv.i18n.json | 1 - packages/i18n/src/locales/mn.i18n.json | 1 - packages/i18n/src/locales/ms-MY.i18n.json | 1 - packages/i18n/src/locales/nl.i18n.json | 2 - packages/i18n/src/locales/no.i18n.json | 1 - packages/i18n/src/locales/pl.i18n.json | 2 - packages/i18n/src/locales/pt-BR.i18n.json | 2 - packages/i18n/src/locales/pt.i18n.json | 1 - packages/i18n/src/locales/ro.i18n.json | 1 - packages/i18n/src/locales/ru.i18n.json | 2 - packages/i18n/src/locales/sk-SK.i18n.json | 1 - packages/i18n/src/locales/sl-SI.i18n.json | 1 - packages/i18n/src/locales/sq.i18n.json | 1 - packages/i18n/src/locales/sr.i18n.json | 1 - packages/i18n/src/locales/sv.i18n.json | 2 - packages/i18n/src/locales/ta-IN.i18n.json | 1 - packages/i18n/src/locales/th-TH.i18n.json | 1 - packages/i18n/src/locales/tr.i18n.json | 1 - packages/i18n/src/locales/uk.i18n.json | 1 - packages/i18n/src/locales/vi-VN.i18n.json | 1 - packages/i18n/src/locales/zh-HK.i18n.json | 1 - packages/i18n/src/locales/zh-TW.i18n.json | 2 - packages/i18n/src/locales/zh.i18n.json | 1 - 78 files changed, 98 insertions(+), 335 deletions(-) create mode 100644 .changeset/tall-wombats-love.md delete mode 100644 apps/meteor/client/components/BurgerMenu/BurgerBadge.stories.tsx delete mode 100644 apps/meteor/client/components/BurgerMenu/BurgerIcon.stories.tsx delete mode 100644 apps/meteor/client/components/BurgerMenu/BurgerIcon.tsx delete mode 100644 apps/meteor/client/components/BurgerMenu/BurgerMenu.tsx delete mode 100644 apps/meteor/client/components/BurgerMenu/BurgerMenuButton.stories.tsx delete mode 100644 apps/meteor/client/components/BurgerMenu/BurgerMenuButton.tsx delete mode 100644 apps/meteor/client/components/BurgerMenu/Line.tsx delete mode 100644 apps/meteor/client/components/BurgerMenu/Wrapper.tsx delete mode 100644 apps/meteor/client/components/BurgerMenu/index.ts create mode 100644 apps/meteor/client/components/SidebarToggler/SidebarToggler.tsx rename apps/meteor/client/components/{BurgerMenu/BurgerBadge.tsx => SidebarToggler/SidebarTogglerBadge.tsx} (58%) create mode 100644 apps/meteor/client/components/SidebarToggler/SidebarTogglerButton.stories.tsx create mode 100644 apps/meteor/client/components/SidebarToggler/SidebarTogglerButton.tsx create mode 100644 apps/meteor/client/components/SidebarToggler/index.ts diff --git a/.changeset/tall-wombats-love.md b/.changeset/tall-wombats-love.md new file mode 100644 index 0000000000000..80f4d2c494dab --- /dev/null +++ b/.changeset/tall-wombats-love.md @@ -0,0 +1,5 @@ +--- +'@rocket.chat/meteor': patch +--- + +Replaces the burger menu with an appropriate button fixing the semantics and mismatching color diff --git a/apps/meteor/client/components/BurgerMenu/BurgerBadge.stories.tsx b/apps/meteor/client/components/BurgerMenu/BurgerBadge.stories.tsx deleted file mode 100644 index caf450192c854..0000000000000 --- a/apps/meteor/client/components/BurgerMenu/BurgerBadge.stories.tsx +++ /dev/null @@ -1,27 +0,0 @@ -import { Box } from '@rocket.chat/fuselage'; -import type { ComponentMeta, ComponentStory } from '@storybook/react'; -import type { ReactElement } from 'react'; -import React from 'react'; - -import BurgerBadge from './BurgerBadge'; - -export default { - title: 'Components/Burger Menu/BurgerBadge', - component: BurgerBadge, - parameters: { - layout: 'centered', - }, - decorators: [ - (fn): ReactElement => ( - - {fn()} - - ), - ], -} as ComponentMeta; - -export const Default: ComponentStory = (args) => ; -Default.storyName = 'BurgerBadge'; -Default.args = { - children: 99, -}; diff --git a/apps/meteor/client/components/BurgerMenu/BurgerIcon.stories.tsx b/apps/meteor/client/components/BurgerMenu/BurgerIcon.stories.tsx deleted file mode 100644 index bf6d67ac80753..0000000000000 --- a/apps/meteor/client/components/BurgerMenu/BurgerIcon.stories.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import type { ComponentMeta, ComponentStory } from '@storybook/react'; -import React from 'react'; - -import { useAutoSequence } from '../../stories/hooks/useAutoSequence'; -import BurgerIcon from './BurgerIcon'; - -export default { - title: 'Components/Burger Menu/BurgerIcon', - component: BurgerIcon, - parameters: { - layout: 'centered', - controls: { hideNoControlsWarning: true }, - }, -} as ComponentMeta; - -export const Example: ComponentStory = () => { - const open = useAutoSequence([false, true]); - - return ; -}; - -const Template: ComponentStory = (args) => ; - -export const Closed = Template.bind({}); -Closed.args = { - open: false, -}; - -export const Open = Template.bind({}); -Open.args = { - open: true, -}; diff --git a/apps/meteor/client/components/BurgerMenu/BurgerIcon.tsx b/apps/meteor/client/components/BurgerMenu/BurgerIcon.tsx deleted file mode 100644 index cb1ccfb06c0cb..0000000000000 --- a/apps/meteor/client/components/BurgerMenu/BurgerIcon.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { usePrefersReducedMotion } from '@rocket.chat/fuselage-hooks'; -import type { ReactElement, ReactNode } from 'react'; -import React from 'react'; - -import Line from './Line'; -import Wrapper from './Wrapper'; - -const BurgerIcon = ({ children, open }: { children?: ReactNode; open?: boolean }): ReactElement => { - const isReducedMotionPreferred = usePrefersReducedMotion(); - - return ( - - - - - {children} - - ); -}; - -export default BurgerIcon; diff --git a/apps/meteor/client/components/BurgerMenu/BurgerMenu.tsx b/apps/meteor/client/components/BurgerMenu/BurgerMenu.tsx deleted file mode 100644 index 35d156e1e3ad9..0000000000000 --- a/apps/meteor/client/components/BurgerMenu/BurgerMenu.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; -import { useLayout, useSession } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; -import React, { memo } from 'react'; - -import { useEmbeddedLayout } from '../../hooks/useEmbeddedLayout'; -import BurgerMenuButton from './BurgerMenuButton'; - -const BurgerMenu = (): ReactElement => { - const { sidebar } = useLayout(); - const isLayoutEmbedded = useEmbeddedLayout(); - const unreadMessagesBadge = useSession('unread'); - - const toggleSidebar = useMutableCallback(() => sidebar.toggle()); - - return ; -}; - -export default memo(BurgerMenu); diff --git a/apps/meteor/client/components/BurgerMenu/BurgerMenuButton.stories.tsx b/apps/meteor/client/components/BurgerMenu/BurgerMenuButton.stories.tsx deleted file mode 100644 index 3be8ea558851f..0000000000000 --- a/apps/meteor/client/components/BurgerMenu/BurgerMenuButton.stories.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { action } from '@storybook/addon-actions'; -import type { ComponentMeta, ComponentStory } from '@storybook/react'; -import React from 'react'; - -import { useAutoSequence } from '../../stories/hooks/useAutoSequence'; -import BurgerMenuButton from './BurgerMenuButton'; - -export default { - title: 'Components/Burger Menu/BurgerMenuButton', - component: BurgerMenuButton, - parameters: { - layout: 'centered', - controls: { hideNoControlsWarning: true }, - actions: { argTypesRegex: '^on.*' }, - }, -} as ComponentMeta; - -export const Example: ComponentStory = () => { - const { open, badge } = useAutoSequence([ - {}, - { open: true }, - {}, - { badge: 99 }, - { open: true, badge: 99 }, - { badge: 99 }, - { open: true }, - ] as const); - - return ; -}; - -const Template: ComponentStory = (args) => ; - -export const Clean = Template.bind({}); - -export const Open = Template.bind({}); -Open.args = { - open: true, -}; - -export const WithBadge = Template.bind({}); -WithBadge.args = { - badge: 99, -}; diff --git a/apps/meteor/client/components/BurgerMenu/BurgerMenuButton.tsx b/apps/meteor/client/components/BurgerMenu/BurgerMenuButton.tsx deleted file mode 100644 index 1ebe31439c1ea..0000000000000 --- a/apps/meteor/client/components/BurgerMenu/BurgerMenuButton.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { css } from '@rocket.chat/css-in-js'; -import { Box } from '@rocket.chat/fuselage'; -import { useTranslation } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; -import React from 'react'; - -import BurgerBadge from './BurgerBadge'; -import BurgerIcon from './BurgerIcon'; - -type BurgerMenuButtonProps = { - open?: boolean; - badge?: number | unknown; - onClick: () => void; -}; - -const BurgerMenuButton = ({ open, badge, onClick }: BurgerMenuButtonProps): ReactElement => { - const t = useTranslation(); - - return ( - - - {badge && {badge}} - - ); -}; - -export default BurgerMenuButton; diff --git a/apps/meteor/client/components/BurgerMenu/Line.tsx b/apps/meteor/client/components/BurgerMenu/Line.tsx deleted file mode 100644 index 3f945f01b8dad..0000000000000 --- a/apps/meteor/client/components/BurgerMenu/Line.tsx +++ /dev/null @@ -1,44 +0,0 @@ -import { css } from '@rocket.chat/css-in-js'; -import { Box } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; -import React from 'react'; - -const Line = ({ animated, moved }: { animated: boolean; moved?: boolean }): ReactElement => { - const animatedStyle = animated - ? css` - will-change: transform; - transition: transform 0.2s ease-out; - ` - : ''; - - const movedStyle = moved - ? css` - &:nth-child(1), - &:nth-child(3) { - transform-origin: 50%, 50%, 0; - } - - &:nth-child(1) { - transform: translate(-25%, 3px) rotate(-45deg) scale(0.5, 1); - } - - [dir='rtl'] &:nth-child(1) { - transform: translate(25%, 3px) rotate(45deg) scale(0.5, 1); - } - - &:nth-child(3) { - transform: translate(-25%, -3px) rotate(45deg) scale(0.5, 1); - } - - [dir='rtl'] &:nth-child(3) { - transform: translate(25%, -3px) rotate(-45deg) scale(0.5, 1); - } - ` - : ''; - - return ( -