Conversation
Cloud UI recently upgraded lucide-react to ^1.8.0. Because both apps declare lucide-react as a `singleton` in their Module Federation config, the Cloud UI host provides a single instance for the Console remote to consume. With Console pinned at ^0.563.0, the constraints are disjoint and MF resolves to Cloud UI's 1.8.0 — where `Linkedin` no longer exists (removed upstream for trademark reasons) — so Console's footer rendered `undefined` and the entire Console MF mount errored on every cluster route in Cloud UI. Align Console with Cloud UI and drop the now-unexported LinkedIn icon: - package.json: lucide-react ^0.563.0 -> ^1.8.0 - components/icons/index.tsx: remove the `Linkedin as LinkedInIcon` re-export - components/layout/footer.tsx: drop the LinkedIn link and its import
malinskibeniamin
approved these changes
Apr 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Cloud UI bumped
lucide-reactto^1.8.0in cloudv2cfb8f9ff62("align ADP sidebar icons with ADP UI and upgrade lucide-react"). Because both Cloud UI and Console declarelucide-reactassingleton: truein their Module Federation config, MF must resolve to a single instance shared between host and remote. Cloud UI's^1.8.0and Console's^0.563.0are disjoint ranges, so the host's 1.8.0 wins and Console receives it at runtime.The breaking change:
Linkedinwas removed fromlucide-reactv1 (trademark). Console'scomponents/layout/footer.tsxstill importedLinkedin as LinkedInIcon, so on every Console-embedded route in Cloud UI we were rendering anundefinedcomponent. React raised "Element type is invalid… Check the render method of v", theConsoleLoadererror boundary caught it, and the whole cluster view collapsed to the "Failed to load Console" fallback.Federation runtime warning observed in the browser confirming the mismatch:
Changes
frontend/package.json:lucide-react ^0.563.0 → ^1.8.0(matches Cloud UI)frontend/bun.lock: regenerated bybun installfrontend/src/components/icons/index.tsx: remove theLinkedin as LinkedInIconre-export (no replacement exists in lucide v1)frontend/src/components/layout/footer.tsx: drop the LinkedIn social link + its importWhy this repo, not Cloud UI
Cloud UI's upgrade commit explicitly removed its own
LinkedInIconusage (described as "unused"). That was only true inside Cloud UI — Console was still consuming it via the shared singleton. Aligning Console is the right direction, since Cloud UI is the host and all MF consumers (current and future) need to track its lucide-react major.Test plan
bun installinfrontend/bun run type:check— cleanBuild & deploy local Console) and loaded it embedded in Cloud UI at/clusters/:id/*: sidebar, tabs, and footer render without the React element-type errormf-manifest.jsonnow declareslucide-react { requiredVersion: \"^1.8.0\", singleton: true }matching Cloud UIcc @malinskibeniamin — flagging you since
cfb8f9ff62in cloudv2 motivated this. No action needed on your side; posting so the singleton bump story is complete on both sides.