chore: upgrade MUI to v9.1.0#163
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
| "@mui/icons-material": "^9.1.0", | ||
| "@mui/material": "^9.1.0", |
There was a problem hiding this comment.
🚩 MUI v7→v9 is a major version jump skipping v8
The PR bumps @mui/icons-material and @mui/material from ^7.3.11 directly to ^9.1.0, skipping major version 8 entirely. While TypeScript compilation passes and all current imports resolve correctly, skipping a major version means two sets of breaking changes and migration guides apply. There may be subtle runtime behavioral changes (e.g., default prop values, styling/theming changes, accessibility attributes) that wouldn't surface at compile time. Worth verifying visually that components like Collapse, Switch, IconButton, and Dialog render and behave as expected.
Was this helpful? React with 👍 or 👎 to provide feedback.
There was a problem hiding this comment.
Verified visually: ran the app on both MUI 7 (main) and MUI 9 (this branch) side by side and exercised Dialog (help + More Info), Collapse, Switch, and all IconButtons through the UI — identical rendering and behavior, no console errors. Note MUI Core has no v8 release on npm (versions go 7.3.11 → 9.0.0-alpha.0), so only the single v7→v9 migration guide applies; the only relevant breaking change was the removed HelpOutline icon alias, handled in this PR. Full evidence in the test results comment.
Test results: MUI 7.3.11 → 9.1.0Ran the dev server locally for both
MUI 9 workspace interaction evidence
Tested in this Devin session. |
Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com>
6bfb47f to
8e8bdfb
Compare
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
caltech-dev | ecff48c | Commit Preview URL Branch Preview URL |
Jun 11 2026, 04:22 AM |
Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com>
39cfb1b
into
devin/1781145070-lazy-term-catalogs
…catalogs, MUI 9, dep-shedding (#166) * deps: bump vite to 7.3.5, wrangler to 4.98.0; npm audit clean Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: upgrade toolchain majors (TypeScript 6, Vite 8, svgr 5, tsconfig-paths 6) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * perf: lazy-load term catalogs and split vendor chunks Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: no-op workspace mutations while term catalog is loading Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: log error when term catalog fails to load Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: sync catalog state before paint when the term changes Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * build: use function-form manualChunks for rolldown compatibility Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: upgrade MUI to v9.1.0 (HelpOutline -> HelpOutlined icon rename) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: use HelpOutlineOutlined to preserve original HelpOutline glyph Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: re-sync search options after async catalog load Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: key search option re-sync on catalog identity Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: upgrade toolchain majors (TypeScript 6, Vite 8, svgr 5, tsconfig-paths 6) (#165) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * perf: lazy-load term catalogs + vendor code splitting (8.2 MB → ~1.0 MB initial JS) (#164) * perf: lazy-load term catalogs and split vendor chunks Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: no-op workspace mutations while term catalog is loading Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: log error when term catalog fails to load Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: sync catalog state before paint when the term changes Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * build: use function-form manualChunks for rolldown compatibility Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: re-sync search options after async catalog load Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: key search option re-sync on catalog identity Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: upgrade MUI to v9.1.0 (#163) * chore: upgrade MUI to v9.1.0 (HelpOutline -> HelpOutlined icon rename) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: use HelpOutlineOutlined to preserve original HelpOutline glyph Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * Replace flatpickr and react-select with native/MUI inputs, bump auto-animate (#167) Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * build: pin wrangler to exact 4.98.0 (4.99+ wrangler dev assets 404 regression) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * chore: gitignore .wrangler local dev cache Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * review: restore Icon gitignore CRs, drop stale lightningcss errorRecovery (flatpickr removed) Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> * fix: alert instead of silent no-op for Import Workspace / Default Schedule while catalog loads Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com>
Summary
Upgrades
@mui/materialand@mui/icons-materialfrom 7.3.11 to 9.1.0. MUI Core skipped v8 entirely (npm registry goes 7.3.11 → 9.0.0-alpha.0), so this follows the official v7 → v9 migration guide directly — there is no v8 codemod/migration step to apply.Only one breaking change applies to this codebase: v9 removed the 23 legacy
*Outlineicon duplicates, soHelpButton.tsxnow importsHelpOutlinedinstead ofHelpOutline(identical SVG). The components in use (Dialog,Collapse,IconButton,Switch, other icons) are unaffected;Dialogalready uses theslotPropsAPI. Emotion peer deps (@emotion/react/@emotion/styled11.14) remain compatible with v9.Diff is scoped to MUI packages only — no other dependency changes.
npm run verify(oxlint + prettier check + tsc + vite build) passes.Screenshots (before = main / MUI 7, after = this PR / MUI 9)
Additional v9 runtime checks: course add → calendar render, Switch toggle, lock/unlock + arrangement nav, Collapse, More Info Dialog, delete — all working (see test results comment).
Link to Devin session: https://app.devin.ai/sessions/dd92eceea518489ab781f9e9da3e5c30
Requested by: @rchalamala