diff --git a/.github/pr-title-checker-config.json b/.github/pr-title-checker-config.json
deleted file mode 100644
index de31f80d51b37..0000000000000
--- a/.github/pr-title-checker-config.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "LABEL": {
- "name": "Invalid PR Title",
- "color": "B60205"
- },
- "CHECKS": {
- "regexp": "(feat|fix|ci|chore|docs|test|refactor|i18n|regression|revert)(\\([^\\)]+\\))?\\!?: .{1,}$|(?:Bump .+)$|^Release [0-9]+\\.[0-9]+\\.[0-9]+$|^Merge master into develop",
- "ignoreLabels": ["[ignore-title]"]
- },
- "MESSAGES": {
- "failure": "Invalid PR title. Please use one of the following formats: 'feat: add new feature', 'fix: fix a bug', 'ci: update CI configuration', 'chore: update dependencies', 'docs: update documentation', 'test: add tests', 'refactor: refactor code', 'i18n: update translations', 'regression: fix a regression'.\nFor more info please check [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/)."
- }
-}
diff --git a/.github/workflows/pr-title-checker.yml b/.github/workflows/pr-title-checker.yml
deleted file mode 100644
index 39e40ba3fd4cf..0000000000000
--- a/.github/workflows/pr-title-checker.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-name: 'PR Title Checker'
-on:
- pull_request_target:
- types:
- - opened
- - edited
- - synchronize
- - labeled
- - unlabeled
-
-jobs:
- check:
- runs-on: ubuntu-24.04
- steps:
- - uses: thehanimo/pr-title-checker@v1.4.3
- with:
- GITHUB_TOKEN: ${{ secrets.RC_TITLE_CHECKER }}
diff --git a/apps/meteor/app/2fa/server/code/PasswordCheckFallback.ts b/apps/meteor/app/2fa/server/code/PasswordCheckFallback.ts
index ba462abc1f93c..d0b3661677249 100644
--- a/apps/meteor/app/2fa/server/code/PasswordCheckFallback.ts
+++ b/apps/meteor/app/2fa/server/code/PasswordCheckFallback.ts
@@ -1,5 +1,6 @@
import type { IUser } from '@rocket.chat/core-typings';
import { Accounts } from 'meteor/accounts-base';
+import type { Meteor } from 'meteor/meteor';
import type { ICodeCheck, IProcessInvalidCodeResult } from './ICodeCheck';
import { settings } from '../../../settings/server';
diff --git a/apps/meteor/app/lib/server/functions/joinDefaultChannels.ts b/apps/meteor/app/lib/server/functions/joinDefaultChannels.ts
index f049a5b93f16d..b0029cda01082 100644
--- a/apps/meteor/app/lib/server/functions/joinDefaultChannels.ts
+++ b/apps/meteor/app/lib/server/functions/joinDefaultChannels.ts
@@ -1,4 +1,5 @@
import { Users } from '@rocket.chat/models';
+import { Meteor } from 'meteor/meteor';
import { addUserToDefaultChannels } from './addUserToDefaultChannels';
diff --git a/apps/meteor/app/livechat/imports/server/rest/inquiries.ts b/apps/meteor/app/livechat/imports/server/rest/inquiries.ts
index 04af97752d22b..4846fb5100602 100644
--- a/apps/meteor/app/livechat/imports/server/rest/inquiries.ts
+++ b/apps/meteor/app/livechat/imports/server/rest/inquiries.ts
@@ -18,6 +18,7 @@ import { getPaginationItems } from '../../../../api/server/helpers/getPagination
import { findInquiries, findOneInquiryByRoomId } from '../../../server/api/lib/inquiries';
import { returnRoomAsInquiry } from '../../../server/lib/rooms';
import { takeInquiry } from '../../../server/lib/takeInquiry';
+import { Meteor } from 'meteor/meteor';
API.v1.addRoute(
'livechat/inquiries.list',
diff --git a/apps/meteor/app/livechat/server/api/v1/room.ts b/apps/meteor/app/livechat/server/api/v1/room.ts
index a06c8c2743753..146c119dee02f 100644
--- a/apps/meteor/app/livechat/server/api/v1/room.ts
+++ b/apps/meteor/app/livechat/server/api/v1/room.ts
@@ -28,6 +28,7 @@ import {
} from '@rocket.chat/rest-typings';
import { isPOSTLivechatVisitorDepartmentTransferParams } from '@rocket.chat/rest-typings/src/v1/omnichannel';
import { check } from 'meteor/check';
+import { Meteor } from 'meteor/meteor';
import { callbacks } from '../../../../../server/lib/callbacks';
import { i18n } from '../../../../../server/lib/i18n';
@@ -67,7 +68,7 @@ API.v1.addRoute(
agentId: Match.Maybe(String),
});
- check(this.queryParams, extraCheckParams as any);
+ check(this.queryParams, extraCheckParams);
const { token, rid, agentId, ...extraParams } = this.queryParams;
@@ -291,7 +292,7 @@ API.v1.addRoute(
};
const room = await LivechatRooms.findOneById(this.bodyParams.roomId);
- if (!room || room.t !== 'l') {
+ if (room?.t !== 'l') {
throw new Error('error-invalid-room');
}
@@ -358,7 +359,7 @@ const livechatVisitorDepartmentTransfer = API.v1.post(
}
const room = await LivechatRooms.findOneById(rid);
- if (!room || room.t !== 'l') {
+ if (room?.t !== 'l') {
return API.v1.failure('error-invalid-room');
}
@@ -463,7 +464,7 @@ API.v1.addRoute(
const firstError = result.find((item) => item.status === 'rejected');
if (firstError) {
- throw new Error((firstError as PromiseRejectedResult).reason.error);
+ throw new Error(firstError.reason.error);
}
await callbacks.run('livechat.saveInfo', await LivechatRooms.findOneById(roomData._id), {
diff --git a/apps/meteor/app/livechat/server/lib/rooms.ts b/apps/meteor/app/livechat/server/lib/rooms.ts
index 070946089142e..03dfbb1dd704a 100644
--- a/apps/meteor/app/livechat/server/lib/rooms.ts
+++ b/apps/meteor/app/livechat/server/lib/rooms.ts
@@ -21,6 +21,7 @@ import {
Users,
ReadReceipts,
} from '@rocket.chat/models';
+import { Meteor } from 'meteor/meteor';
import { normalizeTransferredByData } from './Helper';
import { QueueManager } from './QueueManager';
diff --git a/apps/meteor/app/livechat/server/lib/sendTranscript.ts b/apps/meteor/app/livechat/server/lib/sendTranscript.ts
index 11ca540ab87bf..199275f6a516b 100644
--- a/apps/meteor/app/livechat/server/lib/sendTranscript.ts
+++ b/apps/meteor/app/livechat/server/lib/sendTranscript.ts
@@ -15,6 +15,7 @@ import { MessageTypes } from '@rocket.chat/message-types';
import { LivechatRooms, Messages, Uploads, Users } from '@rocket.chat/models';
import createDOMPurify from 'dompurify';
import { JSDOM } from 'jsdom';
+import { Meteor } from 'meteor/meteor';
import moment from 'moment-timezone';
import { callbacks } from '../../../../server/lib/callbacks';
diff --git a/apps/meteor/app/slashcommands-leave/server/leave.ts b/apps/meteor/app/slashcommands-leave/server/leave.ts
index 4eafeea0d0cfc..3d86b998b49c8 100644
--- a/apps/meteor/app/slashcommands-leave/server/leave.ts
+++ b/apps/meteor/app/slashcommands-leave/server/leave.ts
@@ -1,6 +1,7 @@
import { api } from '@rocket.chat/core-services';
import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings';
import { Users } from '@rocket.chat/models';
+import { Meteor } from 'meteor/meteor';
import { i18n } from '../../../server/lib/i18n';
import { leaveRoomMethod } from '../../lib/server/methods/leaveRoom';
diff --git a/apps/meteor/client/lib/2fa/overrideLoginMethod.ts b/apps/meteor/client/lib/2fa/overrideLoginMethod.ts
index 1a52cb17e2c0a..b499201756768 100644
--- a/apps/meteor/client/lib/2fa/overrideLoginMethod.ts
+++ b/apps/meteor/client/lib/2fa/overrideLoginMethod.ts
@@ -1,4 +1,5 @@
import { Accounts } from 'meteor/accounts-base';
+import type { Meteor } from 'meteor/meteor';
import { isTotpInvalidError, isTotpMaxAttemptsError, isTotpRequiredError } from './utils';
diff --git a/apps/meteor/client/lib/2fa/utils.ts b/apps/meteor/client/lib/2fa/utils.ts
index ab2234f2e589a..d8d797d47b267 100644
--- a/apps/meteor/client/lib/2fa/utils.ts
+++ b/apps/meteor/client/lib/2fa/utils.ts
@@ -1,3 +1,5 @@
+import type { Meteor } from 'meteor/meteor';
+
export const isTotpRequiredError = (
error: unknown,
): error is Meteor.Error & ({ error: 'totp-required' } | { errorType: 'totp-required' }) =>
diff --git a/apps/meteor/client/meteor/minimongo/DiffSequence.ts b/apps/meteor/client/meteor/minimongo/DiffSequence.ts
index 6b66285111dfe..9ff21263ac322 100644
--- a/apps/meteor/client/meteor/minimongo/DiffSequence.ts
+++ b/apps/meteor/client/meteor/minimongo/DiffSequence.ts
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
import type { IdMap } from './IdMap';
import { clone, hasOwn, equals } from './common';
import type { Observer, OrderedObserver, UnorderedObserver } from './observers';
diff --git a/apps/meteor/client/views/marketplace/AppMenu.tsx b/apps/meteor/client/views/marketplace/AppMenu.tsx
index 059db21ecca64..3c30ec7673a1d 100644
--- a/apps/meteor/client/views/marketplace/AppMenu.tsx
+++ b/apps/meteor/client/views/marketplace/AppMenu.tsx
@@ -1,5 +1,5 @@
import type { App } from '@rocket.chat/core-typings';
-import { MenuItem, MenuItemContent, MenuSection, MenuV2, Skeleton } from '@rocket.chat/fuselage';
+import { MenuItem, MenuItemContent, MenuSection, Menu, Skeleton } from '@rocket.chat/fuselage';
import { useHandleMenuAction } from '@rocket.chat/ui-client';
import { memo } from 'react';
import { useTranslation } from 'react-i18next';
@@ -31,7 +31,7 @@ const AppMenu = ({ app, isAppDetailsPage }: AppMenuProps) => {
}
return (
-
+
+
);
};
diff --git a/apps/meteor/client/views/omnichannel/departments/DepartmentsTable/DepartmentItemMenu.tsx b/apps/meteor/client/views/omnichannel/departments/DepartmentsTable/DepartmentItemMenu.tsx
index ecae635d81527..4741bacbd76fe 100644
--- a/apps/meteor/client/views/omnichannel/departments/DepartmentsTable/DepartmentItemMenu.tsx
+++ b/apps/meteor/client/views/omnichannel/departments/DepartmentsTable/DepartmentItemMenu.tsx
@@ -19,7 +19,6 @@ type DepartmentItemMenuProps = {
archived: boolean;
};
-// TODO: Use MenuV2 instead of Menu
const DepartmentItemMenu = ({ department, archived }: DepartmentItemMenuProps): ReactElement => {
const { t } = useTranslation();
const queryClient = useQueryClient();
diff --git a/apps/meteor/client/views/root/hooks/useIframe.ts b/apps/meteor/client/views/root/hooks/useIframe.ts
index 7e6f262a8b5ea..c0cfd4cbd678c 100644
--- a/apps/meteor/client/views/root/hooks/useIframe.ts
+++ b/apps/meteor/client/views/root/hooks/useIframe.ts
@@ -1,5 +1,6 @@
import { useEffectEvent } from '@rocket.chat/fuselage-hooks';
import { useLoginWithIframe, useLoginWithToken, useSetting } from '@rocket.chat/ui-contexts';
+import type { Meteor } from 'meteor/meteor';
import { useCallback, useEffect, useState } from 'react';
export const useIframe = () => {
diff --git a/apps/meteor/definition/externals/meteor/accounts-base.d.ts b/apps/meteor/definition/externals/meteor/accounts-base.d.ts
index 875b3cb5291e6..39ea55788e9a7 100644
--- a/apps/meteor/definition/externals/meteor/accounts-base.d.ts
+++ b/apps/meteor/definition/externals/meteor/accounts-base.d.ts
@@ -1,4 +1,6 @@
declare module 'meteor/accounts-base' {
+ import type { Meteor } from 'meteor/meteor';
+
namespace Accounts {
const storageLocation: Window['localStorage'];
function createUser(
@@ -65,7 +67,6 @@ declare module 'meteor/accounts-base' {
export const _options: AccountsServerOptions;
- // eslint-disable-next-line @typescript-eslint/no-namespace
namespace oauth {
function credentialRequestCompleteHandler(
callback?: (error?: globalThis.Error | Meteor.Error | Meteor.TypedError) => void,
diff --git a/apps/meteor/definition/externals/meteor/http.d.ts b/apps/meteor/definition/externals/meteor/http.d.ts
index 5afcc0879dbe3..04bfe617456e4 100644
--- a/apps/meteor/definition/externals/meteor/http.d.ts
+++ b/apps/meteor/definition/externals/meteor/http.d.ts
@@ -1,4 +1,5 @@
import 'meteor/http';
+import type { Meteor } from 'meteor/meteor';
declare module 'meteor/http' {
namespace HTTP {
diff --git a/apps/meteor/definition/externals/meteor/oauth.d.ts b/apps/meteor/definition/externals/meteor/oauth.d.ts
index 6592418b94677..99cf069b3c584 100644
--- a/apps/meteor/definition/externals/meteor/oauth.d.ts
+++ b/apps/meteor/definition/externals/meteor/oauth.d.ts
@@ -1,5 +1,6 @@
declare module 'meteor/oauth' {
import type { IRocketChatRecord } from '@rocket.chat/core-typings';
+ import type { Meteor } from 'meteor/meteor';
import type { Mongo } from 'meteor/mongo';
// These functions may only be used on the client's Mongo.Collection
diff --git a/apps/meteor/ee/app/livechat-enterprise/server/api/monitors.ts b/apps/meteor/ee/app/livechat-enterprise/server/api/monitors.ts
index 93c32b7c55d88..f7509e5671c56 100644
--- a/apps/meteor/ee/app/livechat-enterprise/server/api/monitors.ts
+++ b/apps/meteor/ee/app/livechat-enterprise/server/api/monitors.ts
@@ -8,6 +8,7 @@ import {
validateForbiddenErrorResponse,
validateUnauthorizedErrorResponse,
} from '@rocket.chat/rest-typings';
+import { Meteor } from 'meteor/meteor';
import { findMonitors, findMonitorByUsername } from './lib/monitors';
import { API } from '../../../../../app/api/server';
diff --git a/apps/meteor/ee/app/livechat-enterprise/server/lib/unit.ts b/apps/meteor/ee/app/livechat-enterprise/server/lib/unit.ts
index 8ac75cbc0d079..c0cce00a34333 100644
--- a/apps/meteor/ee/app/livechat-enterprise/server/lib/unit.ts
+++ b/apps/meteor/ee/app/livechat-enterprise/server/lib/unit.ts
@@ -1,5 +1,6 @@
import { LivechatUnit } from '@rocket.chat/models';
import { getUnitsFromUser } from '@rocket.chat/omni-core-ee';
+import { Meteor } from 'meteor/meteor';
import type { CheckUnitsFromUser } from '../../../../../app/livechat/server/api/lib/livechat';
import { checkUnitsFromUser } from '../../../../../app/livechat/server/api/lib/livechat';
diff --git a/apps/meteor/ee/server/api/roles.ts b/apps/meteor/ee/server/api/roles.ts
index e1327ffc6b744..0bf12c4726421 100644
--- a/apps/meteor/ee/server/api/roles.ts
+++ b/apps/meteor/ee/server/api/roles.ts
@@ -2,6 +2,7 @@ import type { IRole } from '@rocket.chat/core-typings';
import { License } from '@rocket.chat/license';
import { Roles } from '@rocket.chat/models';
import { ajv } from '@rocket.chat/rest-typings';
+import { Meteor } from 'meteor/meteor';
import { API } from '../../../app/api/server/api';
import { hasPermissionAsync } from '../../../app/authorization/server/functions/hasPermission';
diff --git a/apps/meteor/ee/server/configuration/abac.ts b/apps/meteor/ee/server/configuration/abac.ts
index 490ed6e3fb064..b2f0c1aa3ab80 100644
--- a/apps/meteor/ee/server/configuration/abac.ts
+++ b/apps/meteor/ee/server/configuration/abac.ts
@@ -1,5 +1,6 @@
import { License } from '@rocket.chat/license';
import { Users } from '@rocket.chat/models';
+import { Meteor } from 'meteor/meteor';
import { settings } from '../../../app/settings/server';
import { LDAPEE } from '../sdk';
diff --git a/apps/meteor/ee/server/configuration/contact-verification.ts b/apps/meteor/ee/server/configuration/contact-verification.ts
index 768942f4de929..51558476924e5 100644
--- a/apps/meteor/ee/server/configuration/contact-verification.ts
+++ b/apps/meteor/ee/server/configuration/contact-verification.ts
@@ -1,3 +1,5 @@
+import { Meteor } from 'meteor/meteor';
+
import { addSettings } from '../settings/contact-verification';
Meteor.startup(async () => {
diff --git a/apps/meteor/package.json b/apps/meteor/package.json
index 815932d3d7af3..f14a6647d08da 100644
--- a/apps/meteor/package.json
+++ b/apps/meteor/package.json
@@ -101,9 +101,9 @@
"@rocket.chat/favicon": "workspace:^",
"@rocket.chat/federation-matrix": "workspace:^",
"@rocket.chat/federation-sdk": "0.3.9",
- "@rocket.chat/fuselage": "^0.71.0",
+ "@rocket.chat/fuselage": "^0.73.0",
"@rocket.chat/fuselage-forms": "^1.0.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-toastbar": "^0.35.2",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/fuselage-ui-kit": "workspace:^",
diff --git a/apps/meteor/packages/autoupdate/autoupdate_client.js b/apps/meteor/packages/autoupdate/autoupdate_client.js
index c7b07ca85ebf5..ee0c4e4e1ca60 100644
--- a/apps/meteor/packages/autoupdate/autoupdate_client.js
+++ b/apps/meteor/packages/autoupdate/autoupdate_client.js
@@ -25,6 +25,7 @@
// The client version of the client code currently running in the
// browser.
+import { Meteor } from 'meteor/meteor';
import { ClientVersions } from './client_versions.js';
const clientArch = Meteor.isCordova ? 'web.cordova' : Meteor.isModern ? 'web.browser' : 'web.browser.legacy';
diff --git a/apps/meteor/packages/autoupdate/autoupdate_server.js b/apps/meteor/packages/autoupdate/autoupdate_server.js
index 27a02c43428b2..58206f34407db 100644
--- a/apps/meteor/packages/autoupdate/autoupdate_server.js
+++ b/apps/meteor/packages/autoupdate/autoupdate_server.js
@@ -25,6 +25,7 @@
// The ID of each document is the client architecture, and the fields of
// the document are the versions described above.
+import { Meteor } from 'meteor/meteor';
import { ClientVersions } from './client_versions.js';
export const Autoupdate = (__meteor_runtime_config__.autoupdate = {
diff --git a/apps/meteor/server/lib/cas/loginHandler.ts b/apps/meteor/server/lib/cas/loginHandler.ts
index 9bc2c31a9e245..67411dc3eddbc 100644
--- a/apps/meteor/server/lib/cas/loginHandler.ts
+++ b/apps/meteor/server/lib/cas/loginHandler.ts
@@ -1,6 +1,7 @@
import { CredentialTokens, Users } from '@rocket.chat/models';
import { getObjectKeys, wrapExceptions } from '@rocket.chat/tools';
import { Accounts } from 'meteor/accounts-base';
+import { Meteor } from 'meteor/meteor';
import { createNewUser } from './createNewUser';
import { findExistingCASUser } from './findExistingCASUser';
diff --git a/apps/meteor/server/lib/cas/middleware.ts b/apps/meteor/server/lib/cas/middleware.ts
index 74aff3b930bc2..48a34d68645f0 100644
--- a/apps/meteor/server/lib/cas/middleware.ts
+++ b/apps/meteor/server/lib/cas/middleware.ts
@@ -4,6 +4,7 @@ import url from 'url';
import { validate } from '@rocket.chat/cas-validate';
import type { ICredentialToken, RequiredField } from '@rocket.chat/core-typings';
import { CredentialTokens } from '@rocket.chat/models';
+import { Meteor } from 'meteor/meteor';
import _ from 'underscore';
import { logger } from './logger';
diff --git a/apps/meteor/server/lib/compareUserPassword.ts b/apps/meteor/server/lib/compareUserPassword.ts
index e34294f014ed5..315a20758d8f7 100644
--- a/apps/meteor/server/lib/compareUserPassword.ts
+++ b/apps/meteor/server/lib/compareUserPassword.ts
@@ -1,5 +1,6 @@
import type { IUser, IPassword } from '@rocket.chat/core-typings';
import { Accounts } from 'meteor/accounts-base';
+import type { Meteor } from 'meteor/meteor';
/**
* Check if a given password is the one user by given user or if the user doesn't have a password
diff --git a/apps/meteor/server/lib/compareUserPasswordHistory.ts b/apps/meteor/server/lib/compareUserPasswordHistory.ts
index 468d76511ec3e..eda527ded1e81 100644
--- a/apps/meteor/server/lib/compareUserPasswordHistory.ts
+++ b/apps/meteor/server/lib/compareUserPasswordHistory.ts
@@ -1,5 +1,6 @@
import type { IUser, IPassword } from '@rocket.chat/core-typings';
import { Accounts } from 'meteor/accounts-base';
+import type { Meteor } from 'meteor/meteor';
import { settings } from '../../app/settings/server';
diff --git a/apps/meteor/server/services/video-conference/service.ts b/apps/meteor/server/services/video-conference/service.ts
index 06474ca69a105..3c33979fdd3a0 100644
--- a/apps/meteor/server/services/video-conference/service.ts
+++ b/apps/meteor/server/services/video-conference/service.ts
@@ -37,6 +37,7 @@ import { Random } from '@rocket.chat/random';
import type { PaginatedResult } from '@rocket.chat/rest-typings';
import { wrapExceptions } from '@rocket.chat/tools';
import type * as UiKit from '@rocket.chat/ui-kit';
+import { Meteor } from 'meteor/meteor';
import { MongoInternals } from 'meteor/mongo';
import { RocketChatAssets } from '../../../app/assets/server';
diff --git a/apps/meteor/tests/e2e/page-objects/fragments/toast-messages.ts b/apps/meteor/tests/e2e/page-objects/fragments/toast-messages.ts
index 3c44f548a6114..58245ea97ee2d 100644
--- a/apps/meteor/tests/e2e/page-objects/fragments/toast-messages.ts
+++ b/apps/meteor/tests/e2e/page-objects/fragments/toast-messages.ts
@@ -18,7 +18,7 @@ export class ToastMessages {
waitForDisplay({ type, message }: { type: 'success' | 'error'; message?: string } = { type: 'success' }) {
if (message) {
return expect(
- this.toastByType[type].last().locator('[role="alert"]', {
+ this.toastByType[type].last().locator(`[role=${type === 'error' ? '"alert"' : '"status"'}]`, {
hasText: message,
}),
).toBeVisible();
diff --git a/apps/meteor/tests/unit/app/livechat/server/lib/sendTranscript.spec.ts b/apps/meteor/tests/unit/app/livechat/server/lib/sendTranscript.spec.ts
index 0b3046cee41c4..130638ba1289a 100644
--- a/apps/meteor/tests/unit/app/livechat/server/lib/sendTranscript.spec.ts
+++ b/apps/meteor/tests/unit/app/livechat/server/lib/sendTranscript.spec.ts
@@ -54,6 +54,11 @@ const tStub = sinon.stub();
const { sendTranscript } = p.noCallThru().load('../../../../../../app/livechat/server/lib/sendTranscript', {
'@rocket.chat/models': modelsMock,
'@rocket.chat/logger': { Logger: mockLogger },
+ 'meteor/meteor': {
+ Meteor: {
+ Error: globalThis.Error,
+ },
+ },
'meteor/check': { check: checkMock },
'../../../../server/lib/callbacks': {
callbacks: {
diff --git a/apps/uikit-playground/package.json b/apps/uikit-playground/package.json
index d0557430b4990..bdb6774347a13 100644
--- a/apps/uikit-playground/package.json
+++ b/apps/uikit-playground/package.json
@@ -18,8 +18,8 @@
"@lezer/highlight": "^1.2.3",
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/css-in-js": "~0.31.25",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-toastbar": "^0.35.2",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/fuselage-ui-kit": "workspace:~",
diff --git a/ee/packages/ui-theming/package.json b/ee/packages/ui-theming/package.json
index 36eccdba5c44f..5d97867c3046b 100644
--- a/ee/packages/ui-theming/package.json
+++ b/ee/packages/ui-theming/package.json
@@ -16,8 +16,8 @@
"devDependencies": {
"@rocket.chat/css-in-js": "~0.31.25",
"@rocket.chat/emitter": "^0.32.0",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/icons": "~0.46.0",
"@rocket.chat/ui-contexts": "workspace:~",
diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json
index 8b3fbfe24d701..7e68a88acbbf3 100644
--- a/packages/fuselage-ui-kit/package.json
+++ b/packages/fuselage-ui-kit/package.json
@@ -46,8 +46,8 @@
"@rocket.chat/apps-engine": "workspace:^",
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/emitter": "^0.32.0",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/icons": "~0.46.0",
"@rocket.chat/jest-presets": "workspace:~",
diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json
index db5844fc25104..8bc65fa24b894 100644
--- a/packages/gazzodown/package.json
+++ b/packages/gazzodown/package.json
@@ -31,8 +31,8 @@
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/css-in-js": "~0.31.25",
"@rocket.chat/emitter": "^0.32.0",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/icons": "~0.46.0",
"@rocket.chat/jest-presets": "workspace:~",
diff --git a/packages/livechat/package.json b/packages/livechat/package.json
index a62bef7984897..5528e8197cef8 100644
--- a/packages/livechat/package.json
+++ b/packages/livechat/package.json
@@ -58,7 +58,7 @@
"@babel/preset-typescript": "~7.27.1",
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/ddp-client": "workspace:^",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/logo": "^0.32.4",
"@rocket.chat/ui-contexts": "workspace:^",
diff --git a/packages/storybook-config/package.json b/packages/storybook-config/package.json
index 559008ec391c2..e80898cc017f0 100644
--- a/packages/storybook-config/package.json
+++ b/packages/storybook-config/package.json
@@ -20,7 +20,7 @@
},
"dependencies": {
"@rocket.chat/emitter": "^0.32.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@storybook/addon-a11y": "^8.6.17",
"@storybook/addon-essentials": "^8.6.17",
@@ -36,7 +36,7 @@
"webpack": "~5.99.9"
},
"devDependencies": {
- "@rocket.chat/fuselage": "^0.71.0",
+ "@rocket.chat/fuselage": "^0.73.0",
"@rocket.chat/icons": "~0.46.0",
"@rocket.chat/tsconfig": "workspace:*",
"@storybook/react": "^8.6.17",
diff --git a/packages/ui-avatar/package.json b/packages/ui-avatar/package.json
index b7eff2c282b6a..782c190268bd2 100644
--- a/packages/ui-avatar/package.json
+++ b/packages/ui-avatar/package.json
@@ -17,8 +17,8 @@
"devDependencies": {
"@rocket.chat/core-typings": "workspace:~",
"@rocket.chat/emitter": "^0.32.0",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/icons": "~0.46.0",
"@rocket.chat/ui-contexts": "workspace:^",
diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json
index 5219faf342763..5fb52f6b29865 100644
--- a/packages/ui-client/package.json
+++ b/packages/ui-client/package.json
@@ -26,8 +26,8 @@
"@rocket.chat/core-typings": "workspace:~",
"@rocket.chat/css-in-js": "~0.31.25",
"@rocket.chat/emitter": "^0.32.0",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/icons": "~0.46.0",
"@rocket.chat/jest-presets": "workspace:~",
diff --git a/packages/ui-client/src/components/GenericMenu/GenericMenu.tsx b/packages/ui-client/src/components/GenericMenu/GenericMenu.tsx
index 0c714a2acc09e..b5ce372b3f9b7 100644
--- a/packages/ui-client/src/components/GenericMenu/GenericMenu.tsx
+++ b/packages/ui-client/src/components/GenericMenu/GenericMenu.tsx
@@ -1,4 +1,4 @@
-import { IconButton, MenuItem, MenuSection, MenuV2 } from '@rocket.chat/fuselage';
+import { IconButton, MenuItem, MenuSection, Menu } from '@rocket.chat/fuselage';
import { cloneElement, type ComponentProps, type ReactNode } from 'react';
import { useTranslation } from 'react-i18next';
@@ -28,7 +28,7 @@ type GenericMenuConditionalProps =
sections?: never;
};
-type GenericMenuProps = GenericMenuCommonProps & GenericMenuConditionalProps & Omit, 'children'>;
+type GenericMenuProps = GenericMenuCommonProps & GenericMenuConditionalProps & Omit, 'children'>;
const GenericMenu = ({ title, icon = 'menu', disabled, onAction, callbackAction, button, className, ...props }: GenericMenuProps) => {
const { t, i18n } = useTranslation();
@@ -60,7 +60,7 @@ const GenericMenu = ({ title, icon = 'menu', disabled, onAction, callbackAction,
return (
<>
{sections && (
-
))}
-
+
)}
{items && (
-
))}
-
+
)}
>
);
diff --git a/packages/ui-composer/package.json b/packages/ui-composer/package.json
index 81262f340e8d3..a639b1f0a890f 100644
--- a/packages/ui-composer/package.json
+++ b/packages/ui-composer/package.json
@@ -22,8 +22,8 @@
"devDependencies": {
"@react-aria/toolbar": "^3.0.0-nightly.5042",
"@rocket.chat/emitter": "^0.32.0",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/icons": "~0.46.0",
"@rocket.chat/jest-presets": "workspace:~",
diff --git a/packages/ui-contexts/package.json b/packages/ui-contexts/package.json
index 332525d093bc1..93e87e47fbc81 100644
--- a/packages/ui-contexts/package.json
+++ b/packages/ui-contexts/package.json
@@ -22,8 +22,8 @@
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/ddp-client": "workspace:~",
"@rocket.chat/emitter": "^0.32.0",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/i18n": "workspace:~",
"@rocket.chat/icons": "~0.46.0",
diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json
index 459d87206c4dc..f14be02f1e020 100644
--- a/packages/ui-video-conf/package.json
+++ b/packages/ui-video-conf/package.json
@@ -22,8 +22,8 @@
},
"devDependencies": {
"@rocket.chat/css-in-js": "~0.31.25",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/icons": "~0.46.0",
"@rocket.chat/jest-presets": "workspace:~",
diff --git a/packages/ui-voip/package.json b/packages/ui-voip/package.json
index a8c873bbaa17c..800e16ff4d914 100644
--- a/packages/ui-voip/package.json
+++ b/packages/ui-voip/package.json
@@ -30,8 +30,8 @@
"@react-spectrum/test-utils": "~1.0.0-alpha.8",
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/css-in-js": "~0.31.25",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/fuselage-ui-kit": "workspace:^",
"@rocket.chat/icons": "~0.46.0",
diff --git a/packages/web-ui-registration/package.json b/packages/web-ui-registration/package.json
index 0ba3dddb3983d..5ff6492c79b94 100644
--- a/packages/web-ui-registration/package.json
+++ b/packages/web-ui-registration/package.json
@@ -23,8 +23,8 @@
"@rocket.chat/core-typings": "workspace:~",
"@rocket.chat/css-in-js": "~0.31.25",
"@rocket.chat/emitter": "^0.32.0",
- "@rocket.chat/fuselage": "^0.71.0",
- "@rocket.chat/fuselage-hooks": "^0.39.0",
+ "@rocket.chat/fuselage": "^0.73.0",
+ "@rocket.chat/fuselage-hooks": "^0.40.0",
"@rocket.chat/fuselage-tokens": "~0.33.2",
"@rocket.chat/i18n": "workspace:~",
"@rocket.chat/icons": "~0.46.0",
diff --git a/yarn.lock b/yarn.lock
index 1bb078f97451c..615ab2046433c 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -8539,6 +8539,17 @@ __metadata:
languageName: node
linkType: hard
+"@rocket.chat/fuselage-hooks@npm:^0.40.0":
+ version: 0.40.0
+ resolution: "@rocket.chat/fuselage-hooks@npm:0.40.0"
+ peerDependencies:
+ "@rocket.chat/emitter": "*"
+ "@rocket.chat/fuselage-tokens": "*"
+ react: "*"
+ checksum: 10/82c12f36c7f7f50ac69aed857ee226fa4f301610c345089a142099ff0159d4d6b013ead943f9e5f3caa4e81af9f394af80396dc51c4dc028d69d63d0209dd553
+ languageName: node
+ linkType: hard
+
"@rocket.chat/fuselage-toastbar@npm:^0.35.2":
version: 0.35.2
resolution: "@rocket.chat/fuselage-toastbar@npm:0.35.2"
@@ -8568,8 +8579,8 @@ __metadata:
"@rocket.chat/apps-engine": "workspace:^"
"@rocket.chat/core-typings": "workspace:^"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/gazzodown": "workspace:^"
"@rocket.chat/icons": "npm:~0.46.0"
@@ -8628,9 +8639,9 @@ __metadata:
languageName: unknown
linkType: soft
-"@rocket.chat/fuselage@npm:^0.71.0":
- version: 0.71.0
- resolution: "@rocket.chat/fuselage@npm:0.71.0"
+"@rocket.chat/fuselage@npm:^0.73.0":
+ version: 0.73.0
+ resolution: "@rocket.chat/fuselage@npm:0.73.0"
dependencies:
"@rocket.chat/css-in-js": "npm:^0.31.25"
"@rocket.chat/css-supports": "npm:^0.31.25"
@@ -8647,7 +8658,7 @@ __metadata:
react: "*"
react-dom: "*"
react-virtuoso: "*"
- checksum: 10/aa3e7ccaf9eaf04dbd1382688cba50fcc2e4077fa4d520cbf3ff948dfc8e015e58fd9b98b9d087dd6a6a3d7095c32a08e080cd64be3f7e9cab7d4d756226013c
+ checksum: 10/ba563a647c605c2a4fa439f9ccc0c0c08c6a36d76fe96832bf5677a9c6fd4baeff0dee63728a172905c1af3988d7992135de114ba83817508bdee029647f2cd4
languageName: node
linkType: hard
@@ -8658,8 +8669,8 @@ __metadata:
"@rocket.chat/core-typings": "workspace:^"
"@rocket.chat/css-in-js": "npm:~0.31.25"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/icons": "npm:~0.46.0"
"@rocket.chat/jest-presets": "workspace:~"
@@ -8857,7 +8868,7 @@ __metadata:
"@rocket.chat/core-typings": "workspace:^"
"@rocket.chat/ddp-client": "workspace:^"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/gazzodown": "workspace:^"
"@rocket.chat/logo": "npm:^0.32.4"
@@ -9102,9 +9113,9 @@ __metadata:
"@rocket.chat/favicon": "workspace:^"
"@rocket.chat/federation-matrix": "workspace:^"
"@rocket.chat/federation-sdk": "npm:0.3.9"
- "@rocket.chat/fuselage": "npm:^0.71.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
"@rocket.chat/fuselage-forms": "npm:^1.0.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-toastbar": "npm:^0.35.2"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/fuselage-ui-kit": "workspace:^"
@@ -9978,8 +9989,8 @@ __metadata:
resolution: "@rocket.chat/storybook-config@workspace:packages/storybook-config"
dependencies:
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/icons": "npm:~0.46.0"
"@rocket.chat/tsconfig": "workspace:*"
@@ -10076,8 +10087,8 @@ __metadata:
dependencies:
"@rocket.chat/core-typings": "workspace:~"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/icons": "npm:~0.46.0"
"@rocket.chat/ui-contexts": "workspace:^"
@@ -10103,8 +10114,8 @@ __metadata:
"@rocket.chat/core-typings": "workspace:~"
"@rocket.chat/css-in-js": "npm:~0.31.25"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/icons": "npm:~0.46.0"
"@rocket.chat/jest-presets": "workspace:~"
@@ -10156,8 +10167,8 @@ __metadata:
dependencies:
"@react-aria/toolbar": "npm:^3.0.0-nightly.5042"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/icons": "npm:~0.46.0"
"@rocket.chat/jest-presets": "workspace:~"
@@ -10197,8 +10208,8 @@ __metadata:
"@rocket.chat/core-typings": "workspace:^"
"@rocket.chat/ddp-client": "workspace:~"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/i18n": "workspace:~"
"@rocket.chat/icons": "npm:~0.46.0"
@@ -10254,8 +10265,8 @@ __metadata:
dependencies:
"@rocket.chat/css-in-js": "npm:~0.31.25"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/icons": "npm:~0.46.0"
"@rocket.chat/ui-contexts": "workspace:~"
@@ -10283,8 +10294,8 @@ __metadata:
dependencies:
"@rocket.chat/css-in-js": "npm:~0.31.25"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/icons": "npm:~0.46.0"
"@rocket.chat/jest-presets": "workspace:~"
@@ -10336,8 +10347,8 @@ __metadata:
"@rocket.chat/css-in-js": "npm:~0.31.25"
"@rocket.chat/desktop-api": "workspace:^"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/fuselage-ui-kit": "workspace:^"
"@rocket.chat/icons": "npm:~0.46.0"
@@ -10407,8 +10418,8 @@ __metadata:
"@rocket.chat/core-typings": "workspace:^"
"@rocket.chat/css-in-js": "npm:~0.31.25"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-toastbar": "npm:^0.35.2"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/fuselage-ui-kit": "workspace:~"
@@ -10448,8 +10459,8 @@ __metadata:
"@rocket.chat/core-typings": "workspace:~"
"@rocket.chat/css-in-js": "npm:~0.31.25"
"@rocket.chat/emitter": "npm:^0.32.0"
- "@rocket.chat/fuselage": "npm:^0.71.0"
- "@rocket.chat/fuselage-hooks": "npm:^0.39.0"
+ "@rocket.chat/fuselage": "npm:^0.73.0"
+ "@rocket.chat/fuselage-hooks": "npm:^0.40.0"
"@rocket.chat/fuselage-tokens": "npm:~0.33.2"
"@rocket.chat/i18n": "workspace:~"
"@rocket.chat/icons": "npm:~0.46.0"