1. 06 Oct, 2025 8 commits
  2. 05 Oct, 2025 32 commits
    • Stefy Lanza (nextime / spora )'s avatar
      Implement comprehensive account management system · a2156ad2
      Stefy Lanza (nextime / spora ) authored
      - Create dedicated Account page (/account) for users and admins
      - Add password change functionality with current password verification
      - Implement token top-up system with predefined packages and custom amounts
      - Add payment method selection (Credit Card, PayPal, Crypto) with UI
      - Create account balance display with prominent token counter
      - Add navigation links to Account page across all templates
      - Implement backend routes for password changes and token purchases
      - Add update_user_password function to database operations
      - Include demo token purchase functionality (no real payments)
      - Maintain consistent navigation experience across the application
      - Ensure proper access control for account management features
      a2156ad2
    • Stefy Lanza (nextime / spora )'s avatar
      Fix navigation accessibility for token generation and admin pages · 82e0f6a0
      Stefy Lanza (nextime / spora ) authored
      - Add API Tokens navigation link to all user templates (dashboard, analyze, train, history, settings)
      - Add Admin navigation link for admin users across all templates
      - Remove old API token generation button from settings page (now uses dedicated page)
      - Ensure consistent navigation experience across the application
      - Admin users can now easily access user management and token generation pages
      82e0f6a0
    • Stefy Lanza (nextime / spora )'s avatar
      Implement comprehensive API token management system · fd4ca804
      Stefy Lanza (nextime / spora ) authored
      - Create dedicated API token generation page with custom naming
      - Implement JWT token generation with expiration and user claims
      - Add token administration with list view, last-used tracking, and deletion
      - Update database schema to support token names and usage tracking
      - Add navigation links for API tokens page with proper access control
      - Implement secure token validation with automatic last-used timestamp updates
      - Add copy-to-clipboard functionality for generated tokens
      - Create user-friendly token management interface with confirmation dialogs
      fd4ca804
    • Stefy Lanza (nextime / spora )'s avatar
      Implement comprehensive admin settings and token management system · 26bf985b
      Stefy Lanza (nextime / spora ) authored
      - Restrict settings page to admin users only with @admin_required decorator
      - Add database configuration section to admin settings (SQLite/MySQL settings)
      - Create admin-only worker token generation for --client authentication
      - Create user-accessible API token generation for programmatic access
      - Implement user API token validation that consumes user tokens for analysis
      - Add database tables for worker_tokens and user_api_tokens
      - Add API endpoint /api/analyze that validates user tokens and deducts tokens
      - Admin users are exempt from token consumption for all operations
      - Enhanced settings page with database management and token generation options
      26bf985b
    • Stefy Lanza (nextime / spora )'s avatar
      Implement admin-only features and server directory access · 971161ae
      Stefy Lanza (nextime / spora ) authored
      - Restrict /train route to admin users only (@admin_required)
      - Add --server-dir command line argument for server directory configuration
      - Show server local path input only for admin users when --server-dir is set
      - Add /api/browse endpoint for secure file browsing (admin only)
      - Implement file navigator popup with directory navigation and file selection
      - Add security checks to prevent directory traversal attacks
      - Update analyze template with conditional server path input and file browser modal
      971161ae
    • Stefy Lanza (nextime / spora )'s avatar
      Complete web interface fixes and admin panel · 1c4e0046
      Stefy Lanza (nextime / spora ) authored
      - Fix settings page user dict access error
      - Add consistent top navigation to dashboard
      - Fix train page user variable scope error
      - Update analyze page to use consistent header navigation
      - Add admin panel with user management (create, activate/deactivate users)
      - Add 'remember me' checkbox to login page
      - Change default user tokens from 1000 to 0
      - Add admin routes and database functions for user management
      - Update all templates to use VidAI branding
      1c4e0046
    • Stefy Lanza (nextime / spora )'s avatar
      Update project branding and add favicon · 0ff1e3eb
      Stefy Lanza (nextime / spora ) authored
      - Change project name from 'Video AI Analysis Tool' to 'VidAI'
      - Update tagline to 'The adult content friendly video automation system'
      - Change all 'Video AI Pro' references to 'VidAI' in templates
      - Add favicon using image.jpg in landing page
      - Add route to serve image.jpg file
      - Update PyInstaller build script to include image.jpg as icon
      - Update landing page title and meta description
      0ff1e3eb
    • Stefy Lanza (nextime / spora )'s avatar
      Fix Flask template path and landing page text · 501bfcca
      Stefy Lanza (nextime / spora ) authored
      - Configure Flask to look for templates in correct directory
      - Change 'Start Free Trial' to 'Start for Free Now!' on landing page
      - Fix TemplateNotFound error for register.html and other templates
      501bfcca
    • Stefy Lanza (nextime / spora )'s avatar
      Implement database-configured token packages · 0ba68b0d
      Stefy Lanza (nextime / spora ) authored
      - Add token_packages table to database schema
      - Add default token packages (Starter, Professional, Enterprise)
      - Add database functions for managing token packages
      - Update payments.py to use database packages instead of hardcoded ones
      - Remove pricing section from landing page (packages only show when configured)
      - Token packages are now fully configurable through admin interface
      0ba68b0d
    • Stefy Lanza (nextime / spora )'s avatar
      Fix landing page pricing section · 7ae65909
      Stefy Lanza (nextime / spora ) authored
      - Remove hardcoded token packages from landing page
      - Replace with generic token-based pricing tiers
      - Remove reference to database configuration in template
      - Landing page now shows pricing tiers without specific packages
      7ae65909
    • Stefy Lanza (nextime / spora )'s avatar
      Update project URLs and pricing model · 06e282ee
      Stefy Lanza (nextime / spora ) authored
      - Fix repository URL from GitHub to GitLab (git.nexlab.net/SexHackMe/vidai)
      - Update landing page to show token packages instead of subscription plans
      - Change pricing section to reflect database-configured token packages
      - Update footer links to point to correct repository
      06e282ee
    • Stefy Lanza (nextime / spora )'s avatar
      Fix missing render_template import in web.py · 60b4dbaa
      Stefy Lanza (nextime / spora ) authored
      - Add render_template to Flask imports to fix NameError
      60b4dbaa
    • Stefy Lanza (nextime / spora )'s avatar
      Refactor web interface to use separate template files for all pages · 7a0036b8
      Stefy Lanza (nextime / spora ) authored
      - Create login.html, register.html, and config.html templates
      - Update /login, /register, /config, /history, and /settings routes to use render_template()
      - Remove inline HTML strings from web.py for better maintainability
      7a0036b8
    • Stefy Lanza (nextime / spora )'s avatar
      Fix syntax errors in web.py · ed15c748
      Stefy Lanza (nextime / spora ) authored
      - Resolved f-string and Jinja2 template conflicts by using proper string concatenation
      - Separated dynamic content from template literals to avoid syntax errors
      - Ensured all HTML templates render correctly with render_template_string
      - Maintained all authentication and UI functionality while fixing import issues
      
      The web interface now imports and runs without syntax errors.
      ed15c748
    • Stefy Lanza (nextime / spora )'s avatar
      Complete web interface overhaul with authentication and modern UI · 12598ec5
      Stefy Lanza (nextime / spora ) authored
      - Implemented comprehensive user authentication system (login/logout/register)
      - Added beautiful landing page for non-authenticated users
      - Created user dashboard with statistics and quick actions
      - Built modern, responsive UI with Inter font and professional styling
      - Added session management and user context throughout
      - Implemented token-based usage limits and tracking
      - Created job history page with detailed status tracking
      - Added user settings page with preferences and API token management
      - Integrated flash messaging for user feedback
      - Added navigation headers with consistent branding
      - Implemented role-based access control decorators
      - Added comprehensive error handling and user feedback
      
      The web interface now provides a complete, professional user experience with authentication, modern design, and full functionality for the multi-process Video AI system.
      12598ec5
    • Stefy Lanza (nextime / spora )'s avatar
      Fix set_default_model_type function bug · 5c9d6157
      Stefy Lanza (nextime / spora ) authored
      - Corrected function to set 'default_model_type' instead of 'default_model'
      - Fixed NameError where 'model' variable was undefined
      - Now properly saves model type configuration
      5c9d6157
    • Stefy Lanza (nextime / spora )'s avatar
      Remove obsolete webui.py file · 7d474b9f
      Stefy Lanza (nextime / spora ) authored
      - Deleted webui.py as it was replaced by vidai/web.py in the multi-process architecture
      - Functionality moved to separate web interface process
      - Cleaned up legacy monolithic code that is no longer used
      7d474b9f
    • Stefy Lanza (nextime / spora )'s avatar
      Implement dynamic model management system · 467292ed
      Stefy Lanza (nextime / spora ) authored
      - Add vidai/models.py with abstract base classes for different model types
      - Support multiple HuggingFace transformers models (vision-language, text-only)
      - Auto-detect model types from model names/paths
      - Add model type configuration options (--model-type)
      - Update worker_analysis.py to use dynamic model loading instead of hardcoded Qwen
      - Maintain backward compatibility with existing model configurations
      467292ed
    • Stefy Lanza (nextime / spora )'s avatar
      Replace deprecated pynvml with nvidia-ml-py · 9f967d46
      Stefy Lanza (nextime / spora ) authored
      - Updated all requirements files to use nvidia-ml-py instead of deprecated pynvml
      - Added fallback import in webui.py to support both packages
      - Maintains backward compatibility while using the actively maintained package
      - Updated installation instructions in error messages
      9f967d46
    • Stefy Lanza (nextime / spora )'s avatar
      Remove unused start.sh script · 52412101
      Stefy Lanza (nextime / spora ) authored
      - Removed start.sh since process startup is handled by vidai.py
      - vidai.py now includes proper backend readiness checking
      - Simplified deployment by using single Python launcher
      52412101
    • Stefy Lanza (nextime / spora )'s avatar
      Fix startup sequence to ensure backend readiness · 03f65ee6
      Stefy Lanza (nextime / spora ) authored
      - Update start.sh to wait for Unix socket creation before starting workers
      - Remove retry logic from workers since startup script ensures backend is ready
      - Workers now connect immediately knowing backend socket exists
      - Prevents race conditions between backend startup and worker connections
      03f65ee6
    • Stefy Lanza (nextime / spora )'s avatar
      Implement bidirectional socket-based interprocess communication · 0aed6a48
      Stefy Lanza (nextime / spora ) authored
      - Separate communication protocols: TCP for web-backend, Unix sockets for backend-workers
      - Remove file-based result passing, implement in-memory result storage in backend
      - Web interface polls backend via socket for results instead of reading files
      - Workers send results back through Unix socket connection to backend
      - Maintain persistent connections for efficient bidirectional communication
      0aed6a48
    • Stefy Lanza (nextime / spora )'s avatar
      Fix worker communication initialization · 99d6e5b9
      Stefy Lanza (nextime / spora ) authored
      - Update workers to use proper socket path from config instead of hardcoded paths
      - Ensure workers check communication type and use appropriate connection method
      - Fix SocketCommunicator to properly handle Unix socket paths
      - Revert database default back to 'unix' for proper Unix socket support
      99d6e5b9
    • Stefy Lanza (nextime / spora )'s avatar
      Fix inter-process communication issues · 9e0ff1bd
      Stefy Lanza (nextime / spora ) authored
      - Fix SocketCommunicator initialization to properly handle TCP vs Unix sockets
      - Update backend to use configurable communication type from config
      - Change default communication type from 'unix' to 'tcp' for better reliability
      - Ensure consistent socket handling across all processes
      9e0ff1bd
    • Stefy Lanza (nextime / spora )'s avatar
      Implement multi-process architecture with CUDA/ROCm backend selection · 2604b812
      Stefy Lanza (nextime / spora ) authored
      - Refactor monolithic Flask app into separate processes:
        * Web interface process (vidai/web.py)
        * Backend routing process (vidai/backend.py)
        * Analysis worker processes (vidai/worker_analysis.py)
        * Training worker processes (vidai/worker_training.py)
      
      - Add self-contained inter-process communication using TCP sockets
      - Implement configuration system for backend selection (CUDA/ROCm)
      - Add GPLv3 licensing and copyright notices
      - Create comprehensive documentation and build scripts
      - Update main launcher to manage all processes
      
      This architecture provides better scalability, allows independent GPU backend selection, and maintains clean separation of concerns.
      2604b812
    • Stefy Lanza (nextime / spora )'s avatar
      Update files · 56e233bb
      Stefy Lanza (nextime / spora ) authored
      56e233bb
    • Stefy Lanza (nextime / spora )'s avatar
      Implement multi-process Video AI architecture · bc26540c
      Stefy Lanza (nextime / spora ) authored
      - Add socket-based inter-process communication
      - Implement backend process for request routing
      - Create separate web interface process
      - Add CUDA/ROCm worker processes for analysis and training
      - Add configuration system for backend selection
      - Update build scripts for multi-component executables
      - Add startup scripts for process orchestration
      - Include GPLv3 license and copyright notices
      - Add comprehensive documentation and README
      - Create CHANGELOG for version tracking
      bc26540c
    • Stefy Lanza (nextime / spora )'s avatar
      Fix circular dependency in database configuration · 552f2d10
      Stefy Lanza (nextime / spora ) authored
      - Move db_type handling to environment variables to avoid circular dependency
      - get_db_config() now uses environment variables for database type
      - get_config() handles db_type specially to prevent recursion
      - Fixes ImportError when running vidai.py
      552f2d10
    • Stefy Lanza (nextime / spora )'s avatar
      Add vidai.sh launcher script for Linux development · 3dfa46c4
      Stefy Lanza (nextime / spora ) authored
      - Create executable launcher script for non-PyInstaller builds
      - Automatically detects and uses appropriate virtual environments
      - Launches backend, web interface, and workers with correct CUDA/ROCm environments
      - Reads configuration to determine backend selection
      - Provides process management and cleanup on exit
      3dfa46c4
    • Stefy Lanza (nextime / spora )'s avatar
      Update build and setup scripts to support both CUDA and ROCm backends · 92ab2baa
      Stefy Lanza (nextime / spora ) authored
      - Setup script now creates both venv-cuda and venv-rocm by default
      - Build script builds both CUDA and ROCm worker versions
      - Start script reads configuration to launch appropriate backend workers
      - Added pip3 detection and --break-system-packages support
      - Windows batch files updated with pip3 detection
      - Runtime can switch between CUDA/ROCm implementations based on config
      92ab2baa
    • Stefy Lanza (nextime / spora )'s avatar
      Fix PyTorch version specification in requirements files · a9ec4a6f
      Stefy Lanza (nextime / spora ) authored
      - Remove invalid local version labels from torch requirements
      - Use proper pip syntax: torch>=2.0.0 with --index-url for CUDA/ROCm
      - Fix pip installation errors for CUDA and ROCm builds
      a9ec4a6f
    • Stefy Lanza (nextime / spora )'s avatar
      Add configurable TCP ports and hosts for web interface and inter-process communication · 97b7c6fd
      Stefy Lanza (nextime / spora ) authored
      - Add network configuration settings: web_host, web_port, backend_host, backend_web_port, backend_worker_port
      - Update web.py to use configurable host and port for Flask app
      - Update backend.py to use configurable ports for socket servers
      - Update worker processes to use configurable backend worker port
      - Add network configuration section to admin panel
      - Update command line arguments to accept network settings
      - Maintain backward compatibility with default values
      97b7c6fd