From 82182f4c473faee75081bff86091de7b28274580 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Thu, 11 Jun 2026 15:09:32 -0300 Subject: [PATCH 1/8] refactor: upgrade `@types/react` and `@types/react-dom` --- .../meteor/client/components/FilterByText.tsx | 4 +- .../UserAutoCompleteMultiple.tsx | 2 +- .../SettingsGroupPage/SettingsGroupPage.tsx | 4 +- .../CallHistoryPageFilters.tsx | 4 +- .../TemplatePlaceholderInput.tsx | 6 +- .../directory/contacts/RemoveContactModal.tsx | 4 +- .../contexts/SelectedMessagesContext.tsx | 4 +- .../room/composer/messageBox/MessageBox.tsx | 4 +- apps/meteor/package.json | 4 +- apps/uikit-playground/package.json | 4 +- ee/apps/omnichannel-transcript/package.json | 2 +- ee/packages/pdf-worker/package.json | 4 +- packages/fuselage-ui-kit/package.json | 4 +- packages/gazzodown/package.json | 4 +- packages/livechat/package.json | 2 +- packages/mock-providers/package.json | 4 +- packages/ui-avatar/package.json | 4 +- packages/ui-client/package.json | 4 +- .../MultiSelectCustom/MultiSelectCustom.tsx | 4 +- packages/ui-composer/package.json | 4 +- packages/ui-contexts/package.json | 4 +- packages/ui-video-conf/package.json | 4 +- packages/ui-voip/package.json | 4 +- packages/web-ui-registration/package.json | 4 +- yarn.lock | 75 +++++++++---------- 25 files changed, 83 insertions(+), 84 deletions(-) diff --git a/apps/meteor/client/components/FilterByText.tsx b/apps/meteor/client/components/FilterByText.tsx index 53d4301007776..0addbbc0d4ceb 100644 --- a/apps/meteor/client/components/FilterByText.tsx +++ b/apps/meteor/client/components/FilterByText.tsx @@ -1,6 +1,6 @@ import { Box, Icon, TextInput, Margins } from '@rocket.chat/fuselage'; import { useAutoFocus, useMergedRefs } from '@rocket.chat/fuselage-hooks'; -import type { ChangeEvent, ComponentPropsWithoutRef, FormEvent } from 'react'; +import type { ChangeEvent, ComponentPropsWithoutRef, SubmitEvent } from 'react'; import { forwardRef, memo, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; @@ -18,7 +18,7 @@ const FilterByText = forwardRef(function Fi const autoFocusRef = useAutoFocus(shouldAutoFocus); const mergedRefs = useMergedRefs(ref, autoFocusRef); - const handleFormSubmit = useCallback((event: FormEvent) => { + const handleFormSubmit = useCallback((event: SubmitEvent) => { event.preventDefault(); }, []); diff --git a/apps/meteor/client/components/UserAutoCompleteMultiple/UserAutoCompleteMultiple.tsx b/apps/meteor/client/components/UserAutoCompleteMultiple/UserAutoCompleteMultiple.tsx index d4cc3dea17fb7..27af26f58128a 100644 --- a/apps/meteor/client/components/UserAutoCompleteMultiple/UserAutoCompleteMultiple.tsx +++ b/apps/meteor/client/components/UserAutoCompleteMultiple/UserAutoCompleteMultiple.tsx @@ -101,7 +101,7 @@ const UserAutoCompleteMultiple = forwardRef void }) => { + renderSelected={({ value: username, onMouseDown }) => { const currentCachedOption = selectedCache[username] || {}; return ( diff --git a/apps/meteor/client/views/admin/settings/SettingsGroupPage/SettingsGroupPage.tsx b/apps/meteor/client/views/admin/settings/SettingsGroupPage/SettingsGroupPage.tsx index afb70452445f6..fcfea0a60c8da 100644 --- a/apps/meteor/client/views/admin/settings/SettingsGroupPage/SettingsGroupPage.tsx +++ b/apps/meteor/client/views/admin/settings/SettingsGroupPage/SettingsGroupPage.tsx @@ -4,7 +4,7 @@ import { useStableCallback } from '@rocket.chat/fuselage-hooks'; import { Page, PageHeader, PageScrollableContentWithShadow, PageFooter } from '@rocket.chat/ui-client'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; import { useToastMessageDispatch, useSettingsDispatch, useSettings } from '@rocket.chat/ui-contexts'; -import type { ReactNode, MouseEvent, FormEvent } from 'react'; +import type { ReactNode, MouseEvent, SubmitEvent } from 'react'; import { useMemo, memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -113,7 +113,7 @@ const SettingsGroupPage = ({ dispatchToEditing(settingsToDispatch as Partial[]); }); - const handleSubmit = (event: FormEvent): void => { + const handleSubmit = (event: SubmitEvent): void => { event.preventDefault(); save(); }; diff --git a/apps/meteor/client/views/mediaCallHistory/CallHistoryPageFilters.tsx b/apps/meteor/client/views/mediaCallHistory/CallHistoryPageFilters.tsx index e1f333c571db0..5dc0b69179045 100644 --- a/apps/meteor/client/views/mediaCallHistory/CallHistoryPageFilters.tsx +++ b/apps/meteor/client/views/mediaCallHistory/CallHistoryPageFilters.tsx @@ -2,7 +2,7 @@ import { Box, Icon, TextInput, Select } from '@rocket.chat/fuselage'; import type { OptionProp } from '@rocket.chat/ui-client'; import { MultiSelectCustom } from '@rocket.chat/ui-client'; import { useCallback, useMemo, useState } from 'react'; -import type { ChangeEvent, Key, FormEvent } from 'react'; +import type { ChangeEvent, Key, SubmitEvent } from 'react'; import { useTranslation } from 'react-i18next'; type StatesFilter = Array<'ended' | 'transferred' | 'not-answered' | 'failed'>; @@ -79,7 +79,7 @@ const CallHistoryPageFilters = ({ onChangeText, onChangeType, onChangeStates, se return ( ) => e.preventDefault(), [])} + onSubmit={useCallback((e: SubmitEvent) => e.preventDefault(), [])} mb='x8' display='flex' flexWrap='wrap' diff --git a/apps/meteor/client/views/omnichannel/components/outboundMessage/components/TemplatePlaceholderSelector/TemplatePlaceholderInput.tsx b/apps/meteor/client/views/omnichannel/components/outboundMessage/components/TemplatePlaceholderSelector/TemplatePlaceholderInput.tsx index 9c3144ca08794..43e4c0e2f2d50 100644 --- a/apps/meteor/client/views/omnichannel/components/outboundMessage/components/TemplatePlaceholderSelector/TemplatePlaceholderInput.tsx +++ b/apps/meteor/client/views/omnichannel/components/outboundMessage/components/TemplatePlaceholderSelector/TemplatePlaceholderInput.tsx @@ -1,7 +1,7 @@ import type { ILivechatContact, Serialized } from '@rocket.chat/core-typings'; import { Box, Icon, TextInput } from '@rocket.chat/fuselage'; import { useStableCallback } from '@rocket.chat/fuselage-hooks'; -import { useRef, type ComponentProps, type FormEvent, type FormEventHandler } from 'react'; +import { useRef, type ChangeEventHandler, type ChangeEvent, type ComponentProps } from 'react'; import PlaceholderSelector from './TemplatePlaceholderSelector'; import type { TemplateParameter } from '../../types/template'; @@ -16,7 +16,7 @@ type TemplatePlaceholderInputProps = Omit, 'val const TemplatePlaceholderInput = ({ contact, value = '', type, onChange, ...props }: TemplatePlaceholderInputProps) => { const inputRef = useRef(null); - const handleChange = (event: FormEvent | string) => { + const handleChange = (event: ChangeEvent | string) => { onChange(typeof event === 'string' ? event : event.currentTarget.value); }; @@ -28,7 +28,7 @@ const TemplatePlaceholderInput = ({ contact, value = '', type, onChange, ...prop return ( - } /> + } /> diff --git a/apps/meteor/client/views/omnichannel/directory/contacts/RemoveContactModal.tsx b/apps/meteor/client/views/omnichannel/directory/contacts/RemoveContactModal.tsx index 2547ecd9cb568..cd50f961a1281 100644 --- a/apps/meteor/client/views/omnichannel/directory/contacts/RemoveContactModal.tsx +++ b/apps/meteor/client/views/omnichannel/directory/contacts/RemoveContactModal.tsx @@ -3,7 +3,7 @@ import { useStableCallback } from '@rocket.chat/fuselage-hooks'; import { GenericModal } from '@rocket.chat/ui-client'; import { useToastMessageDispatch, useEndpoint } from '@rocket.chat/ui-contexts'; import { useMutation, useQueryClient } from '@tanstack/react-query'; -import type { ChangeEvent, FormEvent } from 'react'; +import type { ChangeEvent, SubmitEvent } from 'react'; import { useState, useId } from 'react'; import { useTranslation } from 'react-i18next'; @@ -23,7 +23,7 @@ const RemoveContactModal = ({ _id, name, channelsCount, onClose }: RemoveContact const dispatchToast = useToastMessageDispatch(); const contactDeleteModalId = useId(); - const handleSubmit = useStableCallback((event: FormEvent): void => { + const handleSubmit = useStableCallback((event: SubmitEvent): void => { event.preventDefault(); removeContactMutation.mutate(); }); diff --git a/apps/meteor/client/views/room/MessageList/contexts/SelectedMessagesContext.tsx b/apps/meteor/client/views/room/MessageList/contexts/SelectedMessagesContext.tsx index f9c6cb60ce91e..a91ce34a4f440 100644 --- a/apps/meteor/client/views/room/MessageList/contexts/SelectedMessagesContext.tsx +++ b/apps/meteor/client/views/room/MessageList/contexts/SelectedMessagesContext.tsx @@ -1,4 +1,4 @@ -import type { FormEvent } from 'react'; +import type { SyntheticEvent } from 'react'; import { createContext, useCallback, useContext, useEffect, useSyncExternalStore } from 'react'; import { selectedMessageStore } from '../../providers/SelectedMessagesProvider'; @@ -49,7 +49,7 @@ export const useIsSelecting = (): boolean => { return useSyncExternalStore(subscribe, getSnapshot); }; -export const useToggleSelect = (mid: string): ((event?: FormEvent) => void) => { +export const useToggleSelect = (mid: string): ((event?: SyntheticEvent) => void) => { const { selectedMessageStore } = useContext(SelectedMessageContext); return useCallback( diff --git a/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx b/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx index ca2baa22c1b7b..7a1c91b1c88fb 100644 --- a/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx +++ b/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx @@ -13,7 +13,7 @@ import { } from '@rocket.chat/ui-composer'; import { useTranslation, useUserPreference, useLayout, useSetting } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; -import type { FormEvent, MouseEvent, ClipboardEvent } from 'react'; +import type { MouseEvent, ClipboardEvent, ChangeEvent } from 'react'; import { memo, useRef, useReducer, useCallback, useSyncExternalStore } from 'react'; import MessageBoxActionsToolbar from './MessageBoxActionsToolbar'; @@ -49,7 +49,7 @@ import { useDraft } from './hooks/useDraft'; import { useMessageBoxAutoFocus } from './hooks/useMessageBoxAutoFocus'; import { useMessageBoxPlaceholder } from './hooks/useMessageBoxPlaceholder'; -const reducer = (_: unknown, event: FormEvent): boolean => { +const reducer = (_: unknown, event: ChangeEvent): boolean => { const target = event.target as HTMLInputElement; return Boolean(target.value.trim()); diff --git a/apps/meteor/package.json b/apps/meteor/package.json index f43fa09b3c04c..7c5485a600a5e 100644 --- a/apps/meteor/package.json +++ b/apps/meteor/package.json @@ -387,8 +387,8 @@ "@types/proxyquire": "^1.3.31", "@types/psl": "^1.1.3", "@types/qs": "^6.14.0", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "@types/sanitize-html": "~2.16.1", "@types/semver": "^7.5.8", "@types/sharp": "^0.32.0", diff --git a/apps/uikit-playground/package.json b/apps/uikit-playground/package.json index b637e565d21fb..64292cd5db54c 100644 --- a/apps/uikit-playground/package.json +++ b/apps/uikit-playground/package.json @@ -43,8 +43,8 @@ "@rocket.chat/emitter": "^0.32.0", "@rocket.chat/tsconfig": "workspace:*", "@types/lodash": "~4.17.24", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "@vitejs/plugin-react": "~6.0.1", "eslint": "~9.39.4", "typescript": "~5.9.3", diff --git a/ee/apps/omnichannel-transcript/package.json b/ee/apps/omnichannel-transcript/package.json index 7c2cc30b489bd..ef7da69a3686c 100644 --- a/ee/apps/omnichannel-transcript/package.json +++ b/ee/apps/omnichannel-transcript/package.json @@ -54,7 +54,7 @@ "@types/i18next-sprintf-postprocessor": "^0.2.3", "@types/polka": "^0.5.8", "@types/prometheus-gc-stats": "^0.6.4", - "@types/react": "~18.3.28", + "@types/react": "~19.2.17", "eslint": "~9.39.4", "react": "~18.3.1", "ts-node": "^10.9.2", diff --git a/ee/packages/pdf-worker/package.json b/ee/packages/pdf-worker/package.json index 9c37255555010..40666bc468308 100644 --- a/ee/packages/pdf-worker/package.json +++ b/ee/packages/pdf-worker/package.json @@ -38,8 +38,8 @@ "@testing-library/react": "~16.3.2", "@types/emojione": "^2.2.9", "@types/jest": "~30.0.0", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "buffer": "~6.0.3", "eslint": "~9.39.4", "i18next": "~23.4.9", diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index 29e1576fc479c..4252615ce06ee 100644 --- a/packages/fuselage-ui-kit/package.json +++ b/packages/fuselage-ui-kit/package.json @@ -65,8 +65,8 @@ "@testing-library/dom": "~10.4.1", "@testing-library/react": "~16.3.2", "@testing-library/user-event": "~14.6.1", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "cross-env": "^7.0.3", "eslint": "~9.39.4", "i18next": "~23.4.9", diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json index 4cc548b215269..adf675127bf5f 100644 --- a/packages/gazzodown/package.json +++ b/packages/gazzodown/package.json @@ -49,8 +49,8 @@ "@testing-library/react": "~16.3.2", "@types/jest": "~30.0.0", "@types/katex": "~0.16.8", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "i18next": "~23.4.9", "identity-obj-proxy": "^3.0.0", diff --git a/packages/livechat/package.json b/packages/livechat/package.json index 68b12fb7292da..84811a8f7fdde 100644 --- a/packages/livechat/package.json +++ b/packages/livechat/package.json @@ -68,7 +68,7 @@ "@storybook/preact-webpack5": "9.0.0-alpha.11", "@types/crypto-js": "~4.2.2", "@types/mini-css-extract-plugin": "~2.5.1", - "@types/react": "~18.3.28", + "@types/react": "~19.2.17", "@types/webpack-env": "~1.18.8", "@types/whatwg-fetch": "~0.0.33", "autoprefixer": "^9.8.8", diff --git a/packages/mock-providers/package.json b/packages/mock-providers/package.json index 34d6000d189bc..7342ecbc8906f 100644 --- a/packages/mock-providers/package.json +++ b/packages/mock-providers/package.json @@ -33,8 +33,8 @@ "@testing-library/dom": "~10.4.1", "@testing-library/jest-dom": "~6.8.0", "@testing-library/react": "~16.3.2", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "jest": "~30.2.0", "react": "~18.3.1", diff --git a/packages/ui-avatar/package.json b/packages/ui-avatar/package.json index 10f61ac5b9664..9669e45991af7 100644 --- a/packages/ui-avatar/package.json +++ b/packages/ui-avatar/package.json @@ -22,8 +22,8 @@ "@rocket.chat/fuselage-tokens": "~0.33.2", "@rocket.chat/icons": "^0.48.0", "@rocket.chat/ui-contexts": "workspace:^", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "react": "~18.3.1", "react-dom": "~18.3.1", diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json index 7e115a1025ba0..3342dfdd5248e 100644 --- a/packages/ui-client/package.json +++ b/packages/ui-client/package.json @@ -44,8 +44,8 @@ "@testing-library/dom": "~10.4.1", "@testing-library/react": "~16.3.2", "@types/jest": "~30.0.0", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "i18next": "~23.4.9", "jest": "~30.2.0", diff --git a/packages/ui-client/src/components/MultiSelectCustom/MultiSelectCustom.tsx b/packages/ui-client/src/components/MultiSelectCustom/MultiSelectCustom.tsx index 145b36cc9f35b..305a4eeb1606f 100644 --- a/packages/ui-client/src/components/MultiSelectCustom/MultiSelectCustom.tsx +++ b/packages/ui-client/src/components/MultiSelectCustom/MultiSelectCustom.tsx @@ -2,7 +2,7 @@ import type { Button } from '@rocket.chat/fuselage'; import { Box } from '@rocket.chat/fuselage'; import { useButtonPattern, useOutsideClick, useToggle } from '@rocket.chat/fuselage-hooks'; import type { Keys as IconNames } from '@rocket.chat/icons'; -import type { ComponentPropsWithoutRef, FormEvent, RefObject } from 'react'; +import type { ChangeEvent, ComponentPropsWithoutRef, RefObject } from 'react'; import { useCallback, useRef } from 'react'; import MultiSelectCustomAnchor from './MultiSelectCustomAnchor'; @@ -80,7 +80,7 @@ export const MultiSelectCustom = ({ useOutsideClick([target], onClose); const onSelect = useCallback( - (selectedOption: OptionProp, e?: FormEvent): void => { + (selectedOption: OptionProp, e?: ChangeEvent): void => { e?.stopPropagation(); if (selectedOption.hasOwnProperty('checked')) { diff --git a/packages/ui-composer/package.json b/packages/ui-composer/package.json index 8ce5b5d47953e..9f663fd497443 100644 --- a/packages/ui-composer/package.json +++ b/packages/ui-composer/package.json @@ -35,8 +35,8 @@ "@testing-library/react": "~16.3.2", "@testing-library/user-event": "~14.6.1", "@types/jest": "~30.0.0", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "jest": "~30.2.0", "react": "~18.3.1", diff --git a/packages/ui-contexts/package.json b/packages/ui-contexts/package.json index 813ec6f10c463..722b10952e74a 100644 --- a/packages/ui-contexts/package.json +++ b/packages/ui-contexts/package.json @@ -32,8 +32,8 @@ "@rocket.chat/rest-typings": "workspace:^", "@rocket.chat/tools": "workspace:~", "@types/jest": "~30.0.0", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "i18next": "~23.4.9", "jest": "~30.2.0", diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json index b4f10d7364ac9..f9bcb3b6dd211 100644 --- a/packages/ui-video-conf/package.json +++ b/packages/ui-video-conf/package.json @@ -35,8 +35,8 @@ "@storybook/react": "^9.1.13", "@types/jest": "~30.0.0", "@types/jest-axe": "~3.5.9", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "jest": "~30.2.0", "jest-axe": "~10.0.0", diff --git a/packages/ui-voip/package.json b/packages/ui-voip/package.json index e2c3572044030..1b05501ca55ba 100644 --- a/packages/ui-voip/package.json +++ b/packages/ui-voip/package.json @@ -53,8 +53,8 @@ "@types/jest": "~30.0.0", "@types/jest-axe": "~3.5.9", "@types/node": "~22.19.17", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "date-fns": "~4.1.0", "eslint": "~9.39.4", "i18next": "~23.4.9", diff --git a/packages/web-ui-registration/package.json b/packages/web-ui-registration/package.json index 102af599a0aeb..7d87e53dc860e 100644 --- a/packages/web-ui-registration/package.json +++ b/packages/web-ui-registration/package.json @@ -39,8 +39,8 @@ "@tanstack/react-query": "~5.65.1", "@testing-library/dom": "~10.4.1", "@testing-library/react": "~16.3.2", - "@types/react": "~18.3.28", - "@types/react-dom": "~18.3.7", + "@types/react": "~19.2.17", + "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "i18next": "~23.4.9", "react": "~18.3.1", diff --git a/yarn.lock b/yarn.lock index 762d3c1a558e8..d785a96cb6bf9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9423,8 +9423,8 @@ __metadata: "@testing-library/dom": "npm:~10.4.1" "@testing-library/react": "npm:~16.3.2" "@testing-library/user-event": "npm:~14.6.1" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" cross-env: "npm:^7.0.3" eslint: "npm:~9.39.4" i18next: "npm:~23.4.9" @@ -9505,8 +9505,8 @@ __metadata: "@testing-library/react": "npm:~16.3.2" "@types/jest": "npm:~30.0.0" "@types/katex": "npm:~0.16.8" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" date-fns: "npm:~4.1.0" dompurify: "npm:~3.4.7" eslint: "npm:~9.39.4" @@ -9697,7 +9697,7 @@ __metadata: "@storybook/preact-webpack5": "npm:9.0.0-alpha.11" "@types/crypto-js": "npm:~4.2.2" "@types/mini-css-extract-plugin": "npm:~2.5.1" - "@types/react": "npm:~18.3.28" + "@types/react": "npm:~19.2.17" "@types/webpack-env": "npm:~1.18.8" "@types/whatwg-fetch": "npm:~0.0.33" ajv: "npm:^8.20.0" @@ -10054,8 +10054,8 @@ __metadata: "@types/proxyquire": "npm:^1.3.31" "@types/psl": "npm:^1.1.3" "@types/qs": "npm:^6.14.0" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" "@types/sanitize-html": "npm:~2.16.1" "@types/semver": "npm:^7.5.8" "@types/sharp": "npm:^0.32.0" @@ -10289,8 +10289,8 @@ __metadata: "@testing-library/dom": "npm:~10.4.1" "@testing-library/jest-dom": "npm:~6.8.0" "@testing-library/react": "npm:~16.3.2" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" eslint: "npm:~9.39.4" i18next: "npm:~23.4.9" jest: "npm:~30.2.0" @@ -10477,7 +10477,7 @@ __metadata: "@types/node": "npm:~22.19.17" "@types/polka": "npm:^0.5.8" "@types/prometheus-gc-stats": "npm:^0.6.4" - "@types/react": "npm:~18.3.28" + "@types/react": "npm:~19.2.17" ejson: "npm:^2.2.3" emoji-toolkit: "npm:^7.0.1" eslint: "npm:~9.39.4" @@ -10563,8 +10563,8 @@ __metadata: "@testing-library/react": "npm:~16.3.2" "@types/emojione": "npm:^2.2.9" "@types/jest": "npm:~30.0.0" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" buffer: "npm:~6.0.3" emoji-toolkit: "npm:^7.0.1" eslint: "npm:~9.39.4" @@ -10915,8 +10915,8 @@ __metadata: "@rocket.chat/fuselage-tokens": "npm:~0.33.2" "@rocket.chat/icons": "npm:^0.48.0" "@rocket.chat/ui-contexts": "workspace:^" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" eslint: "npm:~9.39.4" react: "npm:~18.3.1" react-dom: "npm:~18.3.1" @@ -10956,8 +10956,8 @@ __metadata: "@testing-library/dom": "npm:~10.4.1" "@testing-library/react": "npm:~16.3.2" "@types/jest": "npm:~30.0.0" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" dompurify: "npm:~3.4.7" eslint: "npm:~9.39.4" i18next: "npm:~23.4.9" @@ -11007,8 +11007,8 @@ __metadata: "@testing-library/react": "npm:~16.3.2" "@testing-library/user-event": "npm:~14.6.1" "@types/jest": "npm:~30.0.0" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" eslint: "npm:~9.39.4" jest: "npm:~30.2.0" react: "npm:~18.3.1" @@ -11044,8 +11044,8 @@ __metadata: "@rocket.chat/rest-typings": "workspace:^" "@rocket.chat/tools": "workspace:~" "@types/jest": "npm:~30.0.0" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" eslint: "npm:~9.39.4" i18next: "npm:~23.4.9" jest: "npm:~30.2.0" @@ -11106,8 +11106,8 @@ __metadata: "@storybook/react": "npm:^9.1.13" "@types/jest": "npm:~30.0.0" "@types/jest-axe": "npm:~3.5.9" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" eslint: "npm:~9.39.4" jest: "npm:~30.2.0" jest-axe: "npm:~10.0.0" @@ -11164,8 +11164,8 @@ __metadata: "@types/jest": "npm:~30.0.0" "@types/jest-axe": "npm:~3.5.9" "@types/node": "npm:~22.19.17" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" date-fns: "npm:~4.1.0" eslint: "npm:~9.39.4" i18next: "npm:~23.4.9" @@ -11218,8 +11218,8 @@ __metadata: "@rocket.chat/ui-avatar": "workspace:^" "@rocket.chat/ui-contexts": "workspace:~" "@types/lodash": "npm:~4.17.24" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" "@vitejs/plugin-react": "npm:~6.0.1" codemirror: "npm:^6.0.2" eslint: "npm:~9.39.4" @@ -11260,8 +11260,8 @@ __metadata: "@tanstack/react-query": "npm:~5.65.1" "@testing-library/dom": "npm:~10.4.1" "@testing-library/react": "npm:~16.3.2" - "@types/react": "npm:~18.3.28" - "@types/react-dom": "npm:~18.3.7" + "@types/react": "npm:~19.2.17" + "@types/react-dom": "npm:~19.2.3" dompurify: "npm:~3.4.7" eslint: "npm:~9.39.4" i18next: "npm:~23.4.9" @@ -14725,12 +14725,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:~18.3.7": - version: 18.3.7 - resolution: "@types/react-dom@npm:18.3.7" +"@types/react-dom@npm:~19.2.3": + version: 19.2.3 + resolution: "@types/react-dom@npm:19.2.3" peerDependencies: - "@types/react": ^18.0.0 - checksum: 10/317569219366d487a3103ba1e5e47154e95a002915fdcf73a44162c48fe49c3a57fcf7f57fc6979e70d447112681e6b13c6c3c1df289db8b544df4aab2d318f3 + "@types/react": ^19.2.0 + checksum: 10/616c4a8aee250ea05fb1e7b98e7e00475dd3a6c1c30d7be18b4b93caba832f4203106b3a496a6b147e5acc2da14575eca47bce234c633bca1f8430ef8ffb234a languageName: node linkType: hard @@ -14744,13 +14744,12 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:~18.3.28": - version: 18.3.28 - resolution: "@types/react@npm:18.3.28" +"@types/react@npm:~19.2.17": + version: 19.2.17 + resolution: "@types/react@npm:19.2.17" dependencies: - "@types/prop-types": "npm:*" csstype: "npm:^3.2.2" - checksum: 10/6db7bb7f19957ee9f530baa7d143527f8befedad1585b064eb80777be0d84621157de75aba4f499ff429b10c5ef0c7d13e89be6bca3296ef71c80472894ff0eb + checksum: 10/8debb092bd0bb9c99176a31824c7587c27c775a6526b60060e7b9e8dc2af53aee2ffadc7a1e3845953792437db5699d34a9054e198c9d4e54a74728ff47c6725 languageName: node linkType: hard From ef66fc96abd1a6c7807ed6763afd9fdcbdb60e4e Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Fri, 12 Jun 2026 16:55:35 -0300 Subject: [PATCH 2/8] refactor: upgrade `react` and `react-dom` --- .../realTimeMonitoring/counter/CounterRow.tsx | 4 +- apps/meteor/package.json | 8 +- apps/uikit-playground/package.json | 4 +- ee/apps/omnichannel-transcript/package.json | 2 +- ee/packages/pdf-worker/package.json | 4 +- packages/fuselage-ui-kit/package.json | 4 +- packages/gazzodown/package.json | 4 +- packages/livechat/package.json | 4 +- packages/mock-providers/package.json | 4 +- packages/storybook-config/package.json | 4 +- packages/ui-avatar/package.json | 4 +- packages/ui-client/package.json | 4 +- packages/ui-composer/package.json | 4 +- packages/ui-contexts/package.json | 4 +- packages/ui-video-conf/package.json | 4 +- packages/ui-voip/package.json | 4 +- packages/web-ui-registration/package.json | 4 +- yarn.lock | 136 ++++++++++-------- 18 files changed, 110 insertions(+), 96 deletions(-) diff --git a/apps/meteor/client/views/omnichannel/realTimeMonitoring/counter/CounterRow.tsx b/apps/meteor/client/views/omnichannel/realTimeMonitoring/counter/CounterRow.tsx index 291aa0f391ccd..1ae080c170daa 100644 --- a/apps/meteor/client/views/omnichannel/realTimeMonitoring/counter/CounterRow.tsx +++ b/apps/meteor/client/views/omnichannel/realTimeMonitoring/counter/CounterRow.tsx @@ -11,7 +11,7 @@ const CounterRow = ({ children, ...props }: CounterRowProps) => ( {children && flattenChildren(children).reduce( - (acc, child, i) => + (acc: ReactNode[], child, i) => children.length - 1 !== i ? [ ...acc, @@ -19,7 +19,7 @@ const CounterRow = ({ children, ...props }: CounterRowProps) => ( , ] : [...acc, child], - [] as ReactNode[], + [], )} ); diff --git a/apps/meteor/package.json b/apps/meteor/package.json index 7c5485a600a5e..e3d9d9b80a883 100644 --- a/apps/meteor/package.json +++ b/apps/meteor/package.json @@ -273,13 +273,14 @@ "query-string": "^7.1.3", "queue-fifo": "^0.2.6", "re-resizable": "^6.10.4", - "react": "~18.3.1", + "react": "~19.2.7", "react-aria": "~3.37.0", - "react-dom": "~18.3.1", + "react-dom": "~19.2.7", "react-error-boundary": "^3.1.4", "react-hook-form": "~7.45.4", "react-i18next": "~13.2.2", - "react-keyed-flatten-children": "^3.0.2", + "react-is": "~19.2.7", + "react-keyed-flatten-children": "~5.1.2", "react-stately": "~3.17.0", "react-virtuoso": "~4.12.8", "reflect-metadata": "^0.2.2", @@ -389,6 +390,7 @@ "@types/qs": "^6.14.0", "@types/react": "~19.2.17", "@types/react-dom": "~19.2.3", + "@types/react-is": "^19", "@types/sanitize-html": "~2.16.1", "@types/semver": "^7.5.8", "@types/sharp": "^0.32.0", diff --git a/apps/uikit-playground/package.json b/apps/uikit-playground/package.json index 64292cd5db54c..0adbd4c2484a6 100644 --- a/apps/uikit-playground/package.json +++ b/apps/uikit-playground/package.json @@ -32,8 +32,8 @@ "eslint4b-prebuilt": "^6.7.2", "prettier": "~3.3.3", "rc-scrollbars": "^1.1.6", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "react-router-dom": "^6.30.4", "react-split-pane": "^0.1.92", "react-virtuoso": "~4.12.8", diff --git a/ee/apps/omnichannel-transcript/package.json b/ee/apps/omnichannel-transcript/package.json index ef7da69a3686c..b6c2709b4472a 100644 --- a/ee/apps/omnichannel-transcript/package.json +++ b/ee/apps/omnichannel-transcript/package.json @@ -56,7 +56,7 @@ "@types/prometheus-gc-stats": "^0.6.4", "@types/react": "~19.2.17", "eslint": "~9.39.4", - "react": "~18.3.1", + "react": "~19.2.7", "ts-node": "^10.9.2", "typescript": "~5.9.3" }, diff --git a/ee/packages/pdf-worker/package.json b/ee/packages/pdf-worker/package.json index 40666bc468308..84a39f1a42549 100644 --- a/ee/packages/pdf-worker/package.json +++ b/ee/packages/pdf-worker/package.json @@ -24,7 +24,7 @@ "emoji-toolkit": "^7.0.1", "moment": "^2.30.1", "moment-timezone": "^0.5.48", - "react": "~18.3.1", + "react": "~19.2.7", "react-i18next": "~13.2.2" }, "devDependencies": { @@ -45,7 +45,7 @@ "i18next": "~23.4.9", "jest": "~30.2.0", "path-browserify": "^1.0.1", - "react-dom": "~18.3.1", + "react-dom": "~19.2.7", "storybook": "^9.1.13", "typescript": "~5.9.3" }, diff --git a/packages/fuselage-ui-kit/package.json b/packages/fuselage-ui-kit/package.json index 4252615ce06ee..b403d0e817f1b 100644 --- a/packages/fuselage-ui-kit/package.json +++ b/packages/fuselage-ui-kit/package.json @@ -74,8 +74,8 @@ "normalize.css": "^8.0.1", "npm-run-all": "^4.1.5", "prettier": "~3.3.3", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "react-i18next": "~13.2.2", "react-virtuoso": "~4.12.8", "rimraf": "^6.0.1", diff --git a/packages/gazzodown/package.json b/packages/gazzodown/package.json index adf675127bf5f..77acfcadef300 100644 --- a/packages/gazzodown/package.json +++ b/packages/gazzodown/package.json @@ -57,9 +57,9 @@ "jest": "~30.2.0", "katex": "~0.16.45", "outdent": "^0.8.0", - "react": "~18.3.1", + "react": "~19.2.7", "react-aria": "~3.37.0", - "react-dom": "~18.3.1", + "react-dom": "~19.2.7", "react-i18next": "~13.2.2", "react-virtuoso": "~4.12.8", "storybook": "^9.1.13", diff --git a/packages/livechat/package.json b/packages/livechat/package.json index 84811a8f7fdde..c0cdf3511260c 100644 --- a/packages/livechat/package.json +++ b/packages/livechat/package.json @@ -92,8 +92,8 @@ "postcss-logical": "^8.0.0", "postcss-scss": "^4.0.9", "postcss-selector-not": "^8.0.1", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "resolve-url-loader": "~5.0.0", "rimraf": "^6.0.1", "sass": "~1.80.7", diff --git a/packages/mock-providers/package.json b/packages/mock-providers/package.json index 7342ecbc8906f..a7d2a1d4d26e5 100644 --- a/packages/mock-providers/package.json +++ b/packages/mock-providers/package.json @@ -37,8 +37,8 @@ "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "jest": "~30.2.0", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "storybook": "^9.1.13", "typescript": "~5.9.3" }, diff --git a/packages/storybook-config/package.json b/packages/storybook-config/package.json index d4b90356ef723..df438cd84cd55 100644 --- a/packages/storybook-config/package.json +++ b/packages/storybook-config/package.json @@ -38,8 +38,8 @@ "@rocket.chat/tsconfig": "workspace:*", "@storybook/react": "^9.1.13", "eslint": "~9.39.4", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "typescript": "~5.9.3" }, "peerDependencies": { diff --git a/packages/ui-avatar/package.json b/packages/ui-avatar/package.json index 9669e45991af7..d1815b670bec1 100644 --- a/packages/ui-avatar/package.json +++ b/packages/ui-avatar/package.json @@ -25,8 +25,8 @@ "@types/react": "~19.2.17", "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "react-virtuoso": "~4.12.8", "typescript": "~5.9.3" }, diff --git a/packages/ui-client/package.json b/packages/ui-client/package.json index 3342dfdd5248e..cba543ae7fd24 100644 --- a/packages/ui-client/package.json +++ b/packages/ui-client/package.json @@ -52,8 +52,8 @@ "overlayscrollbars": "~2.11.5", "overlayscrollbars-react": "^0.5.6", "re-resizable": "^6.10.4", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "react-hook-form": "~7.45.4", "react-i18next": "~13.2.2", "react-virtuoso": "~4.12.8", diff --git a/packages/ui-composer/package.json b/packages/ui-composer/package.json index 9f663fd497443..877f8c6bed124 100644 --- a/packages/ui-composer/package.json +++ b/packages/ui-composer/package.json @@ -39,8 +39,8 @@ "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "jest": "~30.2.0", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "react-virtuoso": "~4.12.8", "storybook": "^9.1.13", "typescript": "~5.9.3", diff --git a/packages/ui-contexts/package.json b/packages/ui-contexts/package.json index 722b10952e74a..bf01755803dba 100644 --- a/packages/ui-contexts/package.json +++ b/packages/ui-contexts/package.json @@ -38,8 +38,8 @@ "i18next": "~23.4.9", "jest": "~30.2.0", "mongodb": "6.16.0", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "react-virtuoso": "~4.12.8", "typescript": "~5.9.3" }, diff --git a/packages/ui-video-conf/package.json b/packages/ui-video-conf/package.json index f9bcb3b6dd211..f4b83668b0746 100644 --- a/packages/ui-video-conf/package.json +++ b/packages/ui-video-conf/package.json @@ -40,8 +40,8 @@ "eslint": "~9.39.4", "jest": "~30.2.0", "jest-axe": "~10.0.0", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "react-virtuoso": "~4.12.8", "storybook": "^9.1.13", "typescript": "~5.9.3", diff --git a/packages/ui-voip/package.json b/packages/ui-voip/package.json index 1b05501ca55ba..06c3b01ed364b 100644 --- a/packages/ui-voip/package.json +++ b/packages/ui-voip/package.json @@ -61,8 +61,8 @@ "jest": "~30.2.0", "jest-axe": "~10.0.0", "jsdom": "^26.1.0", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "react-virtuoso": "~4.12.8", "storybook": "^9.1.13", "typescript": "~5.9.3" diff --git a/packages/web-ui-registration/package.json b/packages/web-ui-registration/package.json index 7d87e53dc860e..5f428c27fb3d3 100644 --- a/packages/web-ui-registration/package.json +++ b/packages/web-ui-registration/package.json @@ -43,8 +43,8 @@ "@types/react-dom": "~19.2.3", "eslint": "~9.39.4", "i18next": "~23.4.9", - "react": "~18.3.1", - "react-dom": "~18.3.1", + "react": "~19.2.7", + "react-dom": "~19.2.7", "react-hook-form": "~7.45.4", "react-i18next": "~13.2.2", "react-virtuoso": "~4.12.8", diff --git a/yarn.lock b/yarn.lock index d785a96cb6bf9..dd99c9b5e4629 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9432,8 +9432,8 @@ __metadata: normalize.css: "npm:^8.0.1" npm-run-all: "npm:^4.1.5" prettier: "npm:~3.3.3" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-i18next: "npm:~13.2.2" react-virtuoso: "npm:~4.12.8" rimraf: "npm:^6.0.1" @@ -9516,9 +9516,9 @@ __metadata: jest: "npm:~30.2.0" katex: "npm:~0.16.45" outdent: "npm:^0.8.0" - react: "npm:~18.3.1" + react: "npm:~19.2.7" react-aria: "npm:~3.37.0" - react-dom: "npm:~18.3.1" + react-dom: "npm:~19.2.7" react-error-boundary: "npm:^3.1.4" react-i18next: "npm:~13.2.2" react-stately: "npm:~3.17.0" @@ -9734,8 +9734,8 @@ __metadata: preact: "npm:~10.25.4" preact-router: "npm:^4.1.2" query-string: "npm:^7.1.3" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-hook-form: "npm:~7.45.4" react-i18next: "npm:~13.2.2" resolve-url-loader: "npm:~5.0.0" @@ -10056,6 +10056,7 @@ __metadata: "@types/qs": "npm:^6.14.0" "@types/react": "npm:~19.2.17" "@types/react-dom": "npm:~19.2.3" + "@types/react-is": "npm:^19" "@types/sanitize-html": "npm:~2.16.1" "@types/semver": "npm:^7.5.8" "@types/sharp": "npm:^0.32.0" @@ -10213,14 +10214,15 @@ __metadata: queue-fifo: "npm:^0.2.6" raw-loader: "npm:~4.0.2" re-resizable: "npm:^6.10.4" - react: "npm:~18.3.1" + react: "npm:~19.2.7" react-aria: "npm:~3.37.0" react-docgen-typescript-plugin: "npm:^1.0.8" - react-dom: "npm:~18.3.1" + react-dom: "npm:~19.2.7" react-error-boundary: "npm:^3.1.4" react-hook-form: "npm:~7.45.4" react-i18next: "npm:~13.2.2" - react-keyed-flatten-children: "npm:^3.0.2" + react-is: "npm:~19.2.7" + react-keyed-flatten-children: "npm:~5.1.2" react-stately: "npm:~3.17.0" react-virtuoso: "npm:~4.12.8" reflect-metadata: "npm:^0.2.2" @@ -10294,8 +10296,8 @@ __metadata: eslint: "npm:~9.39.4" i18next: "npm:~23.4.9" jest: "npm:~30.2.0" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-i18next: "npm:~13.2.2" storybook: "npm:^9.1.13" typescript: "npm:~5.9.3" @@ -10494,7 +10496,7 @@ __metadata: polka: "npm:^0.5.2" prom-client: "npm:^14.2.0" prometheus-gc-stats: "npm:^1.1.0" - react: "npm:~18.3.1" + react: "npm:~19.2.7" ts-node: "npm:^10.9.2" typescript: "npm:~5.9.3" languageName: unknown @@ -10573,8 +10575,8 @@ __metadata: moment: "npm:^2.30.1" moment-timezone: "npm:^0.5.48" path-browserify: "npm:^1.0.1" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-i18next: "npm:~13.2.2" storybook: "npm:^9.1.13" typescript: "npm:~5.9.3" @@ -10827,8 +10829,8 @@ __metadata: "@storybook/react": "npm:^9.1.13" "@storybook/react-webpack5": "npm:^9.1.13" eslint: "npm:~9.39.4" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-virtuoso: "npm:~4.12.8" storybook: "npm:^9.1.13" storybook-dark-mode: "npm:^5.0.0" @@ -10918,8 +10920,8 @@ __metadata: "@types/react": "npm:~19.2.17" "@types/react-dom": "npm:~19.2.3" eslint: "npm:~9.39.4" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-virtuoso: "npm:~4.12.8" typescript: "npm:~5.9.3" peerDependencies: @@ -10965,8 +10967,8 @@ __metadata: overlayscrollbars: "npm:~2.11.5" overlayscrollbars-react: "npm:^0.5.6" re-resizable: "npm:^6.10.4" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-hook-form: "npm:~7.45.4" react-i18next: "npm:~13.2.2" react-virtuoso: "npm:~4.12.8" @@ -11011,8 +11013,8 @@ __metadata: "@types/react-dom": "npm:~19.2.3" eslint: "npm:~9.39.4" jest: "npm:~30.2.0" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-virtuoso: "npm:~4.12.8" storybook: "npm:^9.1.13" typescript: "npm:~5.9.3" @@ -11050,8 +11052,8 @@ __metadata: i18next: "npm:~23.4.9" jest: "npm:~30.2.0" mongodb: "npm:6.16.0" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-virtuoso: "npm:~4.12.8" typescript: "npm:~5.9.3" peerDependencies: @@ -11111,8 +11113,8 @@ __metadata: eslint: "npm:~9.39.4" jest: "npm:~30.2.0" jest-axe: "npm:~10.0.0" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-virtuoso: "npm:~4.12.8" storybook: "npm:^9.1.13" typescript: "npm:~5.9.3" @@ -11172,8 +11174,8 @@ __metadata: jest: "npm:~30.2.0" jest-axe: "npm:~10.0.0" jsdom: "npm:^26.1.0" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-i18next: "npm:~13.2.2" react-virtuoso: "npm:~4.12.8" storybook: "npm:^9.1.13" @@ -11226,8 +11228,8 @@ __metadata: eslint4b-prebuilt: "npm:^6.7.2" prettier: "npm:~3.3.3" rc-scrollbars: "npm:^1.1.6" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-router-dom: "npm:^6.30.4" react-split-pane: "npm:^0.1.92" react-virtuoso: "npm:~4.12.8" @@ -11265,8 +11267,8 @@ __metadata: dompurify: "npm:~3.4.7" eslint: "npm:~9.39.4" i18next: "npm:~23.4.9" - react: "npm:~18.3.1" - react-dom: "npm:~18.3.1" + react: "npm:~19.2.7" + react-dom: "npm:~19.2.7" react-hook-form: "npm:~7.45.4" react-i18next: "npm:~13.2.2" react-virtuoso: "npm:~4.12.8" @@ -14734,6 +14736,15 @@ __metadata: languageName: node linkType: hard +"@types/react-is@npm:^19": + version: 19.2.0 + resolution: "@types/react-is@npm:19.2.0" + dependencies: + "@types/react": "npm:*" + checksum: 10/cf684b259dd0c60bb07df38e1b51a57728101b8cdde9d06209388e9a22daa64a6e36a8c7945f8d029a588c4a0d6540857ccbf52b7ec98ef083b4cee6ca4a3ee4 + languageName: node + linkType: hard + "@types/react@npm:*": version: 18.3.23 resolution: "@types/react@npm:18.3.23" @@ -31899,15 +31910,14 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:~18.3.1": - version: 18.3.1 - resolution: "react-dom@npm:18.3.1" +"react-dom@npm:~19.2.7": + version: 19.2.7 + resolution: "react-dom@npm:19.2.7" dependencies: - loose-envify: "npm:^1.1.0" - scheduler: "npm:^0.23.2" + scheduler: "npm:^0.27.0" peerDependencies: - react: ^18.3.1 - checksum: 10/3f4b73a3aa083091173b29812b10394dd06f4ac06aff410b74702cfb3aa29d7b0ced208aab92d5272919b612e5cda21aeb1d54191848cf6e46e9e354f3541f81 + react: ^19.2.7 + checksum: 10/9564f4b83843ca5518ed5f807c93cb1663706559cde52f3ef814b41e60b63b16e684d849926458f0ba436745d7eabf822cba1c528be370e7b2f35a4c91e35941 languageName: node linkType: hard @@ -31972,13 +31982,20 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^18.0.0, react-is@npm:^18.2.0, react-is@npm:^18.3.1": +"react-is@npm:^18.0.0, react-is@npm:^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22 languageName: node linkType: hard +"react-is@npm:~19.2.7": + version: 19.2.7 + resolution: "react-is@npm:19.2.7" + checksum: 10/ae0d3ae7638aa2fa2a82a78a817daf2806e57fa0aef357d07e1e8d1e9a301902e5967168e9334b5816db0df8fa980a725cd57569ba5a9e6e76a71e117b18be04 + languageName: node + linkType: hard + "react-keyed-flatten-children@npm:^1.3.0": version: 1.3.0 resolution: "react-keyed-flatten-children@npm:1.3.0" @@ -31990,14 +32007,13 @@ __metadata: languageName: node linkType: hard -"react-keyed-flatten-children@npm:^3.0.2": - version: 3.0.2 - resolution: "react-keyed-flatten-children@npm:3.0.2" - dependencies: - react-is: "npm:^18.2.0" +"react-keyed-flatten-children@npm:~5.1.2": + version: 5.1.2 + resolution: "react-keyed-flatten-children@npm:5.1.2" peerDependencies: - react: ">=15.0.0" - checksum: 10/58b53ccc707543b3b2f3615a6efe890b1302bf38d68df9239cb4d1ca4e8d8d9c05d670039c08e77befd27b1210c61290d6308a2f8439363e6699fecb94b69ebd + react: ">=18.0.0" + react-is: ">=18.0.0" + checksum: 10/b8aa894d87d129fc2cfec5fec490d1f21b8c7800149b7e91c004df7b31ce9e2c24370acc42f970a24a251e892fecbf231ec9da8fd1a5c2b54b27326d9fa5f9c4 languageName: node linkType: hard @@ -32178,12 +32194,10 @@ __metadata: languageName: node linkType: hard -"react@npm:~18.3.1": - version: 18.3.1 - resolution: "react@npm:18.3.1" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10/261137d3f3993eaa2368a83110466fc0e558bc2c7f7ae7ca52d94f03aac945f45146bd85e5f481044db1758a1dbb57879e2fcdd33924e2dde1bdc550ce73f7bf +"react@npm:~19.2.7": + version: 19.2.7 + resolution: "react@npm:19.2.7" + checksum: 10/2939997e87d7f0ee0d9d2bb556866b616b999dfb7916283647034eda867a045a39c4f7a736c8ea6beffffcd78397fc30f63a7a3aaf8425b683c3060670859560 languageName: node linkType: hard @@ -33315,15 +33329,6 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.23.2": - version: 0.23.2 - resolution: "scheduler@npm:0.23.2" - dependencies: - loose-envify: "npm:^1.1.0" - checksum: 10/e8d68b89d18d5b028223edf090092846868a765a591944760942b77ea1f69b17235f7e956696efbb62c8130ab90af7e0949bfb8eba7896335507317236966bc9 - languageName: node - linkType: hard - "scheduler@npm:^0.25.0": version: 0.25.0 resolution: "scheduler@npm:0.25.0" @@ -33331,6 +33336,13 @@ __metadata: languageName: node linkType: hard +"scheduler@npm:^0.27.0": + version: 0.27.0 + resolution: "scheduler@npm:0.27.0" + checksum: 10/eab3c3a8373195173e59c147224fc30dabe6dd453f248f5e610e8458512a5a2ee3a06465dc400ebfe6d35c9f5b7f3bb6b2e41c88c86fd177c25a73e7286a1e06 + languageName: node + linkType: hard + "schema-utils@npm:^2.7.0, schema-utils@npm:^2.7.1": version: 2.7.1 resolution: "schema-utils@npm:2.7.1" From 7a5e3e7546a1a6259a6a89c2c282539b07a853dc Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Mon, 29 Jun 2026 15:26:07 -0300 Subject: [PATCH 3/8] refactor: upgrade Fuselage --- .../ABACUpsellModal.spec.tsx.snap | 4 +- .../CreateDiscussion.spec.tsx.snap | 44 ++-- .../GenericUpsellModal.spec.tsx.snap | 20 +- .../__snapshots__/UserInfo.spec.tsx.snap | 16 +- .../TimestampPicker.spec.tsx.snap | 24 +-- .../AttributesForm.spec.tsx.snap | 28 +-- .../DeleteRoomModal.spec.tsx.snap | 4 +- .../PermissionsTable.spec.tsx.snap | 8 +- .../UsersInRoleTable.spec.tsx.snap | 8 +- .../RangeSettingInput.spec.tsx.snap | 50 ++--- .../__snapshots__/UsersTable.spec.tsx.snap | 18 +- .../SecurityLogDisplayModal.spec.tsx.snap | 12 +- .../EnterE2EPasswordModal.spec.tsx.snap | 4 +- .../AppLogsFilterCompact.spec.tsx.snap | 2 +- .../AppLogsFilterContextualBar.spec.tsx.snap | 8 +- .../AppLogsFilterExpanded.spec.tsx.snap | 10 +- .../__snapshots__/DateTimeModal.spec.tsx.snap | 4 - .../CannedResponseList.spec.tsx.snap | 5 +- .../ForwardChatModal.spec.tsx.snap | 16 +- .../ReturnChatQueueModal.spec.tsx.snap | 4 +- .../__snapshots__/BannedUsers.spec.tsx.snap | 12 +- .../DiscussionsList.spec.tsx.snap | 8 +- .../__snapshots__/RoomFiles.spec.tsx.snap | 20 +- .../__snapshots__/InviteUsers.spec.tsx.snap | 20 +- .../__snapshots__/RoomMembers.spec.tsx.snap | 36 ++-- .../FileUploadModal.spec.tsx.snap | 10 +- apps/meteor/package.json | 16 +- apps/uikit-playground/package.json | 10 +- packages/fuselage-ui-kit/package.json | 6 +- packages/gazzodown/package.json | 6 +- packages/livechat/package.json | 4 +- packages/storybook-config/package.json | 4 +- packages/ui-avatar/package.json | 4 +- packages/ui-client/package.json | 12 +- .../__snapshots__/GenericModal.spec.tsx.snap | 4 +- packages/ui-composer/package.json | 4 +- packages/ui-contexts/package.json | 4 +- packages/ui-video-conf/package.json | 6 +- packages/ui-voip/package.json | 6 +- .../CallHistoryContextualbar.spec.tsx.snap | 4 +- .../MediaCallWidget.spec.tsx.snap | 4 +- .../PermissionFlowModal.spec.tsx.snap | 16 +- packages/web-ui-registration/package.json | 6 +- yarn.lock | 190 ++++++++---------- 44 files changed, 334 insertions(+), 367 deletions(-) diff --git a/apps/meteor/client/components/ABAC/ABACUpsellModal/__snapshots__/ABACUpsellModal.spec.tsx.snap b/apps/meteor/client/components/ABAC/ABACUpsellModal/__snapshots__/ABACUpsellModal.spec.tsx.snap index 3d544cb7d96a3..0dce937dd6791 100644 --- a/apps/meteor/client/components/ABAC/ABACUpsellModal/__snapshots__/ABACUpsellModal.spec.tsx.snap +++ b/apps/meteor/client/components/ABAC/ABACUpsellModal/__snapshots__/ABACUpsellModal.spec.tsx.snap @@ -4,7 +4,7 @@ exports[`ABACUpsellModal should render the modal with correct content 1`] = `

Attribute-Based Access Control

diff --git a/apps/meteor/client/components/CreateDiscussion/__snapshots__/CreateDiscussion.spec.tsx.snap b/apps/meteor/client/components/CreateDiscussion/__snapshots__/CreateDiscussion.spec.tsx.snap index 915ce0fc0ed33..46c6c43304368 100644 --- a/apps/meteor/client/components/CreateDiscussion/__snapshots__/CreateDiscussion.spec.tsx.snap +++ b/apps/meteor/client/components/CreateDiscussion/__snapshots__/CreateDiscussion.spec.tsx.snap @@ -4,7 +4,7 @@ exports[`CreateDiscussion renders Default without crashing 1`] = `

Discussion_title

@@ -63,7 +63,7 @@ exports[`CreateDiscussion renders Default without crashing 1`] = ` > Parent channel or team