Commit 9d0b251
feat: surface missing models in Error Tab for OSS and remove legacy dialog (#9921)
## Summary
- Surface missing models in the Error Tab for OSS environments,
replacing the legacy modal dialog
- Add Download button per model and Download All button in group header
with file size display
- Move download business logic from `components/dialog/content` to
`platform/missingModel`
- Remove legacy missing models dialog components and composable
## Changes
- **Pipeline**: Remove `isCloud` guard from `scanAllModelCandidates` and
`surfaceMissingModels` so OSS detects missing models
- **Grouping**: Group non-asset-supported models by directory in OSS
instead of lumping into UNSUPPORTED
- **UI**: Add Download button (matching Install Node Pack design) and
Download All header button
- **Store**: Add `folderPaths`/`fileSizes` state with setter methods,
race condition guard
- **Cleanup**: Delete `MissingModelsContent`, `MissingModelsHeader`,
`MissingModelsFooter`, `useMissingModelsDialog`, `missingModelsUtils`
- **Tests**: Add OSS/Cloud grouping tests, migrate Playwright E2E to
Error Tab, improve test isolation
- **Snapshots**: Reset Playwright screenshot expectations since OSS
missing model error detection now causes red highlights on affected
nodes
- **Accessibility**: Add `aria-label` with model name, `aria-expanded`
on toggle, warning icon for unknown category
## Test plan
- [x] Unit tests pass (86 tests)
- [x] TypeScript typecheck passes
- [x] knip passes
- [x] Load workflow with missing models in OSS → Error Tab shows missing
models grouped by directory
- [x] Download button triggers browser download with correct URL
- [x] Download All button downloads all downloadable models
- [x] Cloud environment behavior unchanged
- [x] Playwright E2E: `pnpm test:browser:local -- --grep "Missing models
in Error Tab"`
## Screenshots
https://github.com/user-attachments/assets/12f15e09-215a-4c58-87ed-39bbffd1359c
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-9921-feat-surface-missing-models-in-Error-Tab-for-OSS-and-remove-legacy-dialog-3236d73d365081f0a9dfc291978f5ecf)
by [Unito](https://www.unito.io)
---------
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: github-actions <github-actions@github.com>1 parent 0cd7579 commit 9d0b251
File tree
141 files changed
+482
-626
lines changed- browser_tests
- fixtures
- tests
- colorPalette.spec.ts-snapshots
- copyPaste.spec.ts-snapshots
- graphCanvasMenu.spec.ts-snapshots
- interaction.spec.ts-snapshots
- loadWorkflowInMedia.spec.ts-snapshots
- lodThreshold.spec.ts-snapshots
- mobileBaseline.spec.ts-snapshots
- nodeBadge.spec.ts-snapshots
- nodeSearchBox.spec.ts-snapshots
- recordAudio.spec.ts-snapshots
- rerouteNode.spec.ts-snapshots
- rightClickMenu.spec.ts-snapshots
- selectionToolbox.spec.ts-snapshots
- viewport.spec.ts-snapshots
- vueNodes
- groups/groups.spec.ts-snapshots
- interactions
- canvas
- pan.spec.ts-snapshots
- zoom.spec.ts-snapshots
- node/move.spec.ts-snapshots
- nodeStates
- bypass.spec.ts-snapshots
- colors.spec.ts-snapshots
- mute.spec.ts-snapshots
- widget.spec.ts-snapshots
- src
- components
- dialog/content
- rightSidePanel/errors
- composables
- graph
- locales/en
- platform
- missingModel
- components
- workflow/core/services
- scripts
- stores
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
141 files changed
+482
-626
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
434 | | - | |
435 | | - | |
436 | | - | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
437 | 437 | | |
438 | 438 | | |
439 | 439 | | |
| |||
0 commit comments