-
Notifications
You must be signed in to change notification settings - Fork 13k
chore: bump fuselage packages #37420
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 |
|
WalkthroughRefined prop types for two omnichannel autocomplete components; updated Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant NavBar as NavBarControlsSection
participant Hooks as Hooks (useOmnichannelEnabled / useMediaCallAction)
participant Render as Renderer
NavBar->>Hooks: read showOmnichannel, callAction
alt Mobile
Hooks-->>NavBar: showOmnichannel / callAction
alt showOmnichannel OR callAction
NavBar->>Render: render NavBarControlsWithData
else
NavBar->>Render: skip NavBarControlsWithData
end
else Non-mobile
NavBar->>Render: render NavBarOmnichannelGroup if showOmnichannel
NavBar->>Render: render NavBarVoipGroup if callAction
NavBar->>Render: render user group always
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes
Files/areas to review closely:
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
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 #37420 +/- ##
===========================================
- Coverage 68.99% 68.96% -0.03%
===========================================
Files 3357 3357
Lines 114243 114252 +9
Branches 20531 20536 +5
===========================================
- Hits 78820 78799 -21
- Misses 33339 33365 +26
- Partials 2084 2088 +4
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
🧹 Nitpick comments (3)
apps/meteor/client/NavBarV2/NavBarPagesSection.tsx (1)
12-18: Consider removing the unnecessary fragment wrapper.The fragment wrapper is redundant since it only contains a single
NavBarGroup.Apply this diff to simplify the structure:
{sidebar.shouldToggle && ( - <> - <NavBarGroup> - <SidebarTogglerV2 /> - </NavBarGroup> - </> + <NavBarGroup> + <SidebarTogglerV2 /> + </NavBarGroup> )}apps/meteor/client/NavBarV2/NavBarVoipGroup/NavBarVoipGroup.tsx (1)
8-11: Redundant hook call - consider passingcallActionas a prop.Both the parent (
NavBarControlsSection, line 18) and this component calluseMediaCallAction(). Since the parent already retrievescallActionto conditionally render this component, consider passing it as a prop to avoid the duplicate hook invocation.Modify the component to accept
callActionas a prop:-const NavBarVoipGroup = () => { +const NavBarVoipGroup = ({ callAction }: { callAction: ReturnType<typeof useMediaCallAction> }) => { const { t } = useTranslation(); - const callAction = useMediaCallAction(); - if (!callAction) { - return null; - } - return ( <NavBarGroup aria-label={t('Voice_Call')}> - <NavBarItem title={callAction.title} icon={callAction.icon} onClick={() => callAction.action()} /> + <NavBarItem title={callAction!.title} icon={callAction!.icon} onClick={() => callAction!.action()} /> </NavBarGroup> ); };Then update the parent component to pass the prop:
{callAction && <NavBarVoipGroup callAction={callAction} />}apps/meteor/client/NavBarV2/NavBarControls/NavBarControlsSection.tsx (1)
34-34: Related:callActioncould be passed as a prop toNavBarVoipGroup.As noted in the review of
NavBarVoipGroup.tsx, this line could be updated to passcallActionas a prop to avoid the child component redundantly callinguseMediaCallAction().
📜 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 selected for processing (5)
apps/meteor/client/NavBarV2/NavBarControls/NavBarControlsSection.tsx(2 hunks)apps/meteor/client/NavBarV2/NavBarNavigation.tsx(1 hunks)apps/meteor/client/NavBarV2/NavBarOmnichannelGroup/NavBarOmnichannelGroup.tsx(2 hunks)apps/meteor/client/NavBarV2/NavBarPagesSection.tsx(1 hunks)apps/meteor/client/NavBarV2/NavBarVoipGroup/NavBarVoipGroup.tsx(2 hunks)
⏰ 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)
- GitHub Check: 📦 Build Packages
- GitHub Check: CodeQL-Build
- GitHub Check: CodeQL-Build
🔇 Additional comments (5)
apps/meteor/client/NavBarV2/NavBarNavigation.tsx (1)
19-24: LGTM - layout adjustment for spacing.The Box wrapper with
mie={8}appropriately adds margin to the history navigation controls on desktop.apps/meteor/client/NavBarV2/NavBarOmnichannelGroup/NavBarOmnichannelGroup.tsx (1)
11-26: LGTM - appropriate refactoring to move gating to parent.The removal of
useOmnichannelEnabledand the conditional early return simplifies this component by delegating visibility control to the parent (NavBarControlsSection). This follows the pattern of parent-controlled rendering while maintaining internal item-level conditionals.apps/meteor/client/NavBarV2/NavBarVoipGroup/NavBarVoipGroup.tsx (1)
13-17: LGTM - simplified structure.The removal of the fragment and divider appropriately simplifies the component structure.
apps/meteor/client/NavBarV2/NavBarControls/NavBarControlsSection.tsx (2)
17-18: Good refactoring - centralizing conditional rendering logic.The addition of these hooks and the conditional rendering of child groups (lines 34-35) appropriately centralizes visibility control in the parent component.
20-30: Verify intentional exclusion of VoIP/Omnichannel groups on mobile.The mobile rendering path doesn't include
NavBarVoipGrouporNavBarOmnichannelGroup, while the desktop path (lines 34-35) conditionally renders them. Confirm this is the intended UX behavior for mobile devices.
02b86b8 to
8a16181
Compare
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: 1
📜 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 (18)
apps/meteor/client/views/omnichannel/components/AutoCompleteDepartmentMultiple.tsx(2 hunks)apps/meteor/client/views/omnichannel/components/AutoCompleteMonitors.tsx(2 hunks)apps/meteor/ee/server/services/package.json(1 hunks)apps/meteor/package.json(2 hunks)apps/uikit-playground/package.json(1 hunks)ee/packages/ui-theming/package.json(1 hunks)packages/core-services/package.json(1 hunks)packages/core-typings/package.json(1 hunks)packages/fuselage-ui-kit/package.json(1 hunks)packages/gazzodown/package.json(1 hunks)packages/storybook-config/package.json(1 hunks)packages/ui-avatar/package.json(1 hunks)packages/ui-client/package.json(1 hunks)packages/ui-composer/package.json(1 hunks)packages/ui-kit/package.json(1 hunks)packages/ui-video-conf/package.json(1 hunks)packages/ui-voip/package.json(1 hunks)packages/web-ui-registration/package.json(1 hunks)
🚧 Files skipped from review as they are similar to previous changes (11)
- packages/core-services/package.json
- packages/ui-client/package.json
- packages/ui-composer/package.json
- apps/meteor/package.json
- packages/gazzodown/package.json
- apps/meteor/ee/server/services/package.json
- packages/ui-avatar/package.json
- apps/meteor/client/views/omnichannel/components/AutoCompleteMonitors.tsx
- packages/storybook-config/package.json
- packages/core-typings/package.json
- apps/meteor/client/views/omnichannel/components/AutoCompleteDepartmentMultiple.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). (3)
- GitHub Check: 📦 Build Packages
- GitHub Check: CodeQL-Build
- GitHub Check: CodeQL-Build
🔇 Additional comments (6)
packages/ui-kit/package.json (1)
43-43: Version update is consistent with PR objective.The devDependency bump to
@rocket.chat/icons@^0.45.0aligns with the broader dependency updates across the monorepo. The peerDependency constraint (line 60) accepts this version.packages/ui-video-conf/package.json (1)
27-27: Dependency versions aligned with peerDependency constraints.Both
@rocket.chat/fuselage(^0.68.1) and@rocket.chat/icons(^0.45.0) devDependency bumps are consistent with the peerDependency declarations (lines 64, 66), which use wildcard version constraints and will accept the new versions.Also applies to: 31-31
apps/uikit-playground/package.json (1)
21-21: Dependency versions bumped consistently.The
@rocket.chat/fuselage(^0.68.1) and@rocket.chat/icons(^0.45.0) production dependency updates align with the PR objective. As a playground app, compatibility is easier to validate locally before merging.Also applies to: 27-27
packages/ui-voip/package.json (1)
35-35: Dependency versions aligned with peer constraints.The
@rocket.chat/fuselage(^0.68.1) and@rocket.chat/icons(^0.45.0) updates are consistent with the PR objective and peerDependency definitions (lines 79, 81).Also applies to: 39-39
ee/packages/ui-theming/package.json (1)
8-8: ---Verify theming compatibility with updated fuselage version.
Both
@rocket.chat/fuselage(^0.68.1) and@rocket.chat/icons(^0.45.0) are updated. Since this is a theming package, confirm that CSS-in-JS and design token changes don't break the theming logic.Verify the build succeeds and tests pass with the new versions:
#!/bin/bash # Verify theming package builds with updated dependencies cd ee/packages/ui-theming yarn install yarn build yarn typecheckEnsure you have Node 22.16.0 or compatible version as required by the project.
Also applies to: 12-12
packages/web-ui-registration/package.json (1)
27-27: @rocket.chat/icons version 0.45.0 does not exist on npm and will cause installation failures.The current version
^0.45.0specified in line 32 is not published on npm—the latest available version is 0.44.0. This must be corrected before merge. Either update to^0.44.0or verify that 0.45.0 will be published as part of this release.In contrast,
@rocket.chat/fuselage0.68.1 (line 27) is valid with no breaking changes.⛔ Skipped due to learnings
Learnt from: CR Repo: RocketChat/Rocket.Chat PR: 0 File: .cursor/rules/test-cases.mdc:0-0 Timestamp: 2025-09-16T22:09:18.041Z Learning: Use Rocket.Chat primary documentation and provided reference files for guidance
58f1d17 to
fed4d9c
Compare
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/package.json (1)
267-267: Inconsistent version specifier for @rocket.chat/icons across the monorepo.Line 267 uses tilde range (
~0.45.0), while other packages in this PR (packages/core-services, packages/ui-video-conf, packages/ui-voip, packages/core-typings) use caret range (^0.45.0). This inconsistency may lead to divergent version resolutions across the workspace.Align with the caret range used elsewhere:
- "@rocket.chat/icons": "~0.45.0", + "@rocket.chat/icons": "^0.45.0",
🧹 Nitpick comments (1)
apps/meteor/client/NavBarV2/NavBarPagesSection.tsx (1)
13-17: Consider removing the redundant fragment.The fragment now wraps only a single child element and can be removed for cleaner code.
Apply this diff to simplify:
{sidebar.shouldToggle && ( - <> - <NavBarGroup> - <SidebarTogglerV2 /> - </NavBarGroup> - </> + <NavBarGroup> + <SidebarTogglerV2 /> + </NavBarGroup> )}
📜 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 (23)
apps/meteor/client/NavBarV2/NavBarControls/NavBarControlsSection.tsx(2 hunks)apps/meteor/client/NavBarV2/NavBarNavigation.tsx(1 hunks)apps/meteor/client/NavBarV2/NavBarOmnichannelGroup/NavBarOmnichannelGroup.tsx(2 hunks)apps/meteor/client/NavBarV2/NavBarPagesSection.tsx(1 hunks)apps/meteor/client/NavBarV2/NavBarVoipGroup/NavBarVoipGroup.tsx(2 hunks)apps/meteor/client/views/omnichannel/components/AutoCompleteDepartmentMultiple.tsx(2 hunks)apps/meteor/client/views/omnichannel/components/AutoCompleteMonitors.tsx(2 hunks)apps/meteor/ee/server/services/package.json(1 hunks)apps/meteor/package.json(1 hunks)apps/uikit-playground/package.json(1 hunks)ee/packages/ui-theming/package.json(1 hunks)packages/core-services/package.json(1 hunks)packages/core-typings/package.json(1 hunks)packages/fuselage-ui-kit/package.json(1 hunks)packages/gazzodown/package.json(1 hunks)packages/storybook-config/package.json(1 hunks)packages/ui-avatar/package.json(1 hunks)packages/ui-client/package.json(1 hunks)packages/ui-composer/package.json(1 hunks)packages/ui-kit/package.json(1 hunks)packages/ui-video-conf/package.json(1 hunks)packages/ui-voip/package.json(1 hunks)packages/web-ui-registration/package.json(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- apps/meteor/ee/server/services/package.json
🚧 Files skipped from review as they are similar to previous changes (15)
- apps/uikit-playground/package.json
- apps/meteor/client/views/omnichannel/components/AutoCompleteDepartmentMultiple.tsx
- packages/web-ui-registration/package.json
- packages/ui-kit/package.json
- apps/meteor/client/NavBarV2/NavBarControls/NavBarControlsSection.tsx
- packages/ui-composer/package.json
- packages/ui-avatar/package.json
- apps/meteor/client/NavBarV2/NavBarVoipGroup/NavBarVoipGroup.tsx
- apps/meteor/client/views/omnichannel/components/AutoCompleteMonitors.tsx
- ee/packages/ui-theming/package.json
- packages/ui-client/package.json
- apps/meteor/client/NavBarV2/NavBarNavigation.tsx
- packages/fuselage-ui-kit/package.json
- packages/gazzodown/package.json
- packages/storybook-config/package.json
🧰 Additional context used
🧠 Learnings (2)
📚 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/package.json
📚 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/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). (3)
- GitHub Check: 📦 Build Packages
- GitHub Check: CodeQL-Build
- GitHub Check: CodeQL-Build
🔇 Additional comments (6)
packages/core-services/package.json (1)
40-40: Dependency version update is consistent with the broader PR changes.The caret range (
^0.45.0) aligns with version specifiers used across other packages in this PR.packages/ui-video-conf/package.json (1)
27-27: Dependency version updates are consistent and appropriate.Both
@rocket.chat/fuselageand@rocket.chat/iconsare updated to caret ranges, allowing compatible minor/patch updates. The peerDependencies remain correctly specified with wildcard versions (lines 64, 66).Also applies to: 31-31
packages/ui-voip/package.json (1)
35-35: Dependency version updates are consistent and appropriate.Both
@rocket.chat/fuselageand@rocket.chat/iconsare updated to caret ranges matching the pattern across the PR. The peerDependencies remain correctly specified with wildcard versions (lines 79, 81).Also applies to: 39-39
packages/core-typings/package.json (1)
34-34: Dependency version update is consistent with the broader PR changes.The caret range (
^0.45.0) aligns with version specifiers used across other packages in this PR.apps/meteor/client/NavBarV2/NavBarPagesSection.tsx (1)
1-1: LGTM! Import cleanup is correct.The removal of
NavBarDividerfrom imports is consistent with its removal from the component.apps/meteor/client/NavBarV2/NavBarOmnichannelGroup/NavBarOmnichannelGroup.tsx (1)
11-26: Feature gating properly implemented at parent level—code changes are correct.Verification confirms that
NavBarControlsSectionproperly gates access toNavBarOmnichannelGroupusinguseOmnichannelEnabled()(line 18) before rendering it (line 35). The architectural shift to parent-level gating is sound, simplifying the child component while maintaining proper feature access control. The conditional rendering of call-related features within the component is preserved correctly.
Proposed changes (including videos or screenshots)
bump @rocket.chat/fuselage
release changes
bump @rocket.chat/icons
release changes
Issue(s)
Steps to test or reproduce
Further comments
CORE-1527
Summary by CodeRabbit
Chores
Refactor
User Interface