diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c70172aa..e107e2fc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,9 +47,11 @@ And **SDNQ** improvements: now with *NPU* support and its own native *attention* - api: stricter api request and response schemas - caption: button in standard-ui - embeddings: handle textual-inversion with new transformers + - extensions: handle extension without remote - insightface: missing dependencies - live preview: configurable pause when not in focus, thanks @Artheriax - log: strip ansi sequences from ring buffer and client side logging + - lora: cache state_dict between load attempts - measure: handle current kanvas stage - model metadata: handle invalid metadata and strip workflows - mps: install `torchsde` as requirement diff --git a/modules/extensions.py b/modules/extensions.py index 7bb52ec18..56ab00faa 100644 --- a/modules/extensions.py +++ b/modules/extensions.py @@ -148,6 +148,9 @@ class Extension: self.mtime = "2000-01-01T00:00Z" self.ctime = "2000-01-01T00:00Z" + def __str__(self): + return f'Extension(name="{self.name}", path="{self.path}", enabled={self.enabled}, is_builtin={self.is_builtin}, status="{self.status}", can_update={self.can_update}, commit_hash="{self.commit_hash}", commit_date={self.commit_date}, version="{self.version}", description="{self.description}", branch="{self.branch}", remote="{self.remote}", mtime="{self.mtime}", ctime="{self.ctime}")' + def read_info(self, force=False): if self.have_info_from_repo and not force: return diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index 826f43ac1..049b47b2f 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -160,7 +160,7 @@ def install_extension_from_url(dirname, url, branch_name, search_text, sort_colu if os.path.exists(target_dir): log.error(f'Extension: path="{target_dir}" directory already exists') return ['', ''] - if any(normalize_git_url(x.remote) == url for x in extensions.extensions): + if any(normalize_git_url(x.remote) == url for x in extensions.extensions if x.remote is not None): return ['', "Extension with this URL is already installed"] tmpdir = os.path.join(paths.data_path, "tmp", dirname) try: diff --git a/pipelines/model_flux2_klein.py b/pipelines/model_flux2_klein.py index 99fbca869..b1599f18d 100644 --- a/pipelines/model_flux2_klein.py +++ b/pipelines/model_flux2_klein.py @@ -32,9 +32,6 @@ def load_flux2_klein(checkpoint_info, diffusers_load_config=None): cache_dir=shared.opts.diffusers_dir, **load_args, ) - pipe.task_args = { - 'output_type': 'np', - } diffusers.pipelines.auto_pipeline.AUTO_TEXT2IMAGE_PIPELINES_MAPPING["flux2klein"] = cls diffusers.pipelines.auto_pipeline.AUTO_IMAGE2IMAGE_PIPELINES_MAPPING["flux2klein"] = cls diffusers.pipelines.auto_pipeline.AUTO_INPAINT_PIPELINES_MAPPING["flux2klein"] = cls