9 Commits

Author SHA1 Message Date
2f85140471 feat: add refresh button to history tab
Gallery and stats are initialized once at startup and don't auto-refresh.
Added a Refresh button so users can manually reload history after processing.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 13:05:41 +01:00
3b2cfada78 feat: add video support to history tab
- Video processing now saves to history database
- History gallery displays both images and videos
- Added type filter dropdown (All/Images/Videos)
- Updated search and details to work with videos
- Video entries show codec, frame count in details

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 12:51:33 +01:00
3c27f137fb fix: always pass outscale explicitly to ensure correct upscaling
The outscale parameter was set to None when scale == netscale,
which caused unexpected downscaling behavior. Now explicitly pass
the user's selected scale to ensure correct 2x or 4x output.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 12:48:45 +01:00
99b40e3f54 fix: patch basicsr compatibility with torchvision 0.18+
The functional_tensor module was removed in torchvision 0.18+.
Added compatibility shim to create a fake module that basicsr can import.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 12:41:07 +01:00
65f50d5a9a fix: migrate to Gradio 6.0 launch() API for css and title
In Gradio 6.0, css, title, and theme parameters moved from gr.Blocks()
constructor to the .launch() method. Updated app.py accordingly.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 12:37:18 +01:00
e7c004c3fc fix: remove theme parameter for Gradio 6.0 compatibility
Gradio 6.0.1 doesn't support the theme parameter in gr.Blocks().
The dark styling is now provided entirely through the custom CSS.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 12:33:37 +01:00
dadc56eb04 fix: remove unsupported theme parameter tab_selected_text_color
Gradio 6.0 doesn't support this parameter in Base.set()

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 12:29:59 +01:00
bbea2c8513 feat: add environment variable configuration for server settings
Configurable via:
- UPSCALE_PORT (default: 7860)
- UPSCALE_HOST (default: 0.0.0.0)
- UPSCALE_SHARE (default: false)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 12:00:55 +01:00
a6d20cf087 feat: initial implementation of Real-ESRGAN Web UI
Full-featured Gradio 6.0+ web interface for Real-ESRGAN image/video
upscaling, optimized for RTX 4090 (24GB VRAM).

Features:
- Image upscaling with before/after comparison (ImageSlider)
- Video upscaling with progress tracking and checkpoint/resume
- Face enhancement via GFPGAN integration
- Multiple codecs: H.264, H.265, AV1 (with NVENC support)
- Batch processing queue with SQLite persistence
- Processing history gallery
- Custom dark theme
- Auto-download of model weights

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 11:56:59 +01:00