feat(intelligent-assistant): slim MF sync bundles (RHIDP-15550) - #4764
rohitratannagar wants to merge 13 commits into
Conversation
Changed Packages
|
95e189f to
a5b99e5
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #4764 +/- ##
=======================================
Coverage 63.94% 63.94%
=======================================
Files 2705 2714 +9
Lines 108465 108549 +84
Branches 30398 30396 -2
=======================================
+ Hits 69353 69408 +55
- Misses 37342 37370 +28
- Partials 1770 1771 +1
*This pull request uses carry forward flags. Click here to find out more. Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 5:04 PM UTC · Completed 5:26 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $6.35 |
|
Risk Assessment: moderate (2/5) DetailsModerate risk: a large-blast-radius MF refactor across 17 files with active multi-author churn and sparse test coverage, offset by no security, CI, or dependency exposure and a well-scoped performance objective. |
ReviewFindingsMedium
Low
Next steps:
|
There was a problem hiding this comment.
Note: The following review comments could not be posted on the diff (GitHub returned 422) and are included here instead:
workspaces/intelligent-assistant/plugins/intelligent-assistant/src/components/__tests__/LightspeedDrawerProvider.test.tsx(file-level): Line 79 · [low] test coverage
The test mocks ../LightspeedChatContainer but LightspeedDrawerProvider no longer imports it directly. The mock works indirectly via LightspeedOverlayChat but the relationship is fragile and non-obvious.
19bd51e to
805dfaa
Compare
There was a problem hiding this comment.
- In slow network, when the FAB is clicked, the empty chatbot with loader is displayed after several seconds
Screen.Recording.2026-09-18.at.12.44.33.PM.mov
Also, could you check the drawer? It might need a progress bar as well.
- In the
useLightspeedProviderStatehookChatbotDisplayModeis imported from PF chatbot
import { ChatbotDisplayMode } from '@patternfly/chatbot';
The hook lives in the LightspeedDrawerProvider async chunk, so PF is not on the sync graph, but it is loaded on every page mount (with the FAB), not on chat open.
Could you try moving ChatbotDisplayMode to a local enum/const in const.ts if the enum values are stable. That could slim the always-loaded FAB chunk further.
…ranslations RHIDP-15550: split entry modules and lazy-load chat so remotes no longer pull the full plugin graph at load time. Co-authored-by: Cursor <cursoragent@cursor.com>
Revert FAB z-index to pre-MUI v5 so ChatbotModal sits above the button, and re-measure anchor vars when the overlay opens. Co-authored-by: Cursor <cursoragent@cursor.com>
376f348 to
a0ed95c
Compare
Share one critical FAB async chunk, keep FAB/translations off the NFS index expose, use a local ChatbotDisplayMode on the FAB path, and show progress while overlay/drawer chat chunks load. Assisted-by: Composer Co-authored-by: Cursor <cursoragent@cursor.com>
a0ed95c to
4e8eefb
Compare
…lure Keep PF CSS out of the always-mounted notebook stream store and share one overlay CSS chunk so css-extract-rspack-plugin no longer fails under CI. Assisted-by: Composer Co-authored-by: Cursor <cursoragent@cursor.com>
Drop prettier-only whitespace drift introduced during the upstream merge. Co-authored-by: Cursor <cursoragent@cursor.com>
its-mitesh-kumar
left a comment
There was a problem hiding this comment.
/lgtm
S_.2026-09-21.at.1.mp4
…trict mode Stop waitForChatbotVisible from navigating to the fullscreen IA route while the overlay mounts, and match the settings tab button with exact: true. Signed-off-by: HusneShabbir <husneshabbir447@gmail.com> Assisted-by: Composer Co-authored-by: Cursor <cursoragent@cursor.com>
|
New changes are detected. LGTM label has been removed. |
Run permission gating on dedicated ports so the suite cannot reuse a main e2e/yarn start instance without permission.enabled, and arm the authorize waiter before navigation to avoid races. Assisted-by: Composer Co-authored-by: Cursor <cursoragent@cursor.com>
|



Ticket
RHIDP-15550 — Reduce Intelligent Assistant Module Federation synchronous payload for NFS main entry, FAB remote, and translations remote.
Problem
FAB and translations MF exposes previously resolved through
index.tsx, so each remote pulled the full plugin graph (chat UI, Patternfly CSS, FAB modules, translations) into the sync bundle. The NFS.expose was ~3.7 MB across 6 synchronous chunks before this change.Overall impact (post
plugin export, sync chunks only).(PluginRoot)IntelligentAssistantFABModuleIntelligentAssistantTranslationsModuleHeavy chat/Patternfly assets move to async chunks loaded when the user opens chat (drawer or overlay). OFS
legacyentry remains a thin lazy re-export surface.What each file does
src/index.tsxsrc/fabModule.tsxLazyLightspeedFabRootWrapper).src/translationsModule.tsxindex.tsx).src/lightspeedFABModuleExport.tsfabModule.tsx.src/lightspeedTranslationsModuleExport.tstranslationsModule.tsx.src/lazy/LazyLightspeedFabRootWrapper.tsxReact.lazyboundary for drawer provider + FAB shell.src/lazy/LazyLightspeedChatDrawerContent.tsxLightspeedChatContainer.src/components/LightspeedOverlayChat.tsxChatbotModal+ chat; lazy-loaded from drawer provider.src/components/LightspeedDrawerProvider.tsxsrc/components/LightspeedChatContainer.tsxloadChatPatternflyStyles.src/loadChatPatternflyStyles.tssrc/muiClassNameConfig.tssrc/legacy.tsTest plan
yarn testinplugins/intelligent-assistant(882 tests)yarn build/ workspace plugin export; confirmmf-manifest.jsonsync sizes for., FAB, and translations exposesMade with Cursor