-
Notifications
You must be signed in to change notification settings - Fork 13.1k
chore: Move CustomScrollbars and VirtualizedScrollbars to ui-client package
#37619
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
- Move CustomScrollbars, VirtualizedScrollbars, and BaseScrollbars to packages/ui-client/src/components/CustomScrollbars - Add overlayscrollbars and overlayscrollbars-react as peerDependencies and devDependencies - Export CustomScrollbars from ui-client components index - Build package successfully
…client - Update 36 files to import CustomScrollbars, VirtualizedScrollbars, and OverlayScrollbars type from @rocket.chat/ui-client - Replace all relative path imports with package import
- Delete CustomScrollbars directory from apps/meteor/client/components/ - All imports have been migrated to @rocket.chat/ui-client
|
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 |
|
WalkthroughConsolidates scrollbar components into Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (5 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro Disabled knowledge base sources:
⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
🚧 Files skipped from review as they are similar to previous changes (4)
🧰 Additional context used📓 Path-based instructions (1)**/*.{ts,tsx,js}📄 CodeRabbit inference engine (.cursor/rules/playwright.mdc)
Files:
🧠 Learnings (1)📚 Learning: 2025-10-28T16:53:42.761ZApplied to files:
⏰ 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 (1)
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 |
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 (1)
apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistoryMessages.tsx (1)
16-128: Fix undefinedhistoryvariable in render conditionThe
VirtualizedScrollbarsimport migration looks fine, but the render guard useshistory.lengtheven though there is nohistoryvariable in this component. This will cause a runtime error when the condition is evaluated. The intent clearly matchesmessagesfromuseRecordList.Consider updating the condition as follows:
- <Box flexGrow={1} flexShrink={1} overflow='hidden' display='flex' ref={ref}> - {!error && totalItemCount > 0 && history.length > 0 && ( + <Box flexGrow={1} flexShrink={1} overflow='hidden' display='flex' ref={ref}> + {!error && totalItemCount > 0 && messages.length > 0 && (This keeps the existing behavior while using the correct data source.
🧹 Nitpick comments (1)
apps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsx (1)
15-147: Import migration is fine; consider fixinghistory.lengthcondition
- Importing
VirtualizedScrollbarsfrom@rocket.chat/ui-clientis consistent with the PR’s goal and matches existing usage.- In the render condition (Line 118),
history.length > 0appears to reference the global browser history rather than the message data and is effectively unrelated to the list. It would be clearer (and less surprising) to either drop that check or replace it with something data-related (for examplemessages.length > 0), depending on the intent.
📜 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 (40)
apps/meteor/client/NavBarV2/NavBarSearch/NavBarSearchListbox.tsx(1 hunks)apps/meteor/client/components/GenericTable/GenericTable.tsx(1 hunks)apps/meteor/client/components/Page/PageScrollableContent.tsx(1 hunks)apps/meteor/client/components/Sidebar/Content.tsx(1 hunks)apps/meteor/client/sidebar/RoomList/RoomList.tsx(1 hunks)apps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomList.tsx(1 hunks)apps/meteor/client/sidebar/search/SearchList.tsx(1 hunks)apps/meteor/client/sidebarv2/RoomList/RoomList.tsx(1 hunks)apps/meteor/client/sidebarv2/header/MatrixFederationSearch/FederatedRoomList.tsx(1 hunks)apps/meteor/client/views/admin/integrations/outgoing/history/OutgoingWebhookHistoryPage.tsx(1 hunks)apps/meteor/client/views/composer/EmojiPicker/CategoriesResult.tsx(1 hunks)apps/meteor/client/views/composer/EmojiPicker/SearchingResult.tsx(1 hunks)apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppInstances/AppInstances.tsx(1 hunks)apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/AppLogs.tsx(1 hunks)apps/meteor/client/views/navigation/sidebar/RoomList/RoomList.tsx(1 hunks)apps/meteor/client/views/navigation/sidepanel/SidePanel.tsx(1 hunks)apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsx(1 hunks)apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoChannels/ContactInfoChannels.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/outlookCalendar/OutlookEventsList/OutlookEventsList.tsx(1 hunks)apps/meteor/client/views/room/body/RoomBody.tsx(1 hunks)apps/meteor/client/views/room/body/RoomBodyV2.tsx(1 hunks)apps/meteor/client/views/room/composer/ComposerBoxPopup.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/Discussions/DiscussionsList.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/MessageListTab.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/MessageSearchTab/components/MessageSearch.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/Threads/ThreadList.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/Threads/components/ThreadMessageList.tsx(1 hunks)apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfList.tsx(1 hunks)apps/meteor/client/views/teams/contextualBar/channels/TeamsChannels.tsx(1 hunks)packages/ui-client/package.json(2 hunks)packages/ui-client/src/components/CustomScrollbars/BaseScrollbars.tsx(1 hunks)packages/ui-client/src/components/CustomScrollbars/CustomScrollbars.tsx(1 hunks)packages/ui-client/src/components/CustomScrollbars/VirtualizedScrollbars.tsx(1 hunks)packages/ui-client/src/components/CustomScrollbars/index.ts(1 hunks)packages/ui-client/src/components/index.ts(1 hunks)
🧰 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:
packages/ui-client/src/components/CustomScrollbars/BaseScrollbars.tsxapps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistory.tsxapps/meteor/client/views/composer/EmojiPicker/CategoriesResult.tsxapps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistoryMessages.tsxapps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfList.tsxapps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/AppLogs.tsxapps/meteor/client/views/navigation/sidebar/RoomList/RoomList.tsxpackages/ui-client/src/components/CustomScrollbars/index.tsapps/meteor/client/components/GenericTable/GenericTable.tsxpackages/ui-client/src/components/index.tsapps/meteor/client/views/omnichannel/contactHistory/MessageList/ContactHistoryMessagesList.tsxapps/meteor/client/views/room/contextualBar/Discussions/DiscussionsList.tsxapps/meteor/client/views/navigation/sidepanel/SidePanel.tsxapps/meteor/client/views/teams/contextualBar/channels/TeamsChannels.tsxapps/meteor/client/sidebarv2/RoomList/RoomList.tsxapps/meteor/client/sidebarv2/header/MatrixFederationSearch/FederatedRoomList.tsxapps/meteor/client/views/outlookCalendar/OutlookEventsList/OutlookEventsList.tsxapps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoChannels/ContactInfoChannels.tsxapps/meteor/client/views/composer/EmojiPicker/SearchingResult.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsxapps/meteor/client/views/room/contextualBar/MessageListTab.tsxapps/meteor/client/components/Sidebar/Content.tsxapps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomList.tsxpackages/ui-client/src/components/CustomScrollbars/CustomScrollbars.tsxapps/meteor/client/views/room/body/RoomBody.tsxpackages/ui-client/src/components/CustomScrollbars/VirtualizedScrollbars.tsxapps/meteor/client/views/room/contextualBar/Threads/ThreadList.tsxapps/meteor/client/views/room/body/RoomBodyV2.tsxapps/meteor/client/views/admin/integrations/outgoing/history/OutgoingWebhookHistoryPage.tsxapps/meteor/client/views/room/contextualBar/MessageSearchTab/components/MessageSearch.tsxapps/meteor/client/sidebar/search/SearchList.tsxapps/meteor/client/views/room/composer/ComposerBoxPopup.tsxapps/meteor/client/NavBarV2/NavBarSearch/NavBarSearchListbox.tsxapps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppInstances/AppInstances.tsxapps/meteor/client/components/Page/PageScrollableContent.tsxapps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.tsxapps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.tsxapps/meteor/client/sidebar/RoomList/RoomList.tsxapps/meteor/client/views/room/contextualBar/Threads/components/ThreadMessageList.tsx
🧠 Learnings (5)
📚 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/marketplace/AppDetailsPage/tabs/AppLogs/AppLogs.tsxapps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppInstances/AppInstances.tsxapps/meteor/client/components/Page/PageScrollableContent.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/views/navigation/sidebar/RoomList/RoomList.tsxapps/meteor/client/sidebarv2/RoomList/RoomList.tsxapps/meteor/client/sidebarv2/header/MatrixFederationSearch/FederatedRoomList.tsxapps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsxapps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomList.tsxapps/meteor/client/views/room/body/RoomBody.tsxapps/meteor/client/views/room/body/RoomBodyV2.tsxapps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.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/sidebarv2/header/MatrixFederationSearch/FederatedRoomList.tsxapps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomList.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/FederatedRoomList.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:
packages/ui-client/package.json
⏰ 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). (2)
- GitHub Check: 📦 Build Packages
- GitHub Check: CodeQL-Build
🔇 Additional comments (38)
packages/ui-client/src/components/CustomScrollbars/BaseScrollbars.tsx (1)
32-33: LGTM!Trailing newline addition is a good formatting practice. The component implementation correctly wraps content with styled scrollbar overrides.
apps/meteor/client/views/room/composer/ComposerBoxPopup.tsx (1)
3-3: LGTM!Import correctly updated to use the centralized
CustomScrollbarsfrom@rocket.chat/ui-client. Usage remains consistent with the component's API.packages/ui-client/src/components/CustomScrollbars/VirtualizedScrollbars.tsx (1)
42-43: LGTM!Trailing newline addition is appropriate. The virtualized scrollbar implementation correctly integrates with overlay scrollbars.
packages/ui-client/src/components/CustomScrollbars/CustomScrollbars.tsx (1)
49-50: LGTM!Trailing newline addition follows file formatting conventions. The component properly manages scrollbar lifecycle and ref forwarding.
apps/meteor/client/views/room/contextualBar/Threads/components/ThreadMessageList.tsx (1)
5-5: LGTM!Import successfully migrated to
@rocket.chat/ui-client. The thread message list continues to useCustomScrollbarswith the same props and behavior.apps/meteor/client/views/room/body/RoomBodyV2.tsx (1)
2-2: LGTM!The import path change from local CustomScrollbars to the ui-client package is correct and aligns with the PR objective to consolidate scrollbar components.
apps/meteor/client/views/teams/contextualBar/channels/TeamsChannels.tsx (1)
5-5: LGTM!The import path change for VirtualizedScrollbars is correct and consistent with the PR's goal to move scrollbar components to the ui-client package.
packages/ui-client/src/components/index.ts (1)
20-20: LGTM!The new export makes CustomScrollbars and VirtualizedScrollbars available from the ui-client package, enabling the migration from local imports.
apps/meteor/client/views/admin/integrations/outgoing/history/OutgoingWebhookHistoryPage.tsx (1)
2-2: LGTM!The import path change is correct and maintains the existing functionality.
apps/meteor/client/views/navigation/sidepanel/SidePanel.tsx (1)
3-3: LGTM!The import path change for VirtualizedScrollbars is correct and aligns with the migration to ui-client.
apps/meteor/client/views/composer/EmojiPicker/CategoriesResult.tsx (1)
3-3: LGTM!The import path change is correct and maintains existing behavior.
apps/meteor/client/sidebarv2/header/MatrixFederationSearch/FederatedRoomList.tsx (1)
3-3: LGTM!The import path change is correct and consistent with the migration.
apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsx (1)
5-5: Migration successfully completed.All verification checks pass:
- ✓ No remaining imports from old
apps/meteor/client/components/CustomScrollbarspaths- ✓ Old component files have been removed from
apps/meteor/client- ✓
VirtualizedScrollbarsis properly exported from@rocket.chat/ui-clientpackage- ✓ Required dependencies (
overlayscrollbars,overlayscrollbars-react) are in placeThe import change from a local component to the centralized ui-client package is correct and complete.
apps/meteor/client/views/room/body/RoomBody.tsx (1)
2-2: CustomScrollbars import migration looks correctSwitching
CustomScrollbarsto@rocket.chat/ui-clientkeeps usage unchanged and aligns this view with the shared UI package; no issues spotted.apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppInstances/AppInstances.tsx (1)
4-100: Shared ui-client imports are consistentUsing
GenericMenuandCustomScrollbarsfrom@rocket.chat/ui-clientcentralizes these UI concerns without changing behavior; this looks good.apps/meteor/client/views/marketplace/AppDetailsPage/tabs/AppLogs/AppLogs.tsx (1)
3-127: App logs scrollbar migration is safeThe change to import
CustomScrollbarsfrom@rocket.chat/ui-clientkeeps the logs layout and behavior the same while aligning with the shared scrollbars package.apps/meteor/client/components/Sidebar/Content.tsx (1)
2-15: Type alias remains aligned with the new CustomScrollbars sourcePointing
CustomScrollbarsto@rocket.chat/ui-clientwhile keepingContentProps = ComponentPropsWithoutRef<typeof CustomScrollbars>correctly preserves the prop surface forContent; no further changes needed.packages/ui-client/package.json (1)
53-71: overlayscrollbars dependency/peerDependency pattern looks correct—confirm consumer coverageAdding
overlayscrollbarsandoverlayscrollbars-reactas pinned devDependencies plus"*"peerDependencies matches the existing pattern for other UI peers in this package and is appropriate for a shared UI lib.Please just confirm that the workspace/root (or consuming app) declares compatible versions of these two packages so peer resolution doesn’t break consumers.
packages/ui-client/src/components/CustomScrollbars/index.ts (1)
1-6: No-op formatting changeExports for
OverlayScrollbars,CustomScrollbars, andVirtualizedScrollbarsare unchanged; the added blank line has no behavioral impact.apps/meteor/client/sidebar/search/SearchList.tsx (1)
6-376: SearchList virtualization now correctly uses ui-client scrollbarsSwitching
VirtualizedScrollbarsto the@rocket.chat/ui-clientexport keeps the Virtuoso-based list logic intact while centralizing scrollbar behavior in the shared UI package.apps/meteor/client/components/GenericTable/GenericTable.tsx (1)
2-2: Import migration forCustomScrollbarslooks correctSwitching the import to
@rocket.chat/ui-clientwhile keeping usage unchanged is consistent with the PR’s goal and should be behavior‑preserving, assuming the component is re‑exported identically from the package.apps/meteor/client/NavBarV2/NavBarSearch/NavBarSearchListbox.tsx (1)
3-3: ConsistentCustomScrollbarsimport migrationThe new
CustomScrollbarsimport from@rocket.chat/ui-clientaligns with the shared scrollbar consolidation and doesn’t affect the existing listbox logic.apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoChannels/ContactInfoChannels.tsx (1)
3-3:VirtualizedScrollbarsimport swap is safeUsing
VirtualizedScrollbarsfrom@rocket.chat/ui-clientaround theVirtuosolist maintains the previous structure and should be a no‑op behaviorally as long as the component is re‑exported compatibly.apps/meteor/client/sidebarv2/RoomList/RoomList.tsx (1)
3-3: Room list scrollbar migration looks correctThe
VirtualizedScrollbarsimport now pointing to@rocket.chat/ui-clientmatches the shared component strategy; usage aroundGroupedVirtuosoremains identical.apps/meteor/client/views/room/contextualBar/Discussions/DiscussionsList.tsx (1)
4-4: Discussions list uses sharedVirtualizedScrollbarscorrectlyThe import source change to
@rocket.chat/ui-clientkeeps the sameVirtualizedScrollbarsusage and should not alter runtime behavior.apps/meteor/client/views/omnichannel/cannedResponses/contextualBar/CannedResponse/CannedResponseList.tsx (1)
4-4: Canned responses list scrollbar import updated correctlyThe switch to
VirtualizedScrollbarsfrom@rocket.chat/ui-clientis consistent with the shared component migration and leaves the Virtuoso setup intact.apps/meteor/client/views/omnichannel/contactInfo/tabs/ContactInfoHistory/ContactInfoHistory.tsx (1)
5-5: History listVirtualizedScrollbarsmigration aligns with PR goalImporting
VirtualizedScrollbarsfrom@rocket.chat/ui-clientwhile keeping its usage aroundVirtuosoidentical fulfills the package‑level consolidation without impacting behavior.apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfList.tsx (1)
4-4: LGTM! Import source updated correctly.The migration of
VirtualizedScrollbarsto the@rocket.chat/ui-clientpackage is clean, with no changes to usage or behavior.apps/meteor/client/views/room/contextualBar/RoomFiles/RoomFiles.tsx (1)
4-4: LGTM! Import source updated correctly.The migration of
VirtualizedScrollbarsto the@rocket.chat/ui-clientpackage is consistent with the broader refactoring.apps/meteor/client/views/room/contextualBar/MessageListTab.tsx (1)
5-5: LGTM! Import source updated correctly.The migration aligns with the PR objective of consolidating scrollbar components into the
ui-clientpackage.apps/meteor/client/sidebar/header/MatrixFederationSearch/FederatedRoomList.tsx (1)
3-3: LGTM! Import source updated correctly.The refactoring maintains consistent usage of
VirtualizedScrollbarswith no behavioral changes.apps/meteor/client/views/room/contextualBar/MessageSearchTab/components/MessageSearch.tsx (1)
3-3: LGTM! Import source updated correctly.The migration is clean and maintains the existing virtualization behavior.
apps/meteor/client/views/room/contextualBar/Threads/ThreadList.tsx (1)
4-4: LGTM! Import source updated correctly.The refactoring maintains consistent usage patterns across the codebase.
apps/meteor/client/components/Page/PageScrollableContent.tsx (1)
2-3: LGTM! Type and component imports updated correctly.Both the
OverlayScrollbarstype andCustomScrollbarscomponent are now properly sourced from theui-clientpackage.apps/meteor/client/views/composer/EmojiPicker/SearchingResult.tsx (1)
1-1: The import statement is correct; bothEmojiPickerNotFoundandVirtualizedScrollbarsare intentionally exported from@rocket.chat/ui-client.Verification confirms that both components are properly exported from the ui-client package:
VirtualizedScrollbarsis exported frompackages/ui-client/src/components/CustomScrollbars/index.tsEmojiPickerNotFoundis exported frompackages/ui-client/src/components/EmojiPicker/index.tsBoth are accessible through the main package barrel export (
export * from './components'), making the import statement valid and intentional.apps/meteor/client/views/outlookCalendar/OutlookEventsList/OutlookEventsList.tsx (1)
3-3: Import path change is consistent with the scrollbar consolidationSwitching
VirtualizedScrollbarsto@rocket.chat/ui-clientwhile keeping usage unchanged matches the goal of centralizing these components and should be behavior‑preserving.apps/meteor/client/views/navigation/sidebar/RoomList/RoomList.tsx (1)
3-3: Room list now correctly uses sharedVirtualizedScrollbarsfromui-clientThe import swap to
@rocket.chat/ui-clientkeeps the existingGroupedVirtuosointegration intact and aligns this RoomList with the new shared scrollbar implementation.apps/meteor/client/sidebar/RoomList/RoomList.tsx (1)
5-5: Sidebar RoomList import updated to sharedVirtualizedScrollbarsUsing
VirtualizedScrollbarsfrom@rocket.chat/ui-clienthere matches the rest of the app and keeps the Virtuoso list behavior unchanged.
MartinSchoeler
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.
man I love meteor
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #37619 +/- ##
===========================================
- Coverage 68.81% 68.80% -0.01%
===========================================
Files 3361 3361
Lines 114278 114265 -13
Branches 20619 20619
===========================================
- Hits 78645 78625 -20
- Misses 33534 33543 +9
+ Partials 2099 2097 -2
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Proposed changes (including videos or screenshots)
Issue(s)
VGA-93
Steps to test or reproduce
Further comments
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.