aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.eslintrc.js9
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.yml21
-rw-r--r--.github/workflows/run_tests.yaml2
-rw-r--r--CHANGELOG.md57
-rw-r--r--extensions-builtin/LDSR/scripts/ldsr_model.py8
-rw-r--r--extensions-builtin/LDSR/sd_hijack_autoencoder.py5
-rw-r--r--extensions-builtin/LDSR/sd_hijack_ddpm_v1.py4
-rw-r--r--extensions-builtin/LDSR/vqvae_quantize.py147
-rw-r--r--extensions-builtin/Lora/extra_networks_lora.py4
-rw-r--r--extensions-builtin/Lora/lora.py10
-rw-r--r--extensions-builtin/Lora/ui_extra_networks_lora.py4
-rw-r--r--extensions-builtin/ScuNET/scripts/scunet_model.py7
-rw-r--r--extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js748
-rw-r--r--extensions-builtin/canvas-zoom-and-pan/scripts/hotkey_config.py13
-rw-r--r--extensions-builtin/canvas-zoom-and-pan/style.css63
-rw-r--r--extensions-builtin/extra-options-section/scripts/extra_options_section.py48
-rw-r--r--html/extra-networks-card.html2
-rw-r--r--html/footer.html4
-rw-r--r--javascript/aspectRatioOverlay.js2
-rw-r--r--javascript/contextMenus.js18
-rw-r--r--javascript/dragdrop.js53
-rw-r--r--javascript/extensions.js18
-rw-r--r--javascript/extraNetworks.js50
-rw-r--r--javascript/generationParams.js2
-rw-r--r--javascript/hints.js85
-rw-r--r--javascript/imageMaskFix.js2
-rw-r--r--javascript/imageParams.js18
-rw-r--r--javascript/imageviewer.js2
-rw-r--r--javascript/imageviewerGamepad.js8
-rw-r--r--javascript/notification.js2
-rw-r--r--javascript/profilerVisualization.js153
-rw-r--r--javascript/token-counters.js83
-rw-r--r--javascript/ui.js73
-rw-r--r--javascript/ui_settings_hints.js2
-rw-r--r--modules/api/api.py43
-rw-r--r--modules/api/models.py7
-rw-r--r--modules/call_queue.py25
-rw-r--r--modules/cmd_args.py4
-rw-r--r--modules/codeformer_model.py15
-rw-r--r--modules/config_states.py13
-rw-r--r--modules/devices.py18
-rw-r--r--modules/errors.py46
-rw-r--r--modules/extensions.py23
-rw-r--r--modules/extra_networks.py3
-rw-r--r--modules/extra_networks_hypernet.py4
-rw-r--r--modules/generation_parameters_copypaste.py52
-rw-r--r--modules/gfpgan_model.py12
-rw-r--r--modules/gitpython_hack.py42
-rw-r--r--modules/hypernetworks/hypernetwork.py15
-rw-r--r--modules/images.py45
-rw-r--r--modules/img2img.py42
-rw-r--r--modules/interrogate.py4
-rw-r--r--modules/launch_utils.py28
-rw-r--r--modules/localization.py6
-rw-r--r--modules/lowvram.py6
-rw-r--r--modules/modelloader.py3
-rw-r--r--modules/models/diffusion/ddpm_edit.py4
-rw-r--r--modules/paths.py1
-rw-r--r--modules/processing.py115
-rw-r--r--modules/prompt_parser.py6
-rw-r--r--modules/realesrgan_model.py16
-rw-r--r--modules/restart.py23
-rw-r--r--modules/safe.py27
-rw-r--r--modules/script_callbacks.py35
-rw-r--r--modules/script_loading.py7
-rw-r--r--modules/scripts.py153
-rw-r--r--modules/sd_hijack.py20
-rw-r--r--modules/sd_hijack_clip.py2
-rw-r--r--modules/sd_hijack_clip_old.py2
-rw-r--r--modules/sd_hijack_optimizations.py9
-rw-r--r--modules/sd_models.py27
-rw-r--r--modules/sd_samplers_kdiffusion.py63
-rw-r--r--modules/sd_unet.py92
-rw-r--r--modules/shared.py48
-rw-r--r--modules/shared_items.py38
-rw-r--r--modules/styles.py67
-rw-r--r--modules/sysinfo.py162
-rw-r--r--modules/textual_inversion/autocrop.py17
-rw-r--r--modules/textual_inversion/dataset.py2
-rw-r--r--modules/textual_inversion/preprocess.py4
-rw-r--r--modules/textual_inversion/textual_inversion.py37
-rw-r--r--modules/timer.py46
-rw-r--r--modules/ui.py392
-rw-r--r--modules/ui_common.py32
-rw-r--r--modules/ui_extensions.py42
-rw-r--r--modules/ui_extra_networks.py18
-rw-r--r--modules/ui_extra_networks_checkpoints.py4
-rw-r--r--modules/ui_extra_networks_hypernets.py4
-rw-r--r--modules/ui_extra_networks_textual_inversion.py4
-rw-r--r--modules/ui_gradio_extensions.py69
-rw-r--r--modules/ui_settings.py289
-rw-r--r--modules/ui_tempdir.py2
-rw-r--r--modules/upscaler.py6
-rw-r--r--requirements.txt42
-rw-r--r--requirements_versions.txt37
-rw-r--r--script.js73
-rw-r--r--scripts/outpainting_mk_2.py30
-rw-r--r--scripts/prompts_from_file.py10
-rw-r--r--scripts/xyz_grid.py6
-rw-r--r--style.css41
-rw-r--r--webui-user.sh1
-rw-r--r--webui.bat4
-rw-r--r--webui.py54
-rwxr-xr-xwebui.sh63
104 files changed, 3422 insertions, 1007 deletions
diff --git a/.eslintrc.js b/.eslintrc.js
index 944cc869..f33aca09 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -50,13 +50,14 @@ module.exports = {
globals: {
//script.js
gradioApp: "readonly",
+ executeCallbacks: "readonly",
+ onAfterUiUpdate: "readonly",
+ onOptionsChanged: "readonly",
onUiLoaded: "readonly",
onUiUpdate: "readonly",
- onOptionsChanged: "readonly",
uiCurrentTab: "writable",
- uiElementIsVisible: "readonly",
uiElementInSight: "readonly",
- executeCallbacks: "readonly",
+ uiElementIsVisible: "readonly",
//ui.js
opts: "writable",
all_gallery_buttons: "readonly",
@@ -84,5 +85,7 @@ module.exports = {
// imageviewer.js
modalPrevImage: "readonly",
modalNextImage: "readonly",
+ // token-counters.js
+ setupTokenCounters: "readonly",
}
};
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 3a8b9953..d80b24e2 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -43,8 +43,8 @@ body:
- type: input
id: commit
attributes:
- label: Commit where the problem happens
- description: Which commit are you running ? (Do not write *Latest version/repo/commit*, as this means nothing and will have changed by the time we read your issue. Rather, copy the **Commit** link at the bottom of the UI, or from the cmd/terminal if you can't launch it.)
+ label: Version or Commit where the problem happens
+ description: "Which webui version or commit are you running ? (Do not write *Latest Version/repo/commit*, as this means nothing and will have changed by the time we read your issue. Rather, copy the **Version: v1.2.3** link at the bottom of the UI, or from the cmd/terminal if you can't launch it.)"
validations:
required: true
- type: dropdown
@@ -81,6 +81,23 @@ body:
- CPU
- Other GPUs
- type: dropdown
+ id: cross_attention_opt
+ attributes:
+ label: Cross attention optimization
+ description: What cross attention optimization are you using, Settings -> Optimizations -> Cross attention optimization
+ multiple: false
+ options:
+ - Automatic
+ - xformers
+ - sdp-no-mem
+ - sdp
+ - Doggettx
+ - V1
+ - InvokeAI
+ - "None "
+ validations:
+ required: true
+ - type: dropdown
id: browsers
attributes:
label: What browsers do you use to access the UI ?
diff --git a/.github/workflows/run_tests.yaml b/.github/workflows/run_tests.yaml
index 226cf759..96546011 100644
--- a/.github/workflows/run_tests.yaml
+++ b/.github/workflows/run_tests.yaml
@@ -50,7 +50,7 @@ jobs:
python -m pytest -vv --junitxml=test/results.xml --cov . --cov-report=xml --verify-base-url test
- name: Kill test server
if: always()
- run: curl -vv -XPOST http://127.0.0.1:7860/_stop && sleep 10
+ run: curl -vv -XPOST http://127.0.0.1:7860/sdapi/v1/server-stop && sleep 10
- name: Show coverage
run: |
python -m coverage combine .coverage*
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 57f2dde7..6a31f35b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,60 @@
+## 1.4.0
+
+### Features:
+ * zoom controls for inpainting
+ * run basic torch calculation at startup in parallel to reduce the performance impact of first generation
+ * option to pad prompt/neg prompt to be same length
+ * remove taming_transformers dependency
+ * custom k-diffusion scheduler settings
+ * add an option to show selected settings in main txt2img/img2img UI
+ * sysinfo tab in settings
+ * infer styles from prompts when pasting params into the UI
+ * an option to control the behavior of the above
+
+### Minor:
+ * bump Gradio to 3.32.0
+ * bump xformers to 0.0.20
+ * Add option to disable token counters
+ * tooltip fixes & optimizations
+ * make it possible to configure filename for the zip download
+ * `[vae_filename]` pattern for filenames
+ * Revert discarding penultimate sigma for DPM-Solver++(2M) SDE
+ * change UI reorder setting to multiselect
+ * read version info form CHANGELOG.md if git version info is not available
+ * link footer API to Wiki when API is not active
+ * persistent conds cache (opt-in optimization)
+
+### Extensions:
+ * After installing extensions, webui properly restarts the process rather than reloads the UI
+ * Added VAE listing to web API. Via: /sdapi/v1/sd-vae
+ * custom unet support
+ * Add onAfterUiUpdate callback
+ * refactor EmbeddingDatabase.register_embedding() to allow unregistering
+ * add before_process callback for scripts
+ * add ability for alwayson scripts to specify section and let user reorder those sections
+
+### Bug Fixes:
+ * Fix dragging text to prompt
+ * fix incorrect quoting for infotext values with colon in them
+ * fix "hires. fix" prompt sharing same labels with txt2img_prompt
+ * Fix s_min_uncond default type int
+ * Fix for #10643 (Inpainting mask sometimes not working)
+ * fix bad styling for thumbs view in extra networks #10639
+ * fix for empty list of optimizations #10605
+ * small fixes to prepare_tcmalloc for Debian/Ubuntu compatibility
+ * fix --ui-debug-mode exit
+ * patch GitPython to not use leaky persistent processes
+ * fix duplicate Cross attention optimization after UI reload
+ * torch.cuda.is_available() check for SdOptimizationXformers
+ * fix hires fix using wrong conds in second pass if using Loras.
+ * handle exception when parsing generation parameters from png info
+ * fix upcast attention dtype error
+ * forcing Torch Version to 1.13.1 for RX 5000 series GPUs
+ * split mask blur into X and Y components, patch Outpainting MK2 accordingly