- Switch from playwright to patchright (anti-detection fork)
- Keeps all existing UA pool and route interception logic
- Better bypass for reCAPTCHA detection
Co-Authored-By: Warp <agent@warp.dev>
- Extract image from URL or base64 instead of base64 only
- Add support for downloading remote image URLs starting with http/https
- Implement error handling for image download failures
- Add debug logging for image processing steps
fix(config): update model keys for veo_3_0 video generation
- Update veo_3_0_r2v_fast_portrait model key to
veo_3_0_r2v_fast_portrait_ultra_relaxed
- Update veo_3_0_r2v_fast_landscape model key to
veo_3_0_r2v_fast_ultra_relaxed
- Implement automatic ST (Session Token) refresh when AT refresh fails
- Add refresh_session_token method in BrowserCaptchaService to extract
__Secure-next-auth.session-token from browser cookies
- Enhance token_manager to automatically retry AT refresh after ST update
- Add validation for AT tokens to ensure they are actually working
- Update README to document AT/ST automatic refresh feature
- Improve error handling and logging for token refresh operations
- Add conditional ST refresh support only available in personal mode
- Update README.md to clarify single vs dual frame image support with
automatic model_key selection
- Add detailed explanation of automatic adaptation system for
different image counts
- Include clear distinction between single frame mode (1 image) and
dual frame mode (2 images) with proper model selection
fix(browser-captcha): increase page load timeout from 15s to 60s
- Extend retry range from 15 to 60 attempts for page loading
- Update debug logging to reflect new timeout values
- Improve reliability of captcha service by allowing more time for
page load completion
fix(api): correct I2V API endpoint URL for single frame generation
- Change URL from batchAsyncGenerateVideoStartAndEndImage to
batchAsyncGenerateVideoStartImage for single frame scenarios
fix(model-config): correct model_key for I2V single frame mode
- Fix typo in model_key: remove duplicate 'fl_' in
veo_3_1_i2v_s_fast_fl_landscape
- Implement automatic model_key transformation for single frame mode
by replacing '_fl_' with '_' in model keys
- Add debug logging for model key transformation process
- Add ResidentTabInfo class to manage per-project resident tab information
- Replace single resident tab with dictionary mapping project_id to tab info
- Implement automatic resident tab creation for each project_id on demand
- Add thread-safe lock protection for resident tab operations
- Update stop_resident_mode to support closing specific project tabs
- Add _create_resident_tab method for project-specific tab creation
- Add _close_resident_tab method for proper tab cleanup
- Maintain backward compatibility with existing single resident mode properties
- Update status query methods to support multiple resident tabs
- Clear resident tabs dictionary when browser closes
- Add specific handling for MEDIA_GENERATION_STATUS_FAILED status
- Extract error code and message from operation response
- Update database task status to failed with error details
- Provide user-friendly error messages with retry suggestions
- Add streaming support for error messages in real-time
- Improve error handling for various failure scenarios
- Implement resident mode that maintains a persistent tab for instant token generation
- Add automatic project ID detection from active tokens during initialization
- Support fallback to traditional mode when no active project ID is available
- Add proper sandbox configuration and profile directory handling for nodriver
- Implement reCAPTCHA loading with retry mechanism and error handling
- Add legacy mode as fallback when resident mode fails
- Include comprehensive logging for both resident and legacy modes
- Add browser state management and cleanup functions
- Add nodriver dependency for advanced browser automation
- Replace BrowserCaptchaService implementation with nodriver-based solution
- Remove headless environment detection logic as nodriver handles this natively
- Update browser captcha service to use undetected-chromedriver successor
- Maintain persistent browser profiles for login state preservation
fix(models): update video model keys for portrait and landscape variants
- Change veo_3_1_i2v_s_fast_fl to veo_3_1_i2v_s_fast_portrait_fl_ultra_relaxed
- Change veo_3_1_i2v_s_fast_fl to veo_3_1_i2v_s_fast_landscape_fl_ultra_relaxed
- Ensure proper aspect ratio configuration for video generation models
- Add helper function to detect headless/Docker environments in main.py
- Implement auto-downgrade from personal to browser captcha mode in headless environments
- Show warning messages when switching modes automatically
- Update FlowClient to accept database instance for captcha configuration
config: update default server port and enable proxy by default
- Change default server port from 8000 to 18282 in config/setting.toml
- Enable proxy by default with localhost:7897 URL
- Update Docker and docker-compose configurations to use port 38000 for API
build: add China mirror sources for faster dependency installation
- Configure Debian apt to use Tsinghua University mirrors
- Set PyPI to use Tsinghua University index with trusted host
- Configure Playwright to download from npmmirror for faster installation
chore: update gitignore to exclude data and config files
- Add data directory to .gitignore
- Exclude config/setting.toml and config/setting_warp.toml from version control
docs: update docker-compose configurations for new port mappings
- Change exposed port from 8000 to 38000 in docker-compose.yml
- Update proxy service port from 1080 to 31080 in docker-compose.proxy.yml
- Ensure proper volume mapping for Cloudflare WARP data persistence