-
Notifications
You must be signed in to change notification settings - Fork 85
feat(vscode): Migrate VS Code React app from Fluent UI v8 to v9 components #7588
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
base: main
Are you sure you want to change the base?
Conversation
…nents Migrated 16 files in the VS Code React app from @fluentui/react v8 to @fluentui/react-components v9 equivalents. This modernizes the UI components and aligns with the ongoing LESS to makeStyles migration project. Key component migrations: - Dropdown, SearchBox, Spinner → v9 equivalents - TextField → Input + Field - PrimaryButton/IconButton → Button with appearance/icon props - Shimmer → Skeleton - MessageBar → MessageBar with intent prop - Separator → Divider - Callout → Popover - ShimmeredDetailsList → DataGrid with v9 selection patterns Type updates: - IDropdownOption → Option - Removed DropdownMenuItemType usage - Updated event handler patterns for v9 Build verified successful with no TypeScript errors. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
🤖 AI PR Validation ReportPR Review ResultsThank you for your submission! Here's detailed feedback on your PR title and body compliance:✅ PR Title
❌ Commit Type
❌ Risk Level
❌ What & Why
|
Section | Status | Recommendation |
---|---|---|
Title | ✅ | |
Commit Type | ❌ | Add checklist with one selection (feature ). |
Risk Level | ❌ | Add risk level section/checklist. Use only one. |
What & Why | ❌ | Move/rename explanation under correct heading as per template. |
Impact of Change | Add explicit User/Developer/System impact breakdown. | |
Test Plan | Add checklist for required and optional test types. | |
Contributors | Include/credit contributors section (can be blank). | |
Screenshots/Videos | Add if UI has changed significantly. |
Please update your PR body to follow the template strictly:
- Add/checklist for Commit Type and Risk Level
- Use the correct section headers (
## What & Why
, etc.) - Summarize impact for Users, Developers, and System
- Explicitly use the Test Plan checklist from the template
- Add contributors/credit
- Add screenshots if possible
Once you address these, your PR will pass PR body compliance. Thank you for helping keep team communication and risk awareness clear!
Last updated: Tue, 01 Jul 2025 15:13:46 GMT
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.
Pull Request Overview
This PR migrates the VS Code React app from Fluent UI React v8 to Fluent UI React Components v9 by replacing v8 components with their v9 counterparts, updating imports and types, and aligning event handler patterns.
- Renamed/aliased ThemeProvider and removed
initializeIcons()
- Replaced v8 UI components (
Dropdown
,Spinner
,PrimaryButton
,ShimmeredDetailsList
, etc.) with v9 (Dropdown
,Skeleton
,Button
,DataGrid
, etc.) - Updated event handler signatures and type definitions (
IDropdownOption
→Option
,MessageBarType
→intent
, etc.)
Reviewed Changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
apps/vs-code-react/src/themeProvider.tsx | Aliased v8 ThemeProvider import to FluentV8ThemeProvider |
apps/vs-code-react/src/main.tsx | Removed obsolete initializeIcons() call |
apps/vs-code-react/src/app/unitTest/index.tsx | Swapped in v9 Link and tokens imports |
apps/vs-code-react/src/app/export/workflowsSelection/workflowsSelection.tsx | Replaced ShimmeredDetailsList /Selection with v9 DataGrid |
apps/vs-code-react/src/app/components/searchableDropdown/index.tsx | Migrated custom Dropdown to v9 and simplified filtering logic |
Comments suppressed due to low confidence (1)
apps/vs-code-react/src/app/export/workflowsSelection/workflowsSelection.tsx:153
- The
updateSelectedWorkFlows
action is not imported, which will cause a reference error at runtime. Ensure you import it from the correct Redux slice or use the intended action (updateSelectedItems
).
dispatch(updateSelectedWorkFlows({ selectedWorkflows: selectedItems }));
apps/vs-code-react/src/app/components/searchableDropdown/index.tsx
Outdated
Show resolved
Hide resolved
…/vscode-fluent-ui-v9-migration
…/vscode-fluent-ui-v9-migration
…/vscode-fluent-ui-v9-migration
…/vscode-fluent-ui-v9-migration
- Replace Fluent UI v8 GroupedList with v9 Accordion in reviewList - Replace Shimmer with Skeleton components - Update icons from Icon to react-icons (CheckmarkCircleRegular) - Replace TextField with Field/Input components - Replace ShimmeredDetailsList with DataGrid - Replace PrimaryButton with Button component - Update MessageBar to use intent prop instead of messageBarType - Remove deprecated Fluent UI v8 imports and dependencies 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Remove obsolete reviewList helper.ts with v8 shimmer dependencies - Update searchable dropdown to use CSS grid layout with proper gap spacing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
❌ PR Validation ErrorAn error occurred while validating your PR. Please try again later or contact the maintainers. Error: Bad control character in string literal in JSON at position 1119 |
…/vscode-fluent-ui-v9-migration
- Update onOptionSelect to find and return complete SearchableDropdownOption object - Add useCallback optimization for onOptionSelect handler - Preserve access to key, text, and additional data properties 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…down - Remove unused spinner component from searchableDropdown - Add margin to searchableDropdown container - Simplify export navigation panel button layout with flexbox - Remove redundant CSS classes for cleaner styling 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
…/vscode-fluent-ui-v9-migration
Summary
Key Changes
Component Migrations
Dropdown
,SearchBox
,Spinner
→ v9 equivalents with updated propsTextField
→Input
+Field
patternPrimaryButton
/IconButton
→Button
withappearance
/icon
propsShimmer
→Skeleton
MessageBar
→MessageBar
withintent
propSeparator
→Divider
Callout
→Popover
ShimmeredDetailsList
→DataGrid
with v9 selection patternsType Updates
IDropdownOption
→Option
DropdownMenuItemType
usage (simplified)Removed Dependencies
initializeIcons()
call (not needed in v9)Files Changed
apps/vs-code-react/src/app/components/searchableDropdown/index.tsx
- Complete Dropdown migrationapps/vs-code-react/src/app/export/workflowsSelection/workflowsSelection.tsx
- DataGrid migrationapps/vs-code-react/src/app/export/summary/newResourceGroup.tsx
- Popover + Field patternapps/vs-code-react/src/app/export/navigation/navigation.tsx
- Button migrationTest plan
🤖 Generated with Claude Code