Fixed
- Repaired the dashboard SPA build, which unblocks the orchestrator container image.
Dockerfilebuildsfrontend/in its first stage, so a frontend build failure fails the whole image and thereforeazd deploy.v4.1.0could not be built at all: buildingv4.0.2exits0, buildingv4.1.0exits1.
Three unrelated dependency bumps, all merged without any CI job that builds the frontend, broke it together:
| # | Package | v4.1.0 |
Fixed to | Failure |
|---|---|---|---|---|
| 1 | react-dom / @types/react-dom |
^18.3.1 |
^19.2.8 / ^19.2.5 |
react moved to 19 while these stayed on 18, so npm install aborted with a fatal ERESOLVE peer conflict |
| 2 | @azure/msal-react |
^5.7.0 |
^3.0.29 |
that version has been unpublished from npm and now returns E404; because the Dockerfile uses npm install rather than npm ci, the lockfile did not protect the build |
| 2 | @azure/msal-browser |
^3.28.1 |
^4.21.0 |
peer requirement of msal-react 3.x |
| 3 | tailwindcss |
^4.3.3 |
^3.4.19 |
v4 is a migration, not a bump: it moves the PostCSS plugin to @tailwindcss/postcss and replaces the @tailwind directives with @import "tailwindcss". Neither postcss.config.js nor src/index.css was migrated, so vite build failed |
@azure/msal-react@3.0.29 is the newest major that accepts React 19 and still exposes navigateToLoginRequestUrl and storeAuthStateInCookie, both removed in 5.x and both used by src/lib/auth.ts. navigateToLoginRequestUrl: false is deliberate, so keeping it means this fix required no application-code change. There is no major 4.
- Regenerated
frontend/package-lock.jsonwithnpm install --package-lock-onlyso it retains every platform-specific optional dependency. A lockfile written by a fullnpm installon Windows prunes them: an earlier attempt at this fix shipped a lock holding 2 of the expected 25@rollup/rollup-*entries, which passedtsc -blocally and only failed on the Linux runner withCannot find module @rollup/rollup-linux-x64-gnu. The published lock has 25@rollup/*and 12@swc/core-*entries.
Added
- A
frontend buildjob in.github/workflows/pr_pipeline.yaml. The frontend had no CI coverage whatsoever, which is the root cause of all three regressions reaching a tagged release. It proved itself immediately by catching the pruned lockfile described above.
Validation
npm installandnpm run buildboth exit0against the publishedfrontend/package.jsonand lockfile.frontend build,tests, andlicense/claall green on #344 before merge;block-pr,CodeQL, and all threeAnalyzejobs green on #345.
Upgrade note
GPT-RAG v3.8.0 pins this component at the unbuildable v4.1.0. Use the umbrella v3.8.1 release, which repins manifest.json to v4.1.1.