Spaces:
Runtime error
Runtime error
Commit History
-
Revert "feat(spaces): user-controlled GPU budget slider + pre-flight gate"
Verified signatureThis reverts commit ecc159588e928140424b9f985f7f40d5fbc03157.a2c44d8 -
feat(spaces): user-controlled GPU budget slider + pre-flight gate
Verified signatureThe fixed 240 s ceiling in `_duration_for` was the only thing standing between heavy modes (style, lipsync at high frame counts) and HF Pro+ / credit-topped accounts whose per-call cap actually allows longer durations. Replace it with a per-call budget the user picks, plus a pre-flight gate so jobs that won't fit are refused before submitting — no GPU time wasted after several minutes of compute. - `_duration_for` honours `user_budget` when set; otherwise returns the unclamped estimate (only the 60 s floor remains). - `_estimate_duration_unclamped` helper exposes the formula for the pre-flight diff message in app.py. - GPU-budget slider in the sidebar drawer: 60-1800 s, default 240 s, step 30 s, placed under the mode list for discoverability. - Pre-flight refuses with a friendly diff: "config estimates ~X s, slider is Y s" - user raises the slider or reduces preset/frames. - `illegal_duration` + `gpu_timeout` friendly errors now point at the slider as the first thing to try.…ecc1595 -
feat(spaces): prune output dir before each generation
Verified signatureWithout cleanup, every video lands in `~/comfyui/output/` and stays there until the container restarts. The ephemeral disk is 150 GB and preload already eats ~111 GB, so accumulating generations on the ~39 GB headroom fills the disk and the replica goes unhealthy — observed today as a stuck `RUNNING` Space with `replicas.current=0` and the iframe returning `net::ERR_ABORTED`. Restart cleared it; this prevents the recurrence. 4 h TTL sweep at the top of `_on_generate`. Per-file `OSError` is swallowed so one bad inode can't abort the cleanup. Tests cover older-than-threshold deletion, recent-file retention, recursive descent into ComfyUI's `LTX2.3/` subdir, missing-dir tolerance, and directory preservation.de6853a
-
ci: run unit tests + ruff lint on every push
Unverified signature3ea399a -
feat(backend): ComfyUILibraryBackend skeleton + event dataclasses
Unverified signature15811ca -
feat(models): ensure_models with HF cache symlinks + missing-file fallback
Unverified signature3d485ad -
feat(models): walk_workflow_for_models scans loader nodes
Unverified signature55a3bb4 -
feat(models): MODEL_REGISTRY mapping filenames to HF repos
Unverified signaturec80a8b9 -
fix(workflow): support dict-keyed widgets_values for VHS audio/video nodes
Unverified signatureVHS_LoadAudioUpload and VHS_LoadVideo carry dict-style widgets_values. set_input now accepts string keys for dict widgets. A2V, Lipsync, and Style parameterize_fns updated to use the right keys so file paths actually flow through at runtime.fee06dd -
feat(modes): A2V + Lipsync + Keyframe + Style parameterize_fn
Unverified signature03937ef -
feat(modes): T2V + I2V parameterize_fn with stage maps
Unverified signature0256245 -
feat(modes): Mode dataclass + empty MODE_REGISTRY skeleton
Unverified signature0314079 -
feat(workflow): set_input + validate over node graph
Unverified signature81f5ac0 -
feat(workflow): load_template returns fresh deep copy per mode
Unverified signatured65b6b1 -
feat(tools): extract six mode templates from master workflow JSON
Unverified signaturecaca25f -
test: pytest fixtures (master_workflow, canonical_inputs, fake_hf_cache)
Unverified signaturebcbf933