feat: Migrate sidebar room list to Virtua#41036
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 |
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
🚧 Files skipped from review as they are similar to previous changes (6)
📜 Recent review details⏰ Context from checks skipped due to timeout. (1)
WalkthroughIntroduces a new generic ChangesSidebarVirtualList component, RoomList integration, and tests
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (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.
1 issue found across 8 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #41036 +/- ##
===========================================
- Coverage 70.19% 70.15% -0.04%
===========================================
Files 3360 3361 +1
Lines 129668 129915 +247
Branches 22485 22481 -4
===========================================
+ Hits 91017 91144 +127
- Misses 35339 35458 +119
- Partials 3312 3313 +1
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Proposed changes
This PR migrates the v1 sidebar room list from
react-virtuosoto a reusable Virtua-based implementation.Changes include:
SidebarVirtualListcomponent underapps/meteor/client/sidebar/componentsGroupedVirtuoso,VirtualizedScrollbars, anduseResizeObserverinapps/meteor/client/sidebar/RoomListRoomListWrapperto support Virtua container props, refs, and styles while keeping the room list accessibleSidebarVirtualList,RoomListrow mapping, andRoomListWrapperThe goal is to align the sidebar with the new Virtua-based virtualization approach while keeping the scope limited to the v1 sidebar implementation.
Issue(s)
Part of the Virtua migration work for Rocket.Chat lists and navigation surfaces.
COMM-176
Steps to test or reproduce
Run:
yarn testunit --testPathPattern='client/sidebar'yarn workspace @rocket.chat/meteor typecheckyarn buildFurther comments
This migration is intentionally scoped only to
apps/meteor/client/sidebarand does not modify:secondarySidebar)PaginatedVirtualListThe sidebar room list is backed by the local subscription store and does not use pagination or infinite loading, so this PR introduces a dedicated
SidebarVirtualListinstead of reusingPaginatedVirtualList.After syncing with the latest
upstream/develop, there are existing typecheck failures outside the scope of this PR, including:rooms.joinREST typingsMediaCallProvidercontext type mismatchThese failures are reproducible on a clean checkout of
upstream/developand are unrelated to the sidebar migration.Summary by CodeRabbit
Summary
New Features
Refactor
Tests
Documentation