Skip to content

chore: upgrade MUI to v9.1.0#163

Merged
rchalamala merged 2 commits into
devin/1781145070-lazy-term-catalogsfrom
devin/1781144786-mui-9-upgrade
Jun 11, 2026
Merged

chore: upgrade MUI to v9.1.0#163
rchalamala merged 2 commits into
devin/1781145070-lazy-term-catalogsfrom
devin/1781144786-mui-9-upgrade

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Summary

Upgrades @mui/material and @mui/icons-material from 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 *Outline icon duplicates, so HelpButton.tsx now imports HelpOutlined instead of HelpOutline (identical SVG). The components in use (Dialog, Collapse, IconButton, Switch, other icons) are unaffected; Dialog already uses the slotProps API. Emotion peer deps (@emotion/react/@emotion/styled 11.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)

Before (MUI 7.3.11) After (MUI 9.1.0)
Before: initial view After: initial view
Before: help dialog After: help dialog

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


Open in Devin Review

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

Open in Devin Review

Comment thread package.json
Comment on lines +10 to +11
"@mui/icons-material": "^9.1.0",
"@mui/material": "^9.1.0",

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 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.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@devin-ai-integration

Copy link
Copy Markdown
Contributor Author

Test results: MUI 7.3.11 → 9.1.0

Ran the dev server locally for both main (MUI 7) and this PR (MUI 9) and exercised every MUI component the app uses through the UI. No escalations — all tests passed, no visual differences, console clean.

  • It should render help button + open help dialog (renamed HelpOutlined icon) — passed
  • It should add a course and show it on the calendar (CS 1, MWF 14:00, 9 units) — passed
  • It should toggle a course off/on via Switch (calendar cleared / restored) — passed
  • It should unlock via lock IconButton and show arrangement nav (1/1) — passed
  • It should collapse/expand the course card (Collapse) — passed
  • It should open the More Info Dialog (description, prereqs, TQFR rating) — passed
  • It should delete the course via Delete IconButton — passed
  • Browser console: no MUI errors/warnings — passed
Before/After (left = MUI 7 on main, right = MUI 9 on this PR)
Before (MUI 7.3.11) After (MUI 9.1.0)
Before initial After initial
Before help dialog After help dialog
MUI 9 workspace interaction evidence
Course added (Switch on) Switch off (calendar cleared)
Course added Switch off
More Info Dialog After delete
More Info Deleted

Tested in this Devin session.

Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com>
@devin-ai-integration devin-ai-integration Bot force-pushed the devin/1781144786-mui-9-upgrade branch from 6bfb47f to 8e8bdfb Compare June 11, 2026 04:16
@devin-ai-integration devin-ai-integration Bot changed the base branch from main to devin/1781145070-lazy-term-catalogs June 11, 2026 04:16
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jun 11, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

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

devin-ai-integration[bot]

This comment was marked as resolved.

Co-Authored-By: Rahul Chalamala <22563365+rchalamala@users.noreply.github.com>

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 0 new potential issues.

Open in Devin Review

@rchalamala rchalamala merged commit 39cfb1b into devin/1781145070-lazy-term-catalogs Jun 11, 2026
3 checks passed
rchalamala added a commit that referenced this pull request Jun 12, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant