Commit Graph

45 Commits

Author SHA1 Message Date
Debian
a7cb20fb37 Fix View Progress button not responding to clicks
All checks were successful
Build and Push Frontend Docker Image / build (push) Successful in 1m0s
Replace inline onclick handlers with proper addEventListener to fix
silent failures from async promise rejections. Add try-catch error
handling to show errors to user instead of failing silently.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 21:27:25 +00:00
Debian
8f050b41a0 Fix stuck processing jobs and increase timeouts
All checks were successful
Build and Push Frontend Docker Image / build (push) Successful in 57s
Build and Push Docker Image / build (push) Successful in 30m18s
Background Job Processor:
- Add src/services/jobProcessor.ts that polls RunPod every 30s for stuck jobs
- Automatically completes or fails jobs that were abandoned (user navigated away)
- Times out jobs after 25 minutes

Client-Side Resume:
- Add GET /api/generate/pending endpoint to fetch user's processing jobs
- Add checkPendingJobs() that runs on login/page load
- Show notification banner when user has jobs generating in background
- Add "View Progress" button to resume polling for a job

Timeout Increases (10min → 25min):
- src/utils/validators.ts: request validation max/default
- src/config.ts: RUNPOD_MAX_TIMEOUT_MS default
- public/js/app.js: client-side polling maxTime
- src/services/jobProcessor.ts: background processor timeout

CI/CD Optimization:
- Add paths-ignore to backend build.yaml to skip rebuilds on frontend-only changes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 05:36:53 +00:00
Debian
0758b866bd Move frontend workflow to root .gitea/workflows
All checks were successful
Build and Push Frontend Docker Image / build (push) Successful in 1m4s
Build and Push Docker Image / build (push) Successful in 31m0s
Gitea Actions only detects workflows at repo root, not subdirectories.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:59:36 +00:00
Debian
890543fb77 Add frontend service with auth, MFA, and content management
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
- Node.js/Express backend with TypeScript
- SQLite database for users, sessions, and content metadata
- Authentication with TOTP and WebAuthn MFA support
- Admin user auto-created on first startup
- User content gallery with view/delete functionality
- RunPod API proxy (keeps API keys server-side)
- Docker setup with CI/CD for Gitea registry

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:57:08 +00:00
Debian
8a5610a1e4 Remove torch.compile from model loaders entirely
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m26s
Empty backend string still triggered inductor. Removing compile_args
connection from WanVideoModelLoader nodes (131, 132) ensures no
torch.compile is applied to the transformer blocks.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 08:35:24 +00:00
Debian
ab5b853521 Disable torch.compile to fix RTX 5090 CUDA error
All checks were successful
Build and Push Docker Image / build (push) Successful in 31m16s
The inductor backend was causing cudaErrorInvalidValue during Triton
kernel autotuning on Blackwell architecture. Setting backend to empty
string disables torch.compile entirely.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 00:22:52 +00:00
Debian
2b64ac96d2 Fix torch compile backend: 'disabled' no longer valid option
All checks were successful
Build and Push Docker Image / build (push) Successful in 30m37s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 23:02:41 +00:00
Debian
a54312396b Disable torch.compile and fix video display
All checks were successful
Build and Push Docker Image / build (push) Successful in 33m17s
- Disable torch.compile (inductor -> disabled) to reduce cold start time
- Fix handler to detect video type from file extension, not output key
- Fix HTML to check filename extension for video display

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 08:40:03 +00:00
Debian
bcb39c615d Enable tiled_vae to prevent OOM on portrait images
Some checks failed
Build and Push Docker Image / build (push) Failing after 29m0s
Also add async polling to HTML test page for long-running jobs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-04 02:23:46 +00:00
Debian
c04e4b6250 Update for RTX 5090 (Blackwell sm_120) support
Some checks failed
Build and Push Docker Image / build (push) Failing after 29m16s
- Switch to PyTorch nightly with CUDA 12.8 (required for sm_120)
- Target TORCH_CUDA_ARCH_LIST="12.0" for Blackwell
- Remove nunchaku (incompatible with PyTorch nightly)
- Use latest SageAttention (has sm_120 kernel support)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 22:01:58 +00:00
Debian
9f71e6db57 Limit SageAttention to A100/H100 due to cross-compile issues
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
The sm90 kernels use wgmma instructions that can't be compiled for
sm86/sm89 targets. Restricting to 8.0 (A100) and 9.0 (H100) only.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 21:57:09 +00:00
Debian
352128aa39 Pin SageAttention to commit that supports GPU-less builds
Some checks failed
Build and Push Docker Image / build (push) Failing after 21m35s
Recent commits broke TORCH_CUDA_ARCH_LIST support, requiring a GPU
during build. Pin to 2aecfa8 which respects the env var.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 20:30:17 +00:00
Debian
c61aca4074 Reduce build parallelism to avoid OOM during SageAttention compile
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 20:17:10 +00:00
Debian
99fdda5b2b Add multi-GPU support and HTML test interface
Some checks failed
Build and Push Docker Image / build (push) Failing after 16m23s
- Update SageAttention CUDA arch list to support A100, A10, RTX 4090, L40, H100/H200
- Add interactive HTML test page for RunPod API testing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 10:25:08 +00:00
Nick
f69bbc2f45 Fix model symlinks to use /runpod-volume/ComfyUI/models/
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m3s
Models are stored in /runpod-volume/ComfyUI/models/ on the network
volume, not /runpod-volume/models/. Updated all symlinks to match.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 00:07:22 +13:00
Nick
47e312a58b Fix RIFE model download URL
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m11s
Use correct URL from styler00dollar/VSGAN-tensorrt-docker releases.
Also fix path to ckpts/rife/ subdirectory.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:53:44 +13:00
Nick
342ef24bba Pre-download RIFE v4.7 model for frame interpolation
Some checks failed
Build and Push Docker Image / build (push) Failing after 3m47s
The RIFE model is small (~15MB) and required for the workflow.
Pre-downloading avoids runtime download delays.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:46:57 +13:00
Nick
aa95315e3f Add diffusion_models and text_encoders symlinks
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
WanVideo models are stored in diffusion_models/, and the CLIP text
encoder is in text_encoders/. These were missing from the symlink setup.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:45:13 +13:00
Nick
6a92eff814 Add model path debug output on startup
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:44:31 +13:00
Nick
b7cecfd69e Use API format workflow instead of frontend format
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m2s
The frontend-to-API conversion was using outdated widget names that
don't match the current WanVideo node API. Using the exported API
format workflow directly bypasses this issue.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:28:15 +13:00
Nick
dba11a9f45 Skip bypassed nodes (mode 4) in workflow conversion
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m2s
Bypassed/muted nodes should not be included in the API workflow,
and connections from bypassed nodes should be ignored.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:19:24 +13:00
Nick
56e8e164ab Add queue response debug logging for node errors
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:18:03 +13:00
Nick
8a69e45b26 Debug output chain nodes with full inputs
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m3s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:06:12 +13:00
Nick
12e2ef3230 Add workflow node connection debug logging
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m6s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 18:21:56 +13:00
Nick
85e38bc3ec Remove worker restart step from CI
All checks were successful
Build and Push Docker Image / build (push) Successful in 45s
Rolling release from template update is fast enough (~1 min).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 18:13:27 +13:00
Nick
f86acde2e5 Fix RunPod API calls to use correct endpoints
All checks were successful
Build and Push Docker Image / build (push) Successful in 51s
- Use REST API to update template's docker image
- Use saveEndpoint mutation with required name field
- Cycle workers to 0 then back to force image refresh

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 10:26:46 +13:00
Nick
d0140fa2b3 Add RunPod endpoint update and worker purge to CI
All checks were successful
Build and Push Docker Image / build (push) Successful in 45s
Updates the serverless endpoint with new image tag and purges
existing workers to force restart with the new image after build.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 10:20:45 +13:00
Nick
70720c07d6 Add debug logging for workflow output history
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m2s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 10:15:19 +13:00
Nick
8eedb6b45a Add widget mappings for all WanVideo workflow nodes
All checks were successful
Build and Push Docker Image / build (push) Successful in 4m4s
The convert_frontend_to_api() function was missing mappings for most
node types, causing "Required input is missing" errors when the API
received workflows in frontend format.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 10:03:06 +13:00
Nick
4b32558675 Add ComfyUI-Custom-Scripts and ComfyUI-Easy-Use nodes
All checks were successful
Build and Push Docker Image / build (push) Successful in 7m7s
Fixes workflow error: MathExpression|pysssss node not found.
These nodes are required by the Wan22-I2V-Remix workflow.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 00:45:44 +13:00
Nick
283955f1f7 Add ComfyUI-WanVideoWrapper for WanVideo nodes
All checks were successful
Build and Push Docker Image / build (push) Successful in 7m19s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 00:31:53 +13:00
Nick
69e91dd7f9 Switch to Docker Hub registry
All checks were successful
Build and Push Docker Image / build (push) Successful in 12m25s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 23:33:32 +13:00
Nick
ed5bf01972 Use /runpod-volume mount point for RunPod network volumes
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m47s
RunPod mounts network volumes at /runpod-volume, not /userdata.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 23:01:08 +13:00
Nick
929059f812 Target only H200 (sm_90) for SageAttention build
All checks were successful
Build and Push Docker Image / build (push) Successful in 25m31s
Blackwell (sm_100) may not be fully supported yet.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 22:12:59 +13:00
Nick
fef4b8d7ee Reduce CUDA compilation parallelism for 16GB RAM
Some checks failed
Build and Push Docker Image / build (push) Failing after 15m53s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 16:58:39 +13:00
Nick
7a8b59f471 Target H200 and RTX 5090 GPU architectures
Some checks failed
Build and Push Docker Image / build (push) Failing after 47m51s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 12:11:31 +13:00
Nick
bdc1d769e8 Set TORCH_CUDA_ARCH_LIST for SageAttention build
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
Build runner has no GPU, so specify target architectures explicitly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 12:09:57 +13:00
Nick
ab73c2d9be Optimize Dockerfile layers and reduce disk usage
Some checks failed
Build and Push Docker Image / build (push) Failing after 10m52s
- Combine PyTorch + triton install into single layer
- Add pip cache cleanup after each install step
- Change SageAttention to regular install and remove source after build
- Consolidate custom node dependencies into single layer
- Add CLAUDE.md, i2v-workflow.json, update handler.py and PROJECT.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-26 11:55:56 +13:00
Nick
accb698fd3 Add .gitattributes to enforce LF line endings
Some checks failed
Build and Push Docker Image / build (push) Failing after 9m42s
2025-12-26 10:23:45 +13:00
Nick
469911f2a7 Fix pip bootstrap for Python 3.12
Some checks failed
Build and Push Docker Image / build (push) Has been cancelled
2025-12-26 10:22:02 +13:00
Nick
18284e469a Add deadsnakes PPA for Python 3.12 and include workflows
Some checks failed
Build and Push Docker Image / build (push) Failing after 5m37s
2025-12-26 10:13:41 +13:00
Nick
65e9f0a6f6 Add deadsnakes PPA for Python 3.12
Some checks failed
Build and Push Docker Image / build (push) Failing after 29s
2025-12-26 10:12:33 +13:00
Nick
9604caf8e0 Fix registry auth to use REGISTRY_TOKEN secret
Some checks failed
Build and Push Docker Image / build (push) Failing after 3m19s
2025-12-25 23:21:29 +13:00
Nick
b730d4d142 Add Gitea Actions workflow for Docker build and push
Some checks failed
Build and Push Docker Image / build (push) Failing after 3m44s
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 22:58:18 +13:00
Nick
a5adfe060e Initial commit: ComfyUI RunPod Serverless endpoint
- Dockerfile with CUDA 12.8.1, Python 3.12, PyTorch 2.8.0+cu128
- SageAttention 2.2 compiled from source
- Nunchaku wheel installation
- 12 custom nodes pre-installed
- Handler with image/video output support
- Model symlinks to /userdata network volume

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-25 21:59:09 +13:00