Refactor logging in run_training function of app.py to accumulate log messages in a buffer before yielding, improving output consistency and readability during training execution.
Add dependency installation for musubi-tuner in app.py during startup. Implement best-effort upgrade for pip, setuptools, and wheel, and handle optional Torch extras for editable installation. Fallback to plain install if editable fails, ensuring smoother setup process.
Enhance image upload handling in app.py by implementing PNG conversion during file saving and adding prefix/suffix options for metadata creation. Update UI to include fields for main and control image prefixes/suffixes, improving user experience and flexibility in image processing.
Refactor UI in app.py to clearly separate mandatory control_0 image uploads from optional control images. Control_0 uploads are now displayed outside of the accordion for improved user guidance, while optional controls are organized within a closed accordion by default.
Update run_training function in app.py to enforce mandatory control_0 image uploads, improving error handling and user guidance. Modify UI to reflect that control_0 images are required, enhancing clarity for users during image uploads.
Refactor run_training function in app.py to return tuples for error and log messages, enhancing clarity in output handling. Update UI to remove user input for models_root, output_dir_base, and dataset_config, which are now resolved at runtime. Implement logic to locate the latest LoRA file for download after training completion.
Enhance app.py by adding an override option for run name in the _prepare_script function and updating the run_training function to use an auto-generated dataset directory name. Modify UI to reflect changes from dataset_name to output_name for better clarity in user input.
Refactor run_training function in app.py to simplify parameters and enhance control image handling. Update UI for image uploads and ensure at least one control folder is provided for training. Adjust data root resolution to auto-decide based on user input.
Reorder startup functions in app.py to ensure musubi-tuner is cloned before downloading models. This change maintains the intended execution flow during application startup.
Enhance app.py with new functions for handling data uploads and directory management. Implement data root resolution and control set preparation for training. Update main execution flow to accommodate new upload handling and directory structure.
Refactor app.py to support runtime-resolved paths for musubi-tuner and models directories. Implement fallback mechanisms for directory creation and cloning operations. Update UI components to reflect new runtime paths.
Update default paths in app.py and download_qwen_image_models.py to use /data and /auto directories. Adjust metadata generation script to reflect new working directory structure.
Enhance training functionality with ZeroGPU support and UI adjustments. Added options to override max epochs and save frequency, and implemented GPU request handling for Spaces compatibility.