unsloth/studio/backend
Daniel Han 11612f6dc9 studio: fix GGUF download UX -- progress bar, cancel, sorting, auto-scroll
- Run GGUF load_model in asyncio.to_thread so the event loop stays free
  for progress polling during download (was blocking all requests).
- Extract download phase out of the lock in LlamaCppBackend.load_model
  so unload_model/cancel can take effect immediately during download.
- Fix "downloaded" badge for split GGUFs: check total cached bytes
  across all shards vs expected size, not just first shard existence.
- Respect CUDA_VISIBLE_DEVICES in /api/system GPU reporting so the
  frontend GGUF fit estimation uses actual available VRAM.
- Sort tight variants (need CPU offload) smallest-first instead of
  largest-first -- closer to GPU budget = faster inference.
- Fix cancel: use refs instead of React state for abort controller and
  toast ID so both cancel buttons (text + toast) work reliably. Make
  cancel synchronous (fire-and-forget unload) for instant UI response.
  Check abortCtrl.signal.aborted after loadModel returns to prevent
  ghost model state. Skip rollback and suppress errors on cancel.
- Dynamic top 4 GGUF models fetched from HF API sorted by downloads,
  prepended to the default recommended list.
- Remove turnAnchor="top" for auto-scroll to bottom during generation.
- Set default toast duration to 10s (was infinite for loading toasts).
- Deduplicate cached GGUF repos using scan_cache_dir API (fixes
  Qwen/X-GGUF vs qwen/x-gguf duplicates from lowercased HF cache).
- Pre-compile repo_id validation regex to silence CodeQL ReDoS warning.
- Change welcome text and default suggestion text.
2026-03-15 05:24:06 -07:00
..
assets Final cleanup 2026-03-12 18:28:04 +00:00
auth fix: remove old comments (#4292) 2026-03-14 16:50:13 +04:00
core studio: fix GGUF download UX -- progress bar, cancel, sorting, auto-scroll 2026-03-15 05:24:06 -07:00
loggers Final cleanup 2026-03-12 18:28:04 +00:00
models [pre-commit.ci] auto fixes from pre-commit.com hooks 2026-03-15 05:24:06 -07:00
plugins Final cleanup 2026-03-12 18:28:04 +00:00
requirements fix: remove old comments (#4292) 2026-03-14 16:50:13 +04:00
routes studio: fix GGUF download UX -- progress bar, cancel, sorting, auto-scroll 2026-03-15 05:24:06 -07:00
state Final cleanup 2026-03-12 18:28:04 +00:00
tests fix(seed): disable remote code execution in seed inspect dataset loads (#4275) 2026-03-13 19:37:43 +04:00
utils studio: sort GGUF dropdown client-side -- recommended first, OOM last, rest by size descending 2026-03-15 05:24:06 -07:00
__init__.py Final cleanup 2026-03-12 18:28:04 +00:00
colab.py Final cleanup 2026-03-12 18:28:04 +00:00
main.py studio: fix GGUF download UX -- progress bar, cancel, sorting, auto-scroll 2026-03-15 05:24:06 -07:00
run.py studio: auto-find free port if requested port is in use 2026-03-15 05:24:06 -07:00