chore(deps): upgrade @rocket.chat/fuselage 0.58.0 → 0.78.0#3346
chore(deps): upgrade @rocket.chat/fuselage 0.58.0 → 0.78.0#3346jeanfbrito wants to merge 6 commits into
Conversation
|
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 ignored due to path filters (1)
📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (1)
🚧 Files skipped from review as they are similar to previous changes (2)
📜 Recent review details⏰ 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)
WalkthroughThis PR upgrades Rocket.Chat Fuselage dependencies from 0.58.0 to 0.78.0 and refactors two UI components to use the new Fuselage API: SideBar replaces ChangesFuselage dependency upgrade and component API migration
🎯 2 (Simple) | ⏱️ ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
src/ui/components/SideBar/index.tsxESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox. src/ui/components/SupportedVersionDialog/index.tsxESLint skipped: the ESLint configuration for this file references a package that is not available in the sandbox. 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 |
…selage 0.78 Fuselage 0.78's Scrollable calls useStableCallback from fuselage-hooks, which only exists in hooks 0.41+. The stale 0.33.1 pin caused a runtime TypeError (useStableCallback is not a function) crashing the renderer at startup. css-in-js bumped to satisfy fuselage's ^0.32.0 requirement. The type gate passed because tsc compiled against the old hooks types; the missing export only surfaces at runtime symbol resolution.
c2ffcf7 to
b3760ed
Compare
Summary
Upgrades
@rocket.chat/fuselagefrom 0.58.0 → 0.78.0 (latest stable), along with the companion packages it depends on at that version. The bump was performed incrementally across the version ladder so each set of breaking changes could be isolated, migrated, and verified independently rather than in a single high-risk jump.0.78.0is the newest published stable release;0.78.1appears in the changelog but is not yet on the npm registry.Approach
The upgrade was walked in four-minor hops, each landing as its own commit, with
tsc --noEmitacting as the breaking-change detector and a token/literal lint gate ensuring no new hardcoded design values were introduced:Modalcompound API removedModal.Header/.Icon/.HeaderText/.Title/.Close/.Content/.Footer/.FooterControllers→ top-level named exports (ModalHeader,ModalIcon, …)MenuV2promoted toMenuMenuV2import + JSX →MenuCompanion package alignment
Fuselage's sibling packages are versioned independently and had to be advanced to match what 0.78 requires at runtime:
@rocket.chat/fuselage-hooks~0.33.1→~0.41.0— fuselage 0.78'sScrollablecallsuseStableCallback, which only exists in hooks 0.41+. The stale pin type-checked cleanly (the compiler resolved the old hooks declarations) but threwTypeError: useStableCallback is not a functionin the renderer at startup, caught by the app's error boundary. Verified live inyarn startbefore and after the fix.@rocket.chat/css-in-js~0.31.25→~0.32.0— satisfies fuselage 0.78's^0.32.0requirement.Code changes
src/ui/components/SupportedVersionDialog/index.tsx— migrated from the removedModal.*compound API to the current top-levelModal*named exports.src/ui/components/SideBar/index.tsx— renamedMenuV2→Menufollowing its promotion in 0.72.0.package.json/yarn.lock—@rocket.chat/fuselage→0.78.0, plus the companion-package bumps above.The app uses none of the deprecated namespaces removed in this range (
Message.*removed in 0.71;Option.*/Options.*/Avatar.*/Field.*removed in 0.67), and there is no direct use ofuseEffectEvent(renamed touseStableCallbackin 0.72).@rocket.chat/fuselage-polyfills@0.31.25continues to resolve as a standalone package and remains pinned.Verification
tsc --noEmit— clean (0 errors) on the target version.styles.*violations left untouched as out of scope.yarn build+ app launch verified: the startup crash is resolved and the renderer mounts cleanly. Remaining log entries are environmental only (no local server running / QA-server certificate), unrelated to this change.yarn start; the application renders and behaves correctly across the affected surfaces.Behavioral notes (reviewer attention)
The type checker cannot detect rendering-level changes. The following landed in this version range and were covered by the manual visual pass; reviewers may want to confirm on their own surfaces:
SupportedVersionDialog.SelectinsideModal/Field— a scrollHeight regression was introduced in 0.77.0; the fix ships in the unreleased 0.78.1 patch. Worth a follow-up bump once published.SidebarItempadding / visual regressions — several patches in the 0.66.x range.Summary by CodeRabbit