-
Notifications
You must be signed in to change notification settings - Fork 13k
refactor(eslint): Enable react/no-children-prop
#38170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Looks like this PR is ready to merge! 🎉 |
|
WalkthroughA systematic refactoring replacing the explicit Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
🧹 Recent nitpick comments
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (104)
🚧 Files skipped from review as they are similar to previous changes (60)
🧰 Additional context used📓 Path-based instructions (1)**/*.{ts,tsx,js}📄 CodeRabbit inference engine (.cursor/rules/playwright.mdc)
Files:
🧠 Learnings (3)📚 Learning: 2025-10-30T19:30:46.541ZApplied to files:
📚 Learning: 2025-12-10T21:00:54.909ZApplied to files:
📚 Learning: 2025-11-19T18:20:07.720ZApplied to files:
🧬 Code graph analysis (8)apps/meteor/client/providers/SettingsProvider.tsx (1)
apps/meteor/client/providers/SessionProvider.tsx (1)
apps/meteor/client/providers/AvatarUrlProvider.tsx (1)
apps/meteor/client/providers/AppsProvider.tsx (1)
apps/meteor/client/providers/RouterProvider.tsx (1)
apps/meteor/client/views/admin/settings/groups/LDAPGroupPage.tsx (1)
apps/meteor/client/views/room/hooks/useToggleFavoriteMutation.spec.tsx (1)
apps/meteor/client/providers/ServerProvider.tsx (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (3)
🔇 Additional comments (46)
✏️ Tip: You can disable this entire section by setting Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## develop #38170 +/- ##
===========================================
- Coverage 70.64% 70.63% -0.01%
===========================================
Files 3133 3133
Lines 108371 108369 -2
Branches 19491 19496 +5
===========================================
- Hits 76557 76549 -8
- Misses 29816 29825 +9
+ Partials 1998 1995 -3
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues found across 105 files
Note: This PR contains a large number of files. cubic only reviews up to 75 files per PR, so some files may not have been reviewed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
apps/meteor/client/views/room/providers/ComposerPopupProvider.tsx (3)
227-237: Fix incorrect emoji data lookup.Line 229 uses
collection[key]but should usecollection[_id]. The variablekeyis the filter pattern (:${filter}), not the emoji identifier. This causes all emojis to receive the same (likely undefined) data.🐛 Proposed fix
return Object.keys(collection) .map((_id) => { - const data = collection[key]; + const data = collection[_id]; return { _id, data }; })
284-294: Fix incorrect emoji data lookup (duplicate bug).Line 286 has the same issue as line 229 - uses
collection[key]instead ofcollection[_id], causing incorrect emoji data.🐛 Proposed fix
return Object.keys(collection) .map((_id) => { - const data = collection[key]; + const data = collection[_id]; return { _id, data }; })
256-276: Fix variable assignment in emoji sort function.Line 258 incorrectly assigns
idB = a._idinstead ofidB = b._id, causing the sort comparison to be meaningless since both variables would have the same base value.🐛 Proposed fix
const emojiSort = (recents: string[]) => (a: { _id: string }, b: { _id: string }) => { let idA = a._id; - let idB = a._id; + let idB = b._id;
🧹 Nitpick comments (1)
apps/uikit-playground/src/Components/Templates/Container/Container.tsx (1)
9-9: Consider using a stable identifier for the key prop.Using array index as a key works for static lists but can cause issues if items are reordered or filtered. If
templateTypehas a unique identifier (e.g.,template.idortemplate.name), prefer using that instead.♻️ Suggested improvement (if template has unique id)
- templates.map((template, i) => <Section key={i} template={template} index={i} />)} + templates.map((template, i) => <Section key={template.id ?? i} template={template} index={i} />)}
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Disabled knowledge base sources:
- Jira integration is disabled by default for public repositories
You can enable these sources in your CodeRabbit configuration.
⛔ Files ignored due to path filters (1)
yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (104)
apps/meteor/client/components/PageSkeleton.tsxapps/meteor/client/components/UserCard/UserCardRole.tsxapps/meteor/client/components/UserInfo/UserInfoABACAttribute.tsxapps/meteor/client/components/message/content/attachments/structure/AttachmentBlock.tsxapps/meteor/client/portals/SidebarPortal/index.tsxapps/meteor/client/providers/AppsProvider/AppsProvider.tsxapps/meteor/client/providers/AttachmentProvider.tsxapps/meteor/client/providers/AuthenticationProvider/AuthenticationProvider.tsxapps/meteor/client/providers/AuthorizationProvider.tsxapps/meteor/client/providers/AvatarUrlProvider.tsxapps/meteor/client/providers/CustomSoundProvider/CustomSoundProvider.tsxapps/meteor/client/providers/LayoutProvider.tsxapps/meteor/client/providers/OmnichannelProvider.tsxapps/meteor/client/providers/RouterProvider.tsxapps/meteor/client/providers/ServerProvider.tsxapps/meteor/client/providers/SessionProvider.tsxapps/meteor/client/providers/SettingsProvider.tsxapps/meteor/client/providers/ToastMessagesProvider.tsxapps/meteor/client/providers/TranslationProvider.tsxapps/meteor/client/providers/UserProvider/UserProvider.tsxapps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomListErrorBoundary.tsxapps/meteor/client/sidebar/hooks/useRoomList.spec.tsxapps/meteor/client/stories/contexts/ModalContextMock.tsxapps/meteor/client/stories/contexts/RouterContextMock.tsxapps/meteor/client/stories/contexts/ServerContextMock.tsxapps/meteor/client/stories/contexts/TranslationContextMock.tsxapps/meteor/client/views/admin/customUserStatus/CustomUserStatusDisabledModal.tsxapps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardErrorBoundary.tsxapps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.stories.tsxapps/meteor/client/views/admin/engagementDashboard/channels/ChannelsTab.stories.tsxapps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.stories.tsxapps/meteor/client/views/admin/engagementDashboard/messages/MessagesTab.stories.tsxapps/meteor/client/views/admin/engagementDashboard/users/UsersTab.stories.tsxapps/meteor/client/views/admin/invites/InvitesPage.tsxapps/meteor/client/views/admin/settings/SettingsGroupPage/SettingsGroupPage.tsxapps/meteor/client/views/admin/settings/SettingsSection/SettingsSection.tsxapps/meteor/client/views/admin/settings/groups/LDAPGroupPage.tsxapps/meteor/client/views/home/cards/AddUsersCard.tsxapps/meteor/client/views/home/cards/CreateChannelsCard.tsxapps/meteor/client/views/home/cards/DesktopAppsCard.tsxapps/meteor/client/views/home/cards/DocumentationCard.tsxapps/meteor/client/views/home/cards/JoinRoomsCard.tsxapps/meteor/client/views/home/cards/MobileAppsCard.tsxapps/meteor/client/views/omnichannel/directory/providers/ChatsProvider.tsxapps/meteor/client/views/omnichannel/modals/ForwardChatModal.tsxapps/meteor/client/views/room/MessageList/MessageListErrorBoundary.tsxapps/meteor/client/views/room/hooks/useToggleFavoriteMutation.spec.tsxapps/meteor/client/views/room/modals/DeleteMessageConfirmModal/DeleteMessageConfirmModal.tsxapps/meteor/client/views/room/providers/ComposerPopupProvider.tsxapps/meteor/client/views/root/MainLayout/AuthenticationCheck.tsxapps/meteor/client/views/root/MainLayout/LoginPage.tsxapps/meteor/tests/mocks/client/FakeChatProvider.tsxapps/meteor/tests/mocks/client/ModalContextMock.tsxapps/meteor/tests/mocks/client/ServerProviderMock.tsxapps/uikit-playground/.eslintrc.jsonapps/uikit-playground/package.jsonapps/uikit-playground/src/Components/Draggable/DraggableList.tsxapps/uikit-playground/src/Components/NavBar/BurgerIcon/Wrapper.tsxapps/uikit-playground/src/Components/Templates/Container/Container.tsxapps/uikit-playground/src/Components/Templates/Container/Section.tsxapps/uikit-playground/src/Components/ToggleTabs/index.tsxapps/uikit-playground/src/Components/navMenu/Menu/Wrapper.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/blocks/OrderedListBlock.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/blocks/ParagraphBlock.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/blocks/UnorderedListBlock.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/BoldSpan.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/InlineElements.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/ItalicSpan.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/LinkSpan.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/StrikeSpan.tsxpackages/eslint-config/react.jspackages/fuselage-ui-kit/.storybook/preview.tsxpackages/gazzodown/src/Markup.tsxpackages/gazzodown/src/PreviewMarkup.tsxpackages/gazzodown/src/blocks/OrderedListBlock.tsxpackages/gazzodown/src/blocks/ParagraphBlock.tsxpackages/gazzodown/src/blocks/QuoteBlock.tsxpackages/gazzodown/src/blocks/TaskListBlock.tsxpackages/gazzodown/src/blocks/UnorderedListBlock.tsxpackages/gazzodown/src/elements/BoldSpan.tsxpackages/gazzodown/src/elements/InlineElements.tsxpackages/gazzodown/src/elements/ItalicSpan.tsxpackages/gazzodown/src/elements/LinkSpan.tsxpackages/gazzodown/src/elements/PreviewInlineElements.tsxpackages/gazzodown/src/elements/StrikeSpan.tsxpackages/gazzodown/src/katex/KatexErrorBoundary.tsxpackages/livechat/.eslintrc.jsonpackages/livechat/src/components/Messages/MessageBlocks/stories.tsxpackages/livechat/src/components/uiKit/message/ActionsBlock.stories.tsxpackages/livechat/src/components/uiKit/message/Block.tsxpackages/livechat/src/components/uiKit/message/ButtonElement/index.tsxpackages/livechat/src/components/uiKit/message/ButtonElement/stories.tsxpackages/livechat/src/components/uiKit/message/ContextBlock.stories.tsxpackages/livechat/src/components/uiKit/message/DividerBlock.stories.tsxpackages/livechat/src/components/uiKit/message/ImageBlock.stories.tsxpackages/livechat/src/components/uiKit/message/ImageBlock/index.tsxpackages/livechat/src/components/uiKit/message/SectionBlock.stories.tsxpackages/livechat/src/components/uiKit/message/Surface.tsxpackages/livechat/src/providers/ServerProvider.tsxpackages/ui-client/src/components/AnchorPortal.spec.tsxpackages/ui-client/src/components/Modal/ModalBackdrop.tsxpackages/ui-client/src/components/Page/Page.stories.tsxpackages/ui-client/src/providers/ModalProvider/ModalProvider.tsxpackages/web-ui-registration/src/LoginServices.tsx
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{ts,tsx,js}
📄 CodeRabbit inference engine (.cursor/rules/playwright.mdc)
**/*.{ts,tsx,js}: Write concise, technical TypeScript/JavaScript with accurate typing in Playwright tests
Avoid code comments in the implementation
Files:
apps/meteor/client/providers/AuthorizationProvider.tsxapps/meteor/client/providers/AppsProvider/AppsProvider.tsxapps/uikit-playground/src/Components/Templates/Container/Section.tsxapps/meteor/client/stories/contexts/ModalContextMock.tsxpackages/gazzodown/src/katex/KatexErrorBoundary.tsxapps/meteor/client/providers/AuthenticationProvider/AuthenticationProvider.tsxapps/meteor/client/stories/contexts/TranslationContextMock.tsxapps/meteor/client/views/room/hooks/useToggleFavoriteMutation.spec.tsxapps/meteor/client/views/room/modals/DeleteMessageConfirmModal/DeleteMessageConfirmModal.tsxapps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.stories.tsxpackages/livechat/src/components/uiKit/message/SectionBlock.stories.tsxpackages/ui-client/src/providers/ModalProvider/ModalProvider.tsxapps/meteor/client/views/omnichannel/directory/providers/ChatsProvider.tsxapps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomListErrorBoundary.tsxapps/meteor/client/sidebar/hooks/useRoomList.spec.tsxpackages/livechat/src/components/uiKit/message/ButtonElement/index.tsxapps/meteor/client/views/room/providers/ComposerPopupProvider.tsxapps/uikit-playground/src/Components/NavBar/BurgerIcon/Wrapper.tsxpackages/ui-client/src/components/AnchorPortal.spec.tsxpackages/gazzodown/src/elements/ItalicSpan.tsxapps/meteor/client/views/admin/settings/groups/LDAPGroupPage.tsxapps/meteor/client/views/home/cards/CreateChannelsCard.tsxapps/uikit-playground/src/Components/ToggleTabs/index.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/BoldSpan.tsxapps/uikit-playground/src/Components/navMenu/Menu/Wrapper.tsxpackages/ui-client/src/components/Modal/ModalBackdrop.tsxpackages/gazzodown/src/elements/LinkSpan.tsxapps/meteor/client/stories/contexts/ServerContextMock.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/LinkSpan.tsxapps/meteor/client/providers/UserProvider/UserProvider.tsxapps/meteor/client/stories/contexts/RouterContextMock.tsxapps/meteor/client/components/UserInfo/UserInfoABACAttribute.tsxpackages/livechat/src/components/uiKit/message/DividerBlock.stories.tsxapps/meteor/client/components/message/content/attachments/structure/AttachmentBlock.tsxapps/uikit-playground/src/Components/Templates/Container/Container.tsxpackages/gazzodown/src/blocks/ParagraphBlock.tsxpackages/gazzodown/src/elements/PreviewInlineElements.tsxpackages/gazzodown/src/blocks/TaskListBlock.tsxapps/meteor/client/views/home/cards/AddUsersCard.tsxapps/meteor/client/views/room/MessageList/MessageListErrorBoundary.tsxapps/meteor/client/views/home/cards/DocumentationCard.tsxapps/meteor/client/portals/SidebarPortal/index.tsxapps/meteor/client/views/admin/engagementDashboard/messages/MessagesTab.stories.tsxpackages/livechat/src/components/uiKit/message/ContextBlock.stories.tsxpackages/livechat/src/components/uiKit/message/ImageBlock.stories.tsxpackages/livechat/src/components/uiKit/message/Surface.tsxpackages/livechat/src/components/uiKit/message/ActionsBlock.stories.tsxapps/meteor/client/providers/ToastMessagesProvider.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/StrikeSpan.tsxapps/meteor/client/providers/RouterProvider.tsxapps/meteor/client/providers/ServerProvider.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/blocks/OrderedListBlock.tsxapps/meteor/tests/mocks/client/ServerProviderMock.tsxapps/meteor/client/views/root/MainLayout/AuthenticationCheck.tsxpackages/livechat/src/components/Messages/MessageBlocks/stories.tsxapps/meteor/client/views/admin/settings/SettingsSection/SettingsSection.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/blocks/ParagraphBlock.tsxapps/meteor/client/views/admin/settings/SettingsGroupPage/SettingsGroupPage.tsxapps/meteor/client/views/admin/invites/InvitesPage.tsxapps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardErrorBoundary.tsxpackages/livechat/src/providers/ServerProvider.tsxapps/meteor/client/views/admin/engagementDashboard/users/UsersTab.stories.tsxapps/meteor/client/views/home/cards/DesktopAppsCard.tsxpackages/livechat/src/components/uiKit/message/Block.tsxapps/meteor/client/providers/LayoutProvider.tsxapps/meteor/client/views/home/cards/MobileAppsCard.tsxpackages/livechat/src/components/uiKit/message/ImageBlock/index.tsxpackages/ui-client/src/components/Page/Page.stories.tsxapps/meteor/client/providers/AvatarUrlProvider.tsxapps/meteor/client/providers/SettingsProvider.tsxapps/meteor/client/views/root/MainLayout/LoginPage.tsxpackages/gazzodown/src/PreviewMarkup.tsxapps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.stories.tsxapps/meteor/tests/mocks/client/FakeChatProvider.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/blocks/UnorderedListBlock.tsxapps/meteor/client/providers/SessionProvider.tsxpackages/gazzodown/src/blocks/OrderedListBlock.tsxapps/meteor/client/views/home/cards/JoinRoomsCard.tsxpackages/livechat/src/components/uiKit/message/ButtonElement/stories.tsxpackages/gazzodown/src/blocks/UnorderedListBlock.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/ItalicSpan.tsxapps/meteor/client/views/admin/engagementDashboard/channels/ChannelsTab.stories.tsxpackages/gazzodown/src/Markup.tsxapps/meteor/client/providers/TranslationProvider.tsxpackages/gazzodown/src/blocks/QuoteBlock.tsxapps/meteor/tests/mocks/client/ModalContextMock.tsxapps/meteor/client/providers/CustomSoundProvider/CustomSoundProvider.tsxpackages/eslint-config/react.jsapps/meteor/client/views/omnichannel/modals/ForwardChatModal.tsxapps/meteor/client/components/UserCard/UserCardRole.tsxapps/meteor/client/providers/AttachmentProvider.tsxapps/meteor/client/components/PageSkeleton.tsxpackages/gazzodown/src/elements/StrikeSpan.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/InlineElements.tsxpackages/web-ui-registration/src/LoginServices.tsxapps/meteor/client/views/admin/customUserStatus/CustomUserStatusDisabledModal.tsxapps/uikit-playground/src/Components/Draggable/DraggableList.tsxpackages/gazzodown/src/elements/InlineElements.tsxpackages/gazzodown/src/elements/BoldSpan.tsxapps/meteor/client/providers/OmnichannelProvider.tsx
🧠 Learnings (13)
📚 Learning: 2025-11-17T15:07:13.273Z
Learnt from: gabriellsh
Repo: RocketChat/Rocket.Chat PR: 37398
File: packages/fuselage-ui-kit/src/surfaces/FuselageSurfaceRenderer.tsx:357-363
Timestamp: 2025-11-17T15:07:13.273Z
Learning: In packages/fuselage-ui-kit/src/surfaces/FuselageSurfaceRenderer.tsx, IconElement is a presentational, non-actionable element that does not require wrapping in AppIdProvider, similar to plain_text and mrkdwn renderers. Only actionable elements (those with actions, actionId, or interactive behavior) should be wrapped in AppIdProvider.
Applied to files:
apps/meteor/client/providers/AppsProvider/AppsProvider.tsxapps/uikit-playground/src/Components/NavBar/BurgerIcon/Wrapper.tsxpackages/livechat/src/components/uiKit/message/Surface.tsxpackages/livechat/src/components/uiKit/message/Block.tsxpackages/livechat/src/components/uiKit/message/ButtonElement/stories.tsx
📚 Learning: 2025-12-10T21:00:54.909Z
Learnt from: KevLehman
Repo: RocketChat/Rocket.Chat PR: 37091
File: ee/packages/abac/jest.config.ts:4-7
Timestamp: 2025-12-10T21:00:54.909Z
Learning: Rocket.Chat monorepo: Jest testMatch pattern '<rootDir>/src/**/*.spec.(ts|js|mjs)' is valid in this repo and used across multiple packages (e.g., packages/tools, ee/packages/omnichannel-services). Do not flag it as invalid in future reviews.
Applied to files:
apps/meteor/client/views/room/hooks/useToggleFavoriteMutation.spec.tsx
📚 Learning: 2025-12-02T22:23:49.593Z
Learnt from: d-gubert
Repo: RocketChat/Rocket.Chat PR: 37654
File: apps/meteor/client/hooks/useAppSlashCommands.ts:32-38
Timestamp: 2025-12-02T22:23:49.593Z
Learning: In apps/meteor/client/hooks/useAppSlashCommands.ts, the `data?.forEach((command) => slashCommands.add(command))` call during render is intentional. The query is configured with `structuralSharing: false` to prevent React Query from keeping stable data references, and `slashCommands.add` is idempotent, so executing on every render is acceptable and ensures the command registry stays current.
Applied to files:
apps/meteor/client/views/room/hooks/useToggleFavoriteMutation.spec.tsx
📚 Learning: 2025-11-24T17:08:17.065Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat PR: 0
File: .cursor/rules/playwright.mdc:0-0
Timestamp: 2025-11-24T17:08:17.065Z
Learning: Applies to apps/meteor/tests/e2e/**/*.spec.ts : Utilize Playwright fixtures (`test`, `page`, `expect`) for consistency in test files
Applied to files:
apps/meteor/client/views/room/hooks/useToggleFavoriteMutation.spec.tsxpackages/ui-client/src/components/AnchorPortal.spec.tsxapps/meteor/tests/mocks/client/ServerProviderMock.tsx
📚 Learning: 2025-10-28T16:53:42.761Z
Learnt from: ricardogarim
Repo: RocketChat/Rocket.Chat PR: 37205
File: ee/packages/federation-matrix/src/FederationMatrix.ts:296-301
Timestamp: 2025-10-28T16:53:42.761Z
Learning: In the Rocket.Chat federation-matrix integration (ee/packages/federation-matrix/), the createRoom method from rocket.chat/federation-sdk will support a 4-argument signature (userId, roomName, visibility, displayName) in newer versions. Code using this 4-argument call is forward-compatible with planned library updates and should not be flagged as an error.
Applied to files:
apps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomListErrorBoundary.tsx
📚 Learning: 2025-09-19T15:15:04.642Z
Learnt from: rodrigok
Repo: RocketChat/Rocket.Chat PR: 36991
File: apps/meteor/server/services/federation/infrastructure/rocket-chat/adapters/Settings.ts:219-221
Timestamp: 2025-09-19T15:15:04.642Z
Learning: The Federation_Matrix_homeserver_domain setting in apps/meteor/server/services/federation/infrastructure/rocket-chat/adapters/Settings.ts is part of the old federation system and is being deprecated/removed, so configuration issues with this setting should not be flagged for improvement.
Applied to files:
apps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomListErrorBoundary.tsx
📚 Learning: 2025-11-04T16:49:19.107Z
Learnt from: ricardogarim
Repo: RocketChat/Rocket.Chat PR: 37377
File: apps/meteor/ee/server/hooks/federation/index.ts:86-88
Timestamp: 2025-11-04T16:49:19.107Z
Learning: In Rocket.Chat's federation system (apps/meteor/ee/server/hooks/federation/), permission checks follow two distinct patterns: (1) User-initiated federation actions (creating rooms, adding users to federated rooms, joining from invites) should throw MeteorError to inform users they lack 'access-federation' permission. (2) Remote server-initiated federation events should silently skip/ignore when users lack permission. The beforeAddUserToRoom hook only executes for local user-initiated actions, so throwing an error there is correct. Remote federation events are handled separately by the federation Matrix package with silent skipping logic.
Applied to files:
apps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomListErrorBoundary.tsx
📚 Learning: 2025-11-24T17:08:17.065Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat PR: 0
File: .cursor/rules/playwright.mdc:0-0
Timestamp: 2025-11-24T17:08:17.065Z
Learning: Applies to apps/meteor/tests/e2e/**/*.spec.ts : Use `expect` matchers for assertions (`toEqual`, `toContain`, `toBeTruthy`, `toHaveLength`, etc.) instead of `assert` statements in Playwright tests
Applied to files:
packages/ui-client/src/components/AnchorPortal.spec.tsx
📚 Learning: 2025-11-24T17:08:17.065Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat PR: 0
File: .cursor/rules/playwright.mdc:0-0
Timestamp: 2025-11-24T17:08:17.065Z
Learning: Applies to apps/meteor/tests/e2e/**/*.{ts,spec.ts} : Follow Page Object Model pattern consistently in Playwright tests
Applied to files:
packages/ui-client/src/components/AnchorPortal.spec.tsx
📚 Learning: 2025-11-24T17:08:17.065Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat PR: 0
File: .cursor/rules/playwright.mdc:0-0
Timestamp: 2025-11-24T17:08:17.065Z
Learning: Applies to apps/meteor/tests/e2e/**/*.spec.ts : Maintain test isolation between test cases in Playwright tests
Applied to files:
packages/ui-client/src/components/AnchorPortal.spec.tsx
📚 Learning: 2025-11-24T17:08:17.065Z
Learnt from: CR
Repo: RocketChat/Rocket.Chat PR: 0
File: .cursor/rules/playwright.mdc:0-0
Timestamp: 2025-11-24T17:08:17.065Z
Learning: Applies to apps/meteor/tests/e2e/**/*.spec.ts : Prefer web-first assertions (`toBeVisible`, `toHaveText`, etc.) in Playwright tests
Applied to files:
packages/ui-client/src/components/AnchorPortal.spec.tsx
📚 Learning: 2025-10-30T19:30:46.541Z
Learnt from: MartinSchoeler
Repo: RocketChat/Rocket.Chat PR: 37244
File: apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.spec.tsx:125-146
Timestamp: 2025-10-30T19:30:46.541Z
Learning: In the AdminABACRoomAttributesForm component (apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsx), the first attribute value field is mandatory and does not have a Remove button. Only additional values beyond the first have Remove buttons. This means trashButtons[0] corresponds to the second value's Remove button, not the first value's.
Applied to files:
apps/meteor/client/views/admin/settings/groups/LDAPGroupPage.tsx
📚 Learning: 2025-11-19T18:20:07.720Z
Learnt from: gabriellsh
Repo: RocketChat/Rocket.Chat PR: 37419
File: packages/i18n/src/locales/en.i18n.json:918-921
Timestamp: 2025-11-19T18:20:07.720Z
Learning: Repo: RocketChat/Rocket.Chat — i18n/formatting
Learning: This repository uses a custom message formatting parser in UI blocks/messages; do not assume standard Markdown rules. For keys like Call_ended_bold, Call_not_answered_bold, Call_failed_bold, and Call_transferred_bold in packages/i18n/src/locales/en.i18n.json, retain the existing single-asterisk emphasis unless maintainers request otherwise.
Applied to files:
ee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/BoldSpan.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/StrikeSpan.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/ItalicSpan.tsxee/packages/pdf-worker/src/templates/ChatTranscript/markup/elements/InlineElements.tsx
🧬 Code graph analysis (16)
apps/meteor/client/providers/AuthorizationProvider.tsx (1)
packages/ui-contexts/src/index.ts (1)
AuthorizationContext(3-3)
apps/meteor/client/providers/AuthenticationProvider/AuthenticationProvider.tsx (1)
packages/ui-contexts/src/index.ts (1)
AuthenticationContext(2-2)
apps/meteor/client/stories/contexts/TranslationContextMock.tsx (1)
packages/ui-contexts/src/index.ts (1)
TranslationContext(15-15)
apps/meteor/client/views/room/hooks/useToggleFavoriteMutation.spec.tsx (1)
packages/mock-providers/src/MockedAppRootBuilder.tsx (1)
queryClient(270-280)
packages/livechat/src/components/uiKit/message/ButtonElement/index.tsx (2)
.github/actions/update-version-durability/index.js (1)
parser(169-169)packages/fuselage-ui-kit/src/surfaces/FuselageSurfaceRenderer.tsx (1)
button(173-183)
apps/meteor/client/providers/UserProvider/UserProvider.tsx (1)
packages/ui-contexts/src/UserContext.ts (1)
UserContext(54-63)
apps/meteor/client/providers/ToastMessagesProvider.tsx (1)
packages/ui-contexts/src/index.ts (1)
ToastMessagesContext(13-13)
apps/meteor/client/providers/RouterProvider.tsx (1)
packages/ui-contexts/src/RouterContext.ts (1)
RouterContext(79-107)
apps/meteor/client/providers/ServerProvider.tsx (1)
packages/ui-contexts/src/ServerContext.ts (1)
ServerContext(57-79)
apps/meteor/client/providers/LayoutProvider.tsx (1)
packages/ui-contexts/src/LayoutContext.ts (1)
LayoutContext(45-83)
apps/meteor/client/providers/AvatarUrlProvider.tsx (1)
packages/ui-contexts/src/index.ts (1)
AvatarUrlContext(4-4)
apps/meteor/client/providers/SettingsProvider.tsx (1)
packages/ui-contexts/src/index.ts (1)
SettingsContext(12-12)
apps/meteor/client/providers/TranslationProvider.tsx (1)
packages/ui-contexts/src/index.ts (1)
TranslationContext(15-15)
apps/meteor/client/providers/CustomSoundProvider/CustomSoundProvider.tsx (1)
packages/ui-contexts/src/CustomSoundContext.ts (1)
CustomSoundContext(42-70)
packages/fuselage-ui-kit/.storybook/preview.tsx (1)
packages/mock-providers/src/MockedAppRootBuilder.tsx (1)
queryClient(270-280)
packages/web-ui-registration/src/LoginServices.tsx (1)
packages/fuselage-ui-kit/src/stories/Message.stories.tsx (1)
Divider(75-75)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
- GitHub Check: cubic · AI code reviewer
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 coverage (2/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 coverage (5/5)
- GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (1/4)
- GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (2/4)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 coverage (1/5)
- GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (4/4)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 coverage (4/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 coverage (3/5)
dougfabris
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGREATM!
6d41283 to
fbafc28
Compare
Proposed changes (including videos or screenshots)
It enables the
react/no-children-proplint rule.Issue(s)
Steps to test or reproduce
Further comments
Summary by CodeRabbit
Refactor
Chores
✏️ Tip: You can customize this high-level summary in your review settings.