-
Notifications
You must be signed in to change notification settings - Fork 13k
chore: Move ContextualBar and subcomponents to ui-client package
#37661
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 not ready to merge, because of the following issues:
Please fix the issues and try again If you have any trouble, please check the PR guidelines |
|
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters (1)
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including You can disable this status message by setting the WalkthroughA large-scale refactor moving Contextualbar UI component imports across ~100 files from local relative paths to the centralized Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20–25 minutes Areas requiring extra attention:
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
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✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #37661 +/- ##
===========================================
- Coverage 68.81% 68.80% -0.02%
===========================================
Files 3361 3361
Lines 114260 114204 -56
Branches 20619 20619
===========================================
- Hits 78629 78577 -52
- Misses 33533 33534 +1
+ Partials 2098 2093 -5
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.
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 (2)
apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistoryMessages.tsx (1)
98-98: Fix undefined variable reference.The variable
historyis not defined in this scope and will cause a ReferenceError at runtime. Based on the context, this should reference themessagesarray.Apply this diff to fix the undefined variable:
- {!error && totalItemCount > 0 && history.length > 0 && ( + {!error && totalItemCount > 0 && messages.length > 0 && (apps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsx (1)
118-118: Critical: Undefined variablehistorycauses runtime error.Line 118 references
history.lengthbut thehistoryvariable is never defined in this component. This will throw aReferenceErrorat runtime.Apply this diff to fix the undefined variable reference:
- {!error && totalItemCount > 0 && history.length > 0 && ( + {!error && totalItemCount > 0 && messages.length > 0 && (
🧹 Nitpick comments (1)
apps/meteor/client/views/admin/moderation/UserMessages.tsx (1)
13-13: Consider updating or removing the now‑stale TODO.The TODO about “We should use Contextualbar components here” is at least partially addressed by the new
ContextualbarFooterusage; consider refining or removing it to avoid confusion for future maintainers.
📜 Review details
Configuration used: CodeRabbit 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 (107)
apps/meteor/.storybook/main.ts(1 hunks)apps/meteor/client/apps/gameCenter/GameCenterContainer.tsx(1 hunks)apps/meteor/client/apps/gameCenter/GameCenterList.tsx(1 hunks)apps/meteor/client/components/UserInfo/UserInfo.stories.tsx(1 hunks)apps/meteor/client/components/UserInfo/UserInfo.tsx(1 hunks)apps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsx(1 hunks)apps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsx(1 hunks)apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsx(1 hunks)apps/meteor/client/views/admin/customEmoji/EditCustomEmoji.tsx(1 hunks)apps/meteor/client/views/admin/customSounds/AddCustomSound.tsx(1 hunks)apps/meteor/client/views/admin/customSounds/CustomSoundsPage.tsx(1 hunks)apps/meteor/client/views/admin/customSounds/EditSound.tsx(1 hunks)apps/meteor/client/views/admin/customUserStatus/CustomUserStatusForm.tsx(1 hunks)apps/meteor/client/views/admin/customUserStatus/CustomUserStatusRoute.tsx(1 hunks)apps/meteor/client/views/admin/customUserStatus/CustomUserStatusService.tsx(1 hunks)apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminPage.tsx(1 hunks)apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx(1 hunks)apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfoWithData.tsx(1 hunks)apps/meteor/client/views/admin/moderation/ModConsoleReportDetails.tsx(1 hunks)apps/meteor/client/views/admin/moderation/UserMessages.tsx(1 hunks)apps/meteor/client/views/admin/moderation/UserReports/UserReportInfo.tsx(1 hunks)apps/meteor/client/views/admin/oauthApps/EditOauthApp.tsx(1 hunks)apps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsx(1 hunks)apps/meteor/client/views/admin/permissions/EditRolePage.tsx(1 hunks)apps/meteor/client/views/admin/permissions/PermissionsContextBar.tsx(1 hunks)apps/meteor/client/views/admin/rooms/EditRoom.tsx(1 hunks)apps/meteor/client/views/admin/rooms/EditRoomWithData.tsx(1 hunks)apps/meteor/client/views/admin/rooms/RoomsPage.tsx(1 hunks)apps/meteor/client/views/admin/users/AdminInviteUsers.tsx(1 hunks)apps/meteor/client/views/admin/users/AdminUserCreated.tsx(1 hunks)apps/meteor/client/views/admin/users/AdminUserForm.tsx(1 hunks)apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx(1 hunks)apps/meteor/client/views/admin/users/AdminUserUpgrade.tsx(1 hunks)apps/meteor/client/views/admin/users/AdminUsersPage.tsx(1 hunks)apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/Filters/AppLogsFilterContextualBar.stories.tsx(1 hunks)apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/Filters/AppLogsFilterContextualBar.tsx(1 hunks)apps/meteor/client/views/omnichannel/agents/AgentEdit.tsx(1 hunks)apps/meteor/client/views/omnichannel/agents/AgentEditWithData.tsx(1 hunks)apps/meteor/client/views/omnichannel/agents/AgentInfo.tsx(1 hunks)apps/meteor/client/views/omnichannel/agents/AgentsPage.tsx(1 hunks)apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponse.tsx(1 hunks)apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.stories.tsx(1 hunks)apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsx(2 hunks)apps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfo.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfoWithData.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactInfo/ContactInfoError.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactInfo/EditContactInfo.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactInfo/EditContactInfoWithData.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoChannels/ContactInfoChannels.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoDetails/ContactInfoDetails.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistory.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistoryMessages.tsx(1 hunks)apps/meteor/client/views/omnichannel/currentChats/CustomFieldsList.tsx(1 hunks)apps/meteor/client/views/omnichannel/customFields/CustomFieldsPage.tsx(1 hunks)apps/meteor/client/views/omnichannel/customFields/EditCustomFields.tsx(1 hunks)apps/meteor/client/views/omnichannel/customFields/EditCustomFieldsWithData.tsx(1 hunks)apps/meteor/client/views/omnichannel/directory/CallsContextualBarDirectory.tsx(1 hunks)apps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsx(1 hunks)apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatInfo.tsx(1 hunks)apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatsContextualBar.tsx(1 hunks)apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx(1 hunks)apps/meteor/client/views/omnichannel/directory/chats/ChatsFiltersContextualBar.tsx(1 hunks)apps/meteor/client/views/omnichannel/priorities/PriorityList.tsx(1 hunks)apps/meteor/client/views/omnichannel/slaPolicies/SlaEdit.tsx(1 hunks)apps/meteor/client/views/omnichannel/slaPolicies/SlaPage.tsx(1 hunks)apps/meteor/client/views/omnichannel/tags/TagEdit.tsx(1 hunks)apps/meteor/client/views/omnichannel/tags/TagEditWithData.tsx(1 hunks)apps/meteor/client/views/omnichannel/tags/TagEditWithDepartmentData.tsx(1 hunks)apps/meteor/client/views/omnichannel/tags/TagsPage.tsx(1 hunks)apps/meteor/client/views/omnichannel/triggers/EditTrigger.tsx(1 hunks)apps/meteor/client/views/omnichannel/triggers/EditTriggerWithData.tsx(1 hunks)apps/meteor/client/views/omnichannel/triggers/TriggersPage.tsx(1 hunks)apps/meteor/client/views/omnichannel/units/UnitEdit.tsx(1 hunks)apps/meteor/client/views/omnichannel/units/UnitEditWithData.tsx(1 hunks)apps/meteor/client/views/omnichannel/units/UnitsPage.tsx(1 hunks)apps/meteor/client/views/outlookCalendar/OutlookEventsList/OutlookEventsList.tsx(1 hunks)apps/meteor/client/views/outlookCalendar/OutlookSettingsList/OutlookSettingsList.tsx(1 hunks)apps/meteor/client/views/room/Room.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/Discussions/DiscussionsList.tsx(2 hunks)apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/Info/EditRoomInfo/EditRoomInfo.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/MessageListTab.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/MessageSearchTab/MessageSearchTab.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/MessageSearchTab/components/MessageSearch.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/OTR/OTR.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/OTR/OTR.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomFiles/components/FileItem.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.stories.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsx(2 hunks)
⛔ Files not processed due to max files limit (27)
- apps/meteor/client/views/room/contextualBar/Threads/Thread.tsx
- apps/meteor/client/views/room/contextualBar/Threads/ThreadList.tsx
- apps/meteor/client/views/room/contextualBar/Threads/components/ThreadChat.tsx
- apps/meteor/client/views/room/contextualBar/Threads/components/ThreadTitle.tsx
- apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx
- apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfList.tsx
- apps/meteor/client/views/room/contextualBar/uikit/UiKitContextualBar.tsx
- apps/meteor/client/views/teams/contextualBar/channels/TeamsChannels.tsx
- apps/meteor/client/views/teams/contextualBar/info/TeamsInfo.stories.tsx
- apps/meteor/client/views/teams/contextualBar/info/TeamsInfo.tsx
- apps/meteor/jest.config.ts
- packages/ui-client/package.json
- packages/ui-client/src/components/Contextualbar/Contextualbar.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarAction.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarActions.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarButton.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarContent.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarDialog.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarEmptyContent.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarFooter.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarHeader.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarIcon.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarResizable.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarScrollableContent.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarSection.tsx
- packages/ui-client/src/components/Contextualbar/ContextualbarTitle.tsx
- packages/ui-client/src/components/index.ts
🧰 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/views/marketplace/AppDetailsPage/tabs/AppLogs/Filters/AppLogsFilterContextualBar.stories.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.stories.tsxapps/meteor/client/views/admin/customSounds/CustomSoundsPage.tsxapps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsxapps/meteor/client/views/admin/permissions/EditRolePage.tsxapps/meteor/client/views/omnichannel/customFields/CustomFieldsPage.tsxapps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatInfo.tsxapps/meteor/client/views/omnichannel/priorities/PriorityList.tsxapps/meteor/client/views/admin/users/AdminUsersPage.tsxapps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoDetails/ContactInfoDetails.tsxapps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.stories.tsxapps/meteor/client/views/admin/rooms/EditRoom.tsxapps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.stories.tsxapps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsxapps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsxapps/meteor/client/views/omnichannel/tags/TagEditWithDepartmentData.tsxapps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.stories.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.stories.tsxapps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponse.tsxapps/meteor/client/views/admin/moderation/UserReports/UserReportInfo.tsxapps/meteor/client/views/omnichannel/agents/AgentEditWithData.tsxapps/meteor/client/views/omnichannel/triggers/EditTriggerWithData.tsxapps/meteor/client/components/UserInfo/UserInfo.stories.tsxapps/meteor/client/views/outlookCalendar/OutlookSettingsList/OutlookSettingsList.tsxapps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoChannels/ContactInfoChannels.tsxapps/meteor/client/views/omnichannel/units/UnitEditWithData.tsxapps/meteor/client/views/room/contextualBar/OTR/OTR.tsxapps/meteor/client/views/room/contextualBar/OTR/OTR.stories.tsxapps/meteor/client/views/room/contextualBar/MessageSearchTab/components/MessageSearch.tsxapps/meteor/client/views/admin/users/AdminUserInfoWithData.tsxapps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistory.tsxapps/meteor/client/views/omnichannel/units/UnitEdit.tsxapps/meteor/client/views/room/Room.tsxapps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfoWithData.tsxapps/meteor/client/views/admin/oauthApps/EditOauthApp.tsxapps/meteor/client/views/omnichannel/tags/TagEditWithData.tsxapps/meteor/client/views/admin/users/AdminUserUpgrade.tsxapps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.stories.tsxapps/meteor/client/views/admin/users/AdminUserForm.tsxapps/meteor/client/views/admin/rooms/EditRoomWithData.tsxapps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfoWithData.tsxapps/meteor/client/views/omnichannel/units/UnitsPage.tsxapps/meteor/client/views/admin/permissions/PermissionsContextBar.tsxapps/meteor/client/views/omnichannel/directory/CallsContextualBarDirectory.tsxapps/meteor/client/views/omnichannel/tags/TagsPage.tsxapps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfo.tsxapps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminPage.tsxapps/meteor/client/views/omnichannel/customFields/EditCustomFieldsWithData.tsxapps/meteor/client/views/omnichannel/agents/AgentsPage.tsxapps/meteor/client/views/omnichannel/agents/AgentEdit.tsxapps/meteor/client/views/omnichannel/triggers/TriggersPage.tsxapps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatsContextualBar.tsxapps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsxapps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsxapps/meteor/client/views/admin/users/AdminInviteUsers.tsxapps/meteor/client/views/omnichannel/contactInfo/EditContactInfo.tsxapps/meteor/client/views/room/contextualBar/RoomFiles/components/FileItem.stories.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsxapps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.stories.tsxapps/meteor/client/views/admin/rooms/RoomsPage.tsxapps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsxapps/meteor/client/views/admin/moderation/ModConsoleReportDetails.tsxapps/meteor/client/views/admin/customEmoji/EditCustomEmoji.tsxapps/meteor/client/components/UserInfo/UserInfo.tsxapps/meteor/client/views/omnichannel/agents/AgentInfo.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsxapps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.tsxapps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsxapps/meteor/client/views/admin/customSounds/EditSound.tsxapps/meteor/client/views/omnichannel/slaPolicies/SlaEdit.tsxapps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsxapps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsxapps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.stories.tsxapps/meteor/client/views/room/contextualBar/Discussions/DiscussionsList.tsxapps/meteor/client/views/admin/customUserStatus/CustomUserStatusForm.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.stories.tsxapps/meteor/client/views/omnichannel/tags/TagEdit.tsxapps/meteor/client/views/admin/customSounds/AddCustomSound.tsxapps/meteor/client/views/omnichannel/currentChats/CustomFieldsList.tsxapps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.stories.tsxapps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.tsxapps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsxapps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.stories.tsxapps/meteor/client/views/admin/customUserStatus/CustomUserStatusRoute.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsxapps/meteor/client/views/omnichannel/slaPolicies/SlaPage.tsxapps/meteor/client/views/omnichannel/triggers/EditTrigger.tsxapps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsxapps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.tsxapps/meteor/client/views/omnichannel/customFields/EditCustomFields.tsxapps/meteor/client/views/room/contextualBar/MessageSearchTab/MessageSearchTab.tsxapps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsxapps/meteor/client/views/admin/moderation/UserMessages.tsxapps/meteor/client/views/omnichannel/contactInfo/ContactInfoError.tsxapps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsxapps/meteor/client/views/admin/users/AdminUserCreated.tsxapps/meteor/client/views/outlookCalendar/OutlookEventsList/OutlookEventsList.tsxapps/meteor/client/apps/gameCenter/GameCenterContainer.tsxapps/meteor/client/views/omnichannel/contactInfo/EditContactInfoWithData.tsxapps/meteor/client/views/room/contextualBar/Info/EditRoomInfo/EditRoomInfo.tsxapps/meteor/client/views/admin/customUserStatus/CustomUserStatusService.tsxapps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistoryMessages.tsxapps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/Filters/AppLogsFilterContextualBar.tsxapps/meteor/client/views/omnichannel/directory/chats/ChatsFiltersContextualBar.tsxapps/meteor/client/views/room/contextualBar/MessageListTab.tsxapps/meteor/client/apps/gameCenter/GameCenterList.tsx
🧠 Learnings (12)
📓 Common learnings
Learnt from: d-gubert
Repo: RocketChat/Rocket.Chat PR: 37547
File: packages/i18n/src/locales/en.i18n.json:634-634
Timestamp: 2025-11-19T12:32:29.696Z
Learning: Repo: RocketChat/Rocket.Chat
Context: i18n workflow
Learning: In this repository, new translation keys should be added to packages/i18n/src/locales/en.i18n.json only; other locale files are populated via the external translation pipeline and/or fall back to English. Do not request adding the same key to all locale files in future reviews.
📚 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/views/room/contextualBar/RoomMembers/RoomMembers.stories.tsxapps/meteor/client/views/admin/rooms/EditRoom.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.stories.tsxapps/meteor/client/views/room/contextualBar/OTR/OTR.tsxapps/meteor/client/views/room/Room.tsxapps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.stories.tsxapps/meteor/client/views/admin/rooms/EditRoomWithData.tsxapps/meteor/client/views/room/contextualBar/Info/RoomInfo/RoomInfo.tsxapps/meteor/client/views/admin/rooms/RoomsPage.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsxapps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsxapps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.stories.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.stories.tsxapps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsxapps/meteor/client/views/room/contextualBar/Info/EditRoomInfo/EditRoomInfo.tsxapps/meteor/client/views/room/contextualBar/MessageListTab.tsx
📚 Learning: 2025-11-27T17:56:26.050Z
Learnt from: MartinSchoeler
Repo: RocketChat/Rocket.Chat PR: 37557
File: apps/meteor/client/views/admin/ABAC/AdminABACRooms.tsx:115-116
Timestamp: 2025-11-27T17:56:26.050Z
Learning: In Rocket.Chat, the GET /v1/abac/rooms endpoint (implemented in ee/packages/abac/src/index.ts) only returns rooms where abacAttributes exists and is not an empty array (query: { abacAttributes: { $exists: true, $ne: [] } }). Therefore, in components consuming this endpoint (like AdminABACRooms.tsx), room.abacAttributes is guaranteed to be defined for all returned rooms, and optional chaining before calling array methods like .join() is sufficient without additional null coalescing.
Applied to files:
apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.stories.tsxapps/meteor/client/views/admin/ABAC/AdminABACRoomAttributesForm.tsxapps/meteor/client/views/admin/rooms/EditRoom.tsxapps/meteor/client/views/admin/rooms/EditRoomWithData.tsxapps/meteor/client/views/admin/rooms/RoomsPage.tsxapps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx
📚 Learning: 2025-11-19T12:32:29.696Z
Learnt from: d-gubert
Repo: RocketChat/Rocket.Chat PR: 37547
File: packages/i18n/src/locales/en.i18n.json:634-634
Timestamp: 2025-11-19T12:32:29.696Z
Learning: Repo: RocketChat/Rocket.Chat
Context: i18n workflow
Learning: In this repository, new translation keys should be added to packages/i18n/src/locales/en.i18n.json only; other locale files are populated via the external translation pipeline and/or fall back to English. Do not request adding the same key to all locale files in future reviews.
Applied to files:
apps/meteor/.storybook/main.tsapps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsxapps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.stories.tsxapps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponse.tsxapps/meteor/client/views/room/contextualBar/OTR/OTR.stories.tsxapps/meteor/client/views/omnichannel/contactInfo/ContactInfo/ContactInfo.tsxapps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.stories.tsxapps/meteor/client/views/admin/moderation/ModConsoleReportDetails.tsxapps/meteor/client/views/room/contextualBar/KeyboardShortcuts/KeyboardShortcuts.tsxapps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsxapps/meteor/client/views/admin/customSounds/AddCustomSound.tsxapps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.stories.tsxapps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.stories.tsxapps/meteor/client/views/omnichannel/slaPolicies/SlaPage.tsxapps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsxapps/meteor/client/views/omnichannel/directory/chats/ChatsFiltersContextualBar.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/.storybook/main.tsapps/meteor/client/views/admin/users/AdminUserUpgrade.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/ABAC/AdminABACRoomAttributesForm.tsx
📚 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/views/admin/users/AdminUsersPage.tsxapps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsxapps/meteor/client/views/admin/oauthApps/EditOauthApp.tsxapps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsxapps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsxapps/meteor/client/apps/gameCenter/GameCenterContainer.tsxapps/meteor/client/views/omnichannel/directory/chats/ChatsFiltersContextualBar.tsxapps/meteor/client/apps/gameCenter/GameCenterList.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:
apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsxapps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.stories.tsxapps/meteor/client/views/omnichannel/directory/chats/ChatInfo/ChatsContextualBar.tsxapps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsxapps/meteor/client/views/omnichannel/directory/calls/contextualBar/VoipInfo.tsxapps/meteor/client/views/room/contextualBar/ExportMessages/ExportMessages.tsxapps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.stories.tsxapps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.stories.tsxapps/meteor/client/views/admin/moderation/UserMessages.tsxapps/meteor/client/views/omnichannel/contactInfo/ContactInfoError.tsxapps/meteor/client/views/room/contextualBar/MessageListTab.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/page-objects/**/*.ts : Utilize existing page objects pattern from `apps/meteor/tests/e2e/page-objects/`
Applied to files:
apps/meteor/client/views/omnichannel/units/UnitsPage.tsxapps/meteor/client/views/omnichannel/slaPolicies/SlaPage.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/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx
📚 Learning: 2025-11-17T22:38:48.631Z
Learnt from: gabriellsh
Repo: RocketChat/Rocket.Chat PR: 37505
File: packages/i18n/src/locales/en.i18n.json:3765-3765
Timestamp: 2025-11-17T22:38:48.631Z
Learning: Rocket.Chat i18n copy: Keep sentence case for the value of "Notification_Desktop_show_voice_calls" in packages/i18n/src/locales/en.i18n.json (“Show desktop notifications for voice calls”) per design directive; do not change to Title Case even if nearby labels differ.
Applied to files:
apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx
📚 Learning: 2025-11-17T14:30:36.271Z
Learnt from: tassoevan
Repo: RocketChat/Rocket.Chat PR: 37491
File: packages/desktop-api/src/index.ts:17-27
Timestamp: 2025-11-17T14:30:36.271Z
Learning: In the Rocket.Chat desktop API (`packages/desktop-api/src/index.ts`), the `CustomNotificationOptions` type has an optional `id` field by design. Custom notifications dispatched without an ID cannot be closed programmatically using `closeCustomNotification`, and this is intentional.
Applied to files:
apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx
⏰ 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). (18)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (3/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (5/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (3/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (4/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (2/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (5/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 5.0 (1/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (1/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (4/5)
- GitHub Check: 🔨 Test UI (EE) / MongoDB 8.2 [legacy watchers] coverage (2/5)
- GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (2/4)
- GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (4/4)
- GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (3/4)
- GitHub Check: 🔨 Test API (EE) / MongoDB 8.2 coverage (1/1)
- GitHub Check: 🔨 Test UI (CE) / MongoDB 8.2 (1/4)
- GitHub Check: 🔨 Test API (EE) / MongoDB 5.0 (1/1)
- GitHub Check: 🔨 Test API (CE) / MongoDB 8.2 (1/1)
- GitHub Check: 🔨 Test Federation Matrix
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.

Proposed changes (including videos or screenshots)
Issue(s)
VGA-91
Steps to test or reproduce
Further comments
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.