Backend: - validate_load_request rejects a non-.gguf single-file name before the GPU handoff, so a family-looking repo paired with README.md no longer evicts the chat model and only fails in the background load. - detect_family scopes the edit/kontext/inpaint keyword check to the model id or filename basename, not arbitrary parent directories, so a valid text-to-image file under a folder named edit is no longer rejected. - the images gallery listing skips records that fail schema validation, so one corrupt or hand-dropped PNG can no longer 500 the whole endpoint. - _terminate reaps the killed sd-cli child so cancellation and timeout paths do not leak zombie process-table entries. - the images load route gates the chat-eviction handoff on the resolved device being non-CPU, so a CPU-only diffusers fallback no longer evicts a resident chat model for a load that cannot use the GPU. Frontend: - treat Images as a chat-like full-height route (no outer padding or scroll) so its picker is not pushed down and the gallery is not clipped. - allow /images under the chat-only guard so the native CPU/MPS image path is reachable on the no-GPU hosts it was built for. - roll the optimistic quant label back when a same-repo swap fails after the load started, so the selector never advertises a quant that is not loaded. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .gitignore | ||
| .gitkeep | ||
| .npmrc | ||
| biome.json | ||
| components.json | ||
| data-designer.openapi (1).yaml | ||
| eslint.config.js | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||