Invoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the latest AI-driven technologies. The solution offers an industry leading WebUI, and serves as the foundation for multiple commercial products.
This report presents the forensic synthetic code analysis of invoke-ai/InvokeAI, a Python project with 28,032 GitHub stars. SynthScan v2.0 examined 1,071,603 lines of code across 3459 source files, recording 6427 pattern matches distributed across 23 syntactic categories. The overall adjusted score of 7.6 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 6427 distinct pattern matches across 23 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | invokeai/app/api_app.py | 313 | def _identify_video_upload_user(scope: Scope) -> tuple[bool, str | None]: | CODE |
| LOW | invokeai/app/api_app.py | 338 | async def _identify_video_upload_user_async(scope: Scope) -> tuple[bool, str | None]: | CODE |
| LOW | invokeai/app/util/misc.py | 16 | def get_datetime_from_iso_timestamp(iso_timestamp: str) -> datetime.datetime: | CODE |
| LOW | invokeai/app/util/torch_cuda_allocator.py | 6 | def configure_torch_cuda_allocator(pytorch_cuda_alloc_conf: str, logger: logging.Logger): | CODE |
| LOW | invokeai/app/util/video_thumbnails.py | 147 | def _start_worker_memory_monitor( | CODE |
| LOW | invokeai/app/util/video_thumbnails.py | 223 | def _iter_video_frames_unbounded( | CODE |
| LOW | invokeai/app/util/ti_utils.py | 11 | def extract_ti_triggers_from_prompt(prompt: str) -> List[str]: | CODE |
| LOW | invokeai/app/util/step_callback.py | 261 | def sample_to_lowres_estimated_image( | CODE |
| LOW | invokeai/app/util/ssrf.py | 284 | def merge_environment_settings( | CODE |
| LOW | invokeai/app/invocations/latent_noise.py | 11 | def validate_noise_dimensions(noise_type: LatentNoiseType, width: int, height: int) -> None: | CODE |
| LOW | invokeai/app/invocations/latent_noise.py | 46 | def validate_noise_tensor_shape(noise: torch.Tensor, noise_type: LatentNoiseType, width: int, height: int) -> None: | CODE |
| LOW | invokeai/app/invocations/video_frame_extract_range.py | 43 | def _validate_even_dimensions(width: int, height: int, video_name: str) -> None: | CODE |
| LOW | invokeai/app/invocations/t2i_adapter.py | 33 | def validate_ip_adapter_weight(cls, v): | CODE |
| LOW | invokeai/app/invocations/t2i_adapter.py | 38 | def validate_begin_end_step_percent(self): | CODE |
| LOW | invokeai/app/invocations/t2i_adapter.py | 83 | def validate_ip_adapter_weight(cls, v): | CODE |
| LOW | invokeai/app/invocations/t2i_adapter.py | 88 | def validate_begin_end_step_percent(self): | CODE |
| LOW | invokeai/app/invocations/compel.py | 425 | def get_tokens_for_prompt_object( | CODE |
| LOW | invokeai/app/invocations/compel.py | 447 | def log_tokenization_for_conjunction( | CODE |
| LOW | invokeai/app/invocations/compel.py | 460 | def log_tokenization_for_prompt_object( | CODE |
| LOW | invokeai/app/invocations/compel.py | 502 | def log_tokenization_for_text( | CODE |
| LOW | invokeai/app/invocations/blend_latents.py | 85 | def replace_tensor_from_masked_tensor( | CODE |
| LOW | invokeai/app/invocations/ideogram4_denoise.py | 33 | def _effective_guidance_schedule( | CODE |
| LOW | invokeai/app/invocations/controlnet.py | 53 | def validate_begin_end_step_percent(self): | CODE |
| LOW | invokeai/app/invocations/controlnet.py | 97 | def validate_begin_end_step_percent(self) -> "ControlNetInvocation": | CODE |
| LOW | invokeai/app/invocations/cogview4_denoise.py | 175 | def _convert_timesteps_to_sigmas(self, image_seq_len: int, timesteps: torch.Tensor) -> list[float]: | CODE |
| LOW | invokeai/app/invocations/flux_ip_adapter.py | 56 | def validate_ip_adapter_weight(cls, v: float) -> float: | CODE |
| LOW | invokeai/app/invocations/flux_ip_adapter.py | 61 | def validate_begin_end_step_percent(self) -> Self: | CODE |
| LOW | invokeai/app/invocations/denoise_latents.py | 252 | def _get_text_embeddings_and_masks( | CODE |
| LOW | invokeai/app/invocations/denoise_latents.py | 273 | def _preprocess_regional_prompt_mask( | CODE |
| LOW | invokeai/app/invocations/denoise_latents.py | 299 | def _concat_regional_text_embeddings( | CODE |
| LOW | invokeai/app/invocations/denoise_latents.py | 522 | def _get_hidiffusion_name_or_path(unet_config: AnyModelConfig) -> Optional[str]: | CODE |
| LOW | invokeai/app/invocations/denoise_latents.py | 593 | def prep_ip_adapter_image_prompts( | CODE |
| LOW | invokeai/app/invocations/denoise_latents.py | 821 | def prepare_noise_and_latents( | CODE |
| LOW | invokeai/app/invocations/anima_denoise.py | 101 | def inverse_loglinear_timestep_shift(alpha: float, sigma: float) -> float: | CODE |
| LOW | invokeai/app/invocations/anima_denoise.py | 153 | def merge_intermediate_latents_with_init_latents( | CODE |
| LOW | invokeai/app/invocations/anima_denoise.py | 270 | def _normalize_control_lllite( | CODE |
| LOW | invokeai/app/invocations/anima_denoise.py | 489 | def _run_llm_adapter_for_regions( | CODE |
| LOW | invokeai/app/invocations/anima_denoise.py | 923 | def _estimate_preview_latents(self, latents: torch.Tensor, sigma: float, noise_pred: torch.Tensor) -> torch.Tensor: | CODE |
| LOW | invokeai/app/invocations/flux2_klein_model_loader.py | 195 | def _validate_diffusers_format( | CODE |
| LOW | invokeai/app/invocations/z_image_model_loader.py | 147 | def _get_self_contained_source(self, context: InvocationContext) -> Optional[ModelIdentifierField]: | CODE |
| LOW | invokeai/app/invocations/z_image_model_loader.py | 162 | def _validate_diffusers_format( | CODE |
| LOW | invokeai/app/invocations/call_saved_workflow.py | 12 | def is_call_saved_workflow_dynamic_input(field_name: str) -> bool: | CODE |
| LOW | invokeai/app/invocations/call_saved_workflow.py | 16 | def parse_call_saved_workflow_dynamic_input(field_name: str) -> tuple[str, str]: | CODE |
| LOW | invokeai/app/invocations/call_saved_workflow.py | 51 | def validate_selected_workflow(self, context: InvocationContext): | CODE |
| LOW | invokeai/app/invocations/ernie_image_model_loader.py | 85 | def _pipeline_has_prompt_enhancer(self, context: InvocationContext) -> bool: | CODE |
| LOW | invokeai/app/invocations/krea2_model_loader.py | 118 | def _validate_diffusers_format( | CODE |
| LOW | invokeai/app/invocations/krea2_denoise.py | 103 | def validate_cfg_scale_is_finite(cls, value: float | list[float]) -> float | list[float]: | CODE |
| LOW | invokeai/app/invocations/krea2_denoise.py | 218 | def _should_apply_cfg_for_step(cfg_scale: float, *, has_negative_conditioning: bool) -> bool: | CODE |
| LOW | invokeai/app/invocations/krea2_denoise.py | 222 | def _validate_effective_schedule(*, start_idx: int, end_idx: int) -> None: | CODE |
| LOW | invokeai/app/invocations/krea2_denoise.py | 523 | def _regional_attention_mask_bytes( | CODE |
| LOW | invokeai/app/invocations/external_image_generation.py | 179 | def _build_output_provider_metadata(self) -> dict[str, Any]: | CODE |
| LOW | invokeai/app/invocations/external_image_generation.py | 231 | def _build_output_provider_metadata(self) -> dict[str, Any]: | CODE |
| LOW | invokeai/app/invocations/external_image_generation.py | 282 | def _build_output_provider_metadata(self) -> dict[str, Any]: | CODE |
| LOW | invokeai/app/invocations/external_image_generation.py | 326 | def _build_output_provider_metadata(self) -> dict[str, Any]: | CODE |
| LOW | invokeai/app/invocations/composition-nodes.py | 430 | def scale_and_pad_or_crop_to_base(self, image_upper: Image.Image, image_base: Image.Image): | CODE |
| LOW | invokeai/app/invocations/composition-nodes.py | 515 | def prepare_tensors_from_images( | CODE |
| LOW | invokeai/app/invocations/baseinvocation.py | 337 | def get_invocation_typeadapter(cls) -> TypeAdapter[Any]: | CODE |
| LOW | invokeai/app/invocations/baseinvocation.py | 351 | def invalidate_invocation_typeadapter(cls) -> None: | CODE |
| LOW | invokeai/app/invocations/baseinvocation.py | 454 | def invalidate_output_typeadapter(cls) -> None: | CODE |
| LOW | invokeai/app/invocations/model.py | 30 | def is_self_contained_sdnq_pipeline(config: AnyModelConfig) -> bool: | CODE |
| 4234 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | invokeai/app/util/user_management.py | 36 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/app/util/user_management.py | 38 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/app/util/user_management.py | 174 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/app/util/user_management.py | 176 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/app/util/user_management.py | 300 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/app/util/user_management.py | 302 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/app/util/user_management.py | 406 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | invokeai/app/util/user_management.py | 408 | # --------------------------------------------------------------------------- | STRING |
| MEDIUM | invokeai/app/api/routers/auth.py | 404 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/app/api/routers/auth.py | 406 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/app/api/routers/auth.py | 449 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/app/api/routers/auth.py | 451 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ai/app/services/model_install/model_install_default.py | 1079 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ai/app/services/model_install/model_install_default.py | 1081 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | …ai/app/services/model_install/model_install_default.py | 1466 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …ai/app/services/model_install/model_install_default.py | 1468 | # ------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …ai/app/services/model_install/model_install_default.py | 1539 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM⚡ | …ai/app/services/model_install/model_install_default.py | 1541 | # ------------------------------------------------------------------------------------------------ | COMMENT |
| MEDIUM | …ai/app/services/model_install/model_install_default.py | 901 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ai/app/services/model_install/model_install_default.py | 903 | # -------------------------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/ideogram4/quantized_loading.py | 136 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/ideogram4/quantized_loading.py | 144 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/flux/controlnet/state_dict_utils.py | 188 | # ---------------- | COMMENT |
| MEDIUM | …ai/backend/flux/controlnet/instantx_controlnet_flux.py | 51 | # ------------------------------------------------------------- | COMMENT |
| MEDIUM | …ai/backend/flux/controlnet/instantx_controlnet_flux.py | 91 | # ----------------------------------------------------------- | COMMENT |
| MEDIUM | …ckend/patches/lora_conversions/anima_lora_constants.py | 12 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | …ckend/patches/lora_conversions/anima_lora_constants.py | 18 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | invokeai/backend/anima/anima_transformer.py | 30 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | invokeai/backend/anima/anima_transformer.py | 34 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | invokeai/backend/anima/anima_transformer.py | 197 | # ============================================================================ | COMMENT |
| MEDIUM⚡ | invokeai/backend/anima/anima_transformer.py | 201 | # ============================================================================ | COMMENT |
| MEDIUM | invokeai/backend/anima/anima_transformer.py | 769 | # ============================================================================ | COMMENT |
| MEDIUM | invokeai/backend/anima/anima_transformer.py | 773 | # ============================================================================ | COMMENT |
| MEDIUM | invokeai/backend/anima/anima_transformer.py | 974 | # ============================================================================ | COMMENT |
| MEDIUM | invokeai/backend/anima/anima_transformer.py | 978 | # ============================================================================ | COMMENT |
| MEDIUM | invokeai/backend/anima/control_net_lllite.py | 57 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/anima/control_net_lllite.py | 59 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/anima/control_net_lllite.py | 121 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/anima/control_net_lllite.py | 123 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/anima/control_net_lllite.py | 219 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/anima/control_net_lllite.py | 221 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/anima/control_net_lllite.py | 347 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/anima/control_net_lllite.py | 349 | # ---------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/decode.py | 37 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/decode.py | 39 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/decode.py | 296 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/decode.py | 298 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/decode.py | 428 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/decode.py | 430 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/_src/models/pixeldit_model.py | 169 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/_src/models/pixeldit_model.py | 171 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | invokeai/backend/pid/_src/models/pixeldit_model.py | 207 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | invokeai/backend/pid/_src/models/pixeldit_model.py | 209 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/_src/models/pixeldit_model.py | 241 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/_src/models/pixeldit_model.py | 244 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/_src/models/pid_distill_model.py | 46 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/_src/models/pid_distill_model.py | 48 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/_src/models/pid_distill_model.py | 85 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM | invokeai/backend/pid/_src/models/pid_distill_model.py | 87 | # --------------------------------------------------------------------- | COMMENT |
| MEDIUM⚡ | invokeai/backend/pid/_src/models/pid_distill_model.py | 163 | # --------------------------------------------------------------------- | COMMENT |
| 174 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | invokeai/app/api/routers/model_manager.py | 462 | installed_models = ApiDependencies.invoker.services.model_manager.store.search_by_attr() | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 312 | configs = ApiDependencies.invoker.services.model_manager.store.search_by_attr( | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 332 | configs = ApiDependencies.invoker.services.model_manager.store.search_by_hash(hash) | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 357 | config = ApiDependencies.invoker.services.model_manager.store.get_model(key) | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 392 | config = ApiDependencies.invoker.services.model_manager.store.get_model(key) | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 414 | return ApiDependencies.invoker.services.model_manager.store.replace_model(config.key, result.config) | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 547 | for cache in ApiDependencies.invoker.services.model_manager.load.ram_caches.values() | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 1230 | ApiDependencies.invoker.services.model_manager.install.prune_jobs() | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 1412 | installed_models = ApiDependencies.invoker.services.model_manager.store.search_by_attr() | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 1451 | for cache in ApiDependencies.invoker.services.model_manager.load.ram_caches.values(): | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 1488 | for cache in ApiDependencies.invoker.services.model_manager.load.ram_caches.values(): | CODE |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 1082 | jobs: List[ModelInstallJob] = ApiDependencies.invoker.services.model_manager.install.list_jobs() | STRING |
| CRITICAL | invokeai/app/api/routers/model_manager.py | 1102 | result: ModelInstallJob = ApiDependencies.invoker.services.model_manager.install.get_job_by_id(id) | STRING |
| CRITICAL | invokeai/app/api/routers/recall_parameters.py | 146 | models = ApiDependencies.invoker.services.model_manager.store.search_by_attr( | CODE |
| CRITICAL | invokeai/app/services/shared/invocation_context.py | 255 | graph_ = self._data.queue_item.session.graph.model_dump_json() | CODE |
| CRITICAL | invokeai/app/services/shared/invocation_context.py | 420 | graph_ = self._data.queue_item.session.graph.model_dump_json() | CODE |
| CRITICAL | invokeai/app/services/shared/invocation_context.py | 601 | return self._services.model_manager.load.ram_cache.offload_model_from_vram(key) | CODE |
| CRITICAL⚡ | …eai/app/services/session_queue/session_queue_sqlite.py | 418 | cache = self.__invoker.services.model_manager.load.ram_caches.get(device) | CODE |
| CRITICAL | …onents/RasterLayer/RasterLayerMenuItemsAdjustments.tsx | 16 | s.canvas.present.rasterLayers.entities.find((e: CanvasRasterLayerState) => e.id === entityIdentifier.id) | CODE |
| CRITICAL | …ures/controlLayers/konva/CanvasEntityRendererModule.ts | 126 | this.manager.background.konva.layer.zIndex(zIndex++); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 976 | this.manager.stage.konva.stage.on('pointerdown', this.onStagePointerDown); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 977 | this.manager.stage.konva.stage.on('pointermove', this.onStagePointerMove); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 978 | this.manager.stage.konva.stage.on('pointerup', this.onStagePointerUp); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 981 | this.manager.stage.konva.stage.on('pointermove', this.onBboxDragMove); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 982 | this.manager.stage.konva.stage.on('pointerup', this.onBboxDragEnd); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 985 | this.manager.stage.konva.stage.off('pointerdown', this.onStagePointerDown); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 986 | this.manager.stage.konva.stage.off('pointermove', this.onStagePointerMove); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 987 | this.manager.stage.konva.stage.off('pointerup', this.onStagePointerUp); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 988 | this.manager.stage.konva.stage.off('pointermove', this.onBboxDragMove); | CODE |
| CRITICAL⚡ | …res/controlLayers/konva/CanvasSegmentAnythingModule.ts | 989 | this.manager.stage.konva.stage.off('pointerup', this.onBboxDragEnd); | CODE |
| CRITICAL | …Layers/konva/CanvasTool/CanvasColorPickerToolModule.ts | 448 | this.manager.background.konva.layer.visible(false); | CODE |
| CRITICAL | …Layers/konva/CanvasTool/CanvasColorPickerToolModule.ts | 450 | this.manager.background.konva.layer.visible(true); | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityAdapterBase.ts | 404 | this.renderer.konva.compositing.group.zIndex(zIndex++); | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityTransformer.ts | 583 | this.parent.renderer.konva.objectGroup.setAttrs({ | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityTransformer.ts | 627 | this.parent.renderer.konva.objectGroup.setAttrs({ | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityTransformer.ts | 951 | this.parent.renderer.konva.objectGroup.setAttrs(attrs); | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityTransformer.ts | 952 | this.parent.bufferRenderer.konva.group.setAttrs(attrs); | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityTransformer.ts | 972 | this.parent.renderer.konva.objectGroup.setAttrs(groupAttrs); | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityTransformer.ts | 973 | this.parent.bufferRenderer.konva.group.setAttrs(groupAttrs); | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityTransformer.ts | 1033 | this.parent.renderer.konva.objectGroup.setAttrs(groupAttrs); | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityTransformer.ts | 1034 | this.parent.bufferRenderer.konva.group.setAttrs(groupAttrs); | CODE |
| CRITICAL | …olLayers/konva/CanvasEntity/CanvasEntityTransformer.ts | 1066 | const rect = this.parent.renderer.konva.objectGroup.getClientRect({ skipTransform: true }); | CODE |
| CRITICAL | …konva/CanvasEntity/CanvasEntityBufferObjectRenderer.ts | 92 | this.manager.tool.tools.rect.hasSuspendableSession() | CODE |
| CRITICAL | …ayers/konva/CanvasEntity/CanvasEntityObjectRenderer.ts | 336 | this.parent.bufferRenderer.konva.group.opacity(opacity); | CODE |
| CRITICAL | …vokeai/frontend/web/src/features/cropper/lib/editor.ts | 504 | this.konva.crop.interaction.rect.setAttrs({ ...this.cropBox }); | CODE |
| CRITICAL⚡ | …vokeai/frontend/web/src/features/cropper/lib/editor.ts | 518 | this.konva.crop.interaction.guides.left.points([x + verticalThird, y, x + verticalThird, y + height]); | CODE |
| CRITICAL⚡ | …vokeai/frontend/web/src/features/cropper/lib/editor.ts | 519 | this.konva.crop.interaction.guides.right.points([x + verticalThird * 2, y, x + verticalThird * 2, y + height]); | CODE |
| CRITICAL⚡ | …vokeai/frontend/web/src/features/cropper/lib/editor.ts | 522 | this.konva.crop.interaction.guides.top.points([x, y + horizontalThird, x + width, y + horizontalThird]); | CODE |
| CRITICAL⚡ | …vokeai/frontend/web/src/features/cropper/lib/editor.ts | 523 | this.konva.crop.interaction.guides.bottom.points([x, y + horizontalThird * 2, x + width, y + horizontalThird * 2]); | CODE |
| CRITICAL | …vokeai/frontend/web/src/features/cropper/lib/editor.ts | 638 | this.konva.crop.overlay.full.setAttrs({ | CODE |
| CRITICAL | …vokeai/frontend/web/src/features/cropper/lib/editor.ts | 644 | this.konva.crop.overlay.clear.setAttrs({ ...this.cropBox }); | CODE |
| CRITICAL | …vokeai/frontend/web/src/features/cropper/lib/editor.ts | 1029 | if (this.konva.crop.interaction.rect.isDragging()) { | CODE |
| CRITICAL | …vokeai/frontend/web/src/features/cropper/lib/editor.ts | 1030 | this.konva.crop.interaction.rect.stopDrag(); | CODE |
| CRITICAL | invokeai/backend/onnx/onnx_runtime.py | 38 | self.model.proto.graph.initializer.insert(self.indexes[key], new_node) | CODE |
| CRITICAL | tests/app/routers/test_model_manager.py | 523 | deps.invoker.services.model_manager.store.replace_model.assert_not_called() | CODE |
| CRITICAL | tests/app/routers/test_model_manager.py | 549 | deps.invoker.services.model_manager.store.update_model.assert_not_called() | CODE |
| CRITICAL | tests/app/routers/test_model_manager.py | 565 | deps.invoker.services.model_images.delete.assert_not_called() | CODE |
| CRITICAL | tests/app/routers/test_utilities.py | 56 | mock_invoker.services.model_manager.store.get_model.assert_not_called() | CODE |
| CRITICAL | tests/app/routers/test_utilities.py | 133 | mock_invoker.services.model_manager.store.get_model.assert_not_called() | CODE |
| CRITICAL | tests/app/routers/test_utilities.py | 153 | mock_invoker.services.model_manager.store.get_model.assert_called_once() | CODE |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | invokeai/app/api_app.py | 186 | except Exception: | CODE |
| LOW | invokeai/app/util/video_thumbnails.py | 180 | except Exception: | CODE |
| LOW | invokeai/app/util/video_thumbnails.py | 191 | except Exception: | CODE |
| LOW | invokeai/app/util/video_thumbnails.py | 398 | except Exception: | CODE |
| LOW | invokeai/app/util/ti_utils.py | 45 | except Exception: | CODE |
| LOW | invokeai/app/util/video_decode_worker.py | 85 | except Exception as error: | CODE |
| LOW | invokeai/app/util/video_decode_worker.py | 104 | except Exception: | CODE |
| LOW | invokeai/app/util/video_decode_worker.py | 125 | except Exception: | CODE |
| LOW | invokeai/app/util/video_decode_worker.py | 148 | except Exception: | CODE |
| LOW | invokeai/app/util/video_decode_worker.py | 182 | except Exception: | CODE |
| LOW | invokeai/app/util/video_decode_worker.py | 205 | except Exception: | CODE |
| LOW | invokeai/app/util/video_decode_worker.py | 233 | except Exception: | CODE |
| LOW | invokeai/app/util/video_decode_worker.py | 281 | except Exception as e: | CODE |
| MEDIUM⚡ | invokeai/app/util/user_management.py | 54 | print("Error: Email is required") | CODE |
| MEDIUM⚡ | invokeai/app/util/user_management.py | 64 | print("Error: Passwords do not match. Please try again.\n") | CODE |
| MEDIUM⚡ | invokeai/app/util/user_management.py | 69 | print(f"Error: {error_msg}\n") | CODE |
| MEDIUM | invokeai/app/util/user_management.py | 190 | print("Error: Email is required") | CODE |
| MEDIUM | invokeai/app/util/user_management.py | 341 | print(f"Error listing users: {e}") | CODE |
| MEDIUM | invokeai/app/util/user_management.py | 424 | print("Error: Email is required") | CODE |
| MEDIUM | invokeai/app/util/user_management.py | 462 | print("Error: Passwords do not match. Please try again.\n") | CODE |
| MEDIUM | invokeai/app/util/user_management.py | 467 | print(f"Error: {error_msg}\n") | CODE |
| LOW | invokeai/app/util/user_management.py | 96 | except Exception as e: | CODE |
| LOW | invokeai/app/util/user_management.py | 137 | except Exception as e: | CODE |
| LOW | invokeai/app/util/user_management.py | 223 | except Exception as e: | CODE |
| LOW | invokeai/app/util/user_management.py | 269 | except Exception as e: | CODE |
| LOW | invokeai/app/util/user_management.py | 340 | except Exception as e: | CODE |
| LOW | invokeai/app/util/user_management.py | 374 | except Exception as e: | CODE |
| LOW | invokeai/app/util/user_management.py | 500 | except Exception as e: | CODE |
| LOW | invokeai/app/util/user_management.py | 558 | except Exception as e: | CODE |
| LOW | invokeai/app/invocations/video_frame_extract_range.py | 236 | except Exception: | CODE |
| LOW | invokeai/app/invocations/ideogram4_denoise.py | 146 | except Exception: | CODE |
| LOW | invokeai/app/invocations/ernie_image_denoise.py | 233 | except Exception as e: | CODE |
| LOW | invokeai/app/invocations/anima_denoise.py | 904 | except Exception as e: | CODE |
| LOW | invokeai/app/invocations/baseinvocation.py | 634 | except Exception as e: | CODE |
| LOW | invokeai/app/invocations/baseinvocation.py | 781 | except Exception: | CODE |
| LOW | invokeai/app/invocations/video_concat.py | 179 | except Exception: | CODE |
| LOW | invokeai/app/invocations/wan_latents_to_video.py | 258 | except Exception: | CODE |
| LOW | invokeai/app/invocations/load_custom_nodes.py | 72 | except Exception: | CODE |
| LOW | invokeai/app/invocations/wan_denoise.py | 258 | except Exception: | CODE |
| LOW | invokeai/app/invocations/qwen_image_text_encoder.py | 181 | except Exception: | CODE |
| LOW | invokeai/app/api/sockets.py | 275 | except Exception: | CODE |
| LOW | invokeai/app/api/sockets.py | 326 | except Exception: | CODE |
| LOW | invokeai/app/api/sockets.py | 404 | except Exception: | CODE |
| LOW | invokeai/app/api/sockets.py | 421 | except Exception: | CODE |
| LOW | invokeai/app/api/sockets.py | 514 | except Exception: | CODE |
| LOW | invokeai/app/api/sockets.py | 636 | except Exception: | CODE |
| LOW | invokeai/app/api/sockets.py | 669 | except Exception: | CODE |
| LOW | invokeai/app/api/sockets.py | 729 | except Exception: | CODE |
| LOW | invokeai/app/api/sockets.py | 1126 | except Exception as e: | CODE |
| LOW | invokeai/app/api/extract_metadata_from_image.py | 67 | except Exception as e: | CODE |
| LOW | invokeai/app/api/extract_metadata_from_image.py | 90 | except Exception: | CODE |
| LOW | invokeai/app/api/extract_metadata_from_image.py | 128 | except Exception as e: | CODE |
| LOW | invokeai/app/api/dependencies.py | 94 | except Exception: | CODE |
| LOW | invokeai/app/api/routers/custom_nodes.py | 294 | except Exception: | CODE |
| LOW | invokeai/app/api/routers/custom_nodes.py | 375 | except Exception: | CODE |
| LOW | invokeai/app/api/routers/custom_nodes.py | 509 | except Exception: | CODE |
| LOW | invokeai/app/api/routers/custom_nodes.py | 525 | except Exception: | CODE |
| LOW | invokeai/app/api/routers/custom_nodes.py | 546 | except Exception: | CODE |
| LOW | invokeai/app/api/routers/custom_nodes.py | 563 | except Exception: | CODE |
| LOW | invokeai/app/api/routers/style_presets.py | 133 | except Exception: | CODE |
| 369 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | invokeai/app/util/dynamicprompts.py | 1 | CODE | |
| LOW | invokeai/app/util/ssrf.py | 31 | CODE | |
| LOW | invokeai/app/util/startup_utils.py | 66 | CODE | |
| LOW | invokeai/app/invocations/external_image_generation.py | 24 | CODE | |
| LOW | invokeai/app/invocations/baseinvocation.py | 3 | CODE | |
| LOW | invokeai/app/invocations/baseinvocation.py | 50 | CODE | |
| LOW | invokeai/app/api/auth_dependencies.py | 14 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 2 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 6 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 7 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 8 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 9 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 12 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 14 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 16 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 17 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 18 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 19 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 20 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 21 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 22 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 23 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 24 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 25 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 26 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 27 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 28 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 29 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 30 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 31 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 32 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 33 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 34 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 35 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 36 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 39 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 40 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 41 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 42 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 43 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 44 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 45 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 46 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 47 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 48 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 49 | CODE | |
| LOW | invokeai/app/services/invocation_services.py | 50 | CODE | |
| LOW | invokeai/app/services/app_settings/__init__.py | 3 | CODE | |
| LOW | invokeai/app/services/config/config_common.py | 11 | CODE | |
| LOW | invokeai/app/services/config/config_default.py | 4 | CODE | |
| LOW | invokeai/app/services/config/__init__.py | 3 | CODE | |
| LOW | invokeai/app/services/config/__init__.py | 4 | CODE | |
| LOW | invokeai/app/services/config/__init__.py | 4 | CODE | |
| LOW | …okeai/app/services/model_install/model_install_base.py | 17 | CODE | |
| LOW | invokeai/app/services/model_install/__init__.py | 3 | CODE | |
| LOW | invokeai/app/services/model_install/__init__.py | 4 | CODE | |
| LOW | invokeai/app/services/model_install/__init__.py | 4 | CODE | |
| LOW | invokeai/app/services/model_install/__init__.py | 4 | CODE | |
| LOW | invokeai/app/services/model_install/__init__.py | 4 | CODE | |
| LOW | invokeai/app/services/model_install/__init__.py | 4 | CODE | |
| 436 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | invokeai/app/invocations/anima_text_encoder.py | 0 | iterate over lora models to apply to the qwen3 text encoder. | STRING |
| HIGH | invokeai/app/invocations/z_image_text_encoder.py | 0 | iterate over lora models to apply to the qwen3 text encoder. | STRING |
| HIGH | invokeai/app/invocations/flux2_klein_text_encoder.py | 0 | iterate over lora models to apply to the qwen3 text encoder. | STRING |
| HIGH | invokeai/app/invocations/z_image_denoise.py | 0 | iterate over lora models to apply to the transformer. | STRING |
| HIGH | invokeai/app/invocations/anima_denoise.py | 0 | iterate over lora models to apply to the transformer. | STRING |
| HIGH | invokeai/app/invocations/qwen_image_denoise.py | 0 | iterate over lora models to apply to the transformer. | STRING |
| HIGH | …okeai/app/services/model_install/model_install_base.py | 0 | pause the indicated job, preserving partial downloads. | STRING |
| HIGH | …ai/app/services/model_install/model_install_default.py | 0 | pause the indicated job, preserving partial downloads. | STRING |
| HIGH | invokeai/app/services/download/download_default.py | 0 | pause the indicated job, preserving partial downloads. | STRING |
| HIGH | …rvices/board_video_records/board_video_records_base.py | 0 | gets all board images for a board, as a list of the image names. when ``user_id`` is provided, results are restricted to | STRING |
| HIGH | invokeai/app/services/board_images/board_images_base.py | 0 | gets all board images for a board, as a list of the image names. when ``user_id`` is provided, results are restricted to | STRING |
| HIGH | …rvices/board_image_records/board_image_records_base.py | 0 | gets all board images for a board, as a list of the image names. when ``user_id`` is provided, results are restricted to | STRING |
| HIGH | invokeai/app/services/model_images/model_images_base.py | 0 | low-level service responsible for storing and retrieving image files. | STRING |
| HIGH | …rvices/style_preset_images/style_preset_images_base.py | 0 | low-level service responsible for storing and retrieving image files. | STRING |
| HIGH | invokeai/app/services/image_files/image_files_base.py | 0 | low-level service responsible for storing and retrieving image files. | STRING |
| HIGH | …keai/app/services/model_images/model_images_default.py | 0 | checks if the required output folders exist and create them if they don't | STRING |
| HIGH | …rvices/workflow_thumbnails/workflow_thumbnails_disk.py | 0 | checks if the required output folders exist and create them if they don't | STRING |
| HIGH | …rvices/style_preset_images/style_preset_images_disk.py | 0 | checks if the required output folders exist and create them if they don't | STRING |
| HIGH | invokeai/app/services/image_files/image_files_disk.py | 0 | checks if the required output folders exist and create them if they don't | STRING |
| HIGH | …eai/app/services/session_queue/session_queue_sqlite.py | 0 | --sql insert into session_queue (queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, dest | STRING |
| HIGH | …session_queue/test_session_queue_bulk_cancel_events.py | 0 | --sql insert into session_queue (queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, dest | STRING |
| HIGH | …p/services/session_queue/test_session_queue_dequeue.py | 0 | --sql insert into session_queue (queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, dest | STRING |
| HIGH | …app/services/session_queue/test_session_queue_clear.py | 0 | --sql insert into session_queue (queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, dest | STRING |
| HIGH | …eai/app/services/session_queue/session_queue_sqlite.py | 0 | --sql insert into session_queue ( queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, des | STRING |
| HIGH | tests/app/routers/test_session_queue_workflow_call.py | 0 | --sql insert into session_queue ( queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, des | STRING |
| HIGH | tests/app/routers/test_multiuser_authorization.py | 0 | --sql insert into session_queue ( queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, des | STRING |
| HIGH | …es/session_queue/test_session_queue_status_sequence.py | 0 | --sql insert into session_queue ( queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, des | STRING |
| HIGH | …ion_queue/test_session_queue_status_event_isolation.py | 0 | --sql insert into session_queue ( queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, des | STRING |
| HIGH | …ession_queue/test_session_queue_status_user_scoping.py | 0 | --sql insert into session_queue ( queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, des | STRING |
| HIGH | …ession_queue/test_session_queue_dequeue_concurrency.py | 0 | --sql insert into session_queue ( queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, des | STRING |
| HIGH | …es/session_queue/test_session_queue_multigpu_cancel.py | 0 | --sql insert into session_queue ( queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, des | STRING |
| HIGH | …ion_queue/test_session_queue_workflow_call_metadata.py | 0 | --sql insert into session_queue ( queue_id, session, session_id, batch_id, field_values, priority, workflow, origin, des | STRING |
| HIGH | invokeai/backend/image_util/lineart.py | 0 | get the url to download the model from the hugging face hub. | STRING |
| HIGH | invokeai/backend/image_util/lineart_anime.py | 0 | get the url to download the model from the hugging face hub. | STRING |
| HIGH | invokeai/backend/image_util/hed.py | 0 | get the url to download the model from the hugging face hub. | STRING |
| HIGH | invokeai/backend/image_util/pidi/__init__.py | 0 | get the url to download the model from the hugging face hub. | STRING |
| HIGH | invokeai/backend/image_util/normal_bae/__init__.py | 0 | get the url to download the model from the hugging face hub. | STRING |
| HIGH | invokeai/backend/image_util/mlsd/__init__.py | 0 | get the url to download the model from the hugging face hub. | STRING |
| HIGH | …d/quantization/scripts/load_flux_model_bnb_llm_int8.py | 0 | a script for quantizing a t5 text encoder model using the bitsandbytes llm.int8() quantization method. this script is pr | STRING |
| HIGH | …ackend/quantization/scripts/load_flux_model_bnb_nf4.py | 0 | a script for quantizing a t5 text encoder model using the bitsandbytes llm.int8() quantization method. this script is pr | STRING |
| HIGH | …d/quantization/scripts/quantize_t5_xxl_bnb_llm_int8.py | 0 | a script for quantizing a t5 text encoder model using the bitsandbytes llm.int8() quantization method. this script is pr | STRING |
| HIGH | invokeai/backend/model_manager/configs/t2i_adapter.py | 0 | raise `notamatch` if the model base does not match this config class. | STRING |
| HIGH | invokeai/backend/model_manager/configs/controlnet.py | 0 | raise `notamatch` if the model base does not match this config class. | STRING |
| HIGH | invokeai/backend/model_manager/configs/ip_adapter.py | 0 | raise `notamatch` if the model base does not match this config class. | STRING |
| HIGH | invokeai/backend/model_manager/configs/lora.py | 0 | raise `notamatch` if the model base does not match this config class. | STRING |
| HIGH | invokeai/backend/model_manager/configs/main.py | 0 | raise `notamatch` if the model base does not match this config class. | STRING |
| HIGH | invokeai/backend/model_manager/configs/vae.py | 0 | raise `notamatch` if the model base does not match this config class. | STRING |
| HIGH | tests/app/routers/test_auth.py | 0 | enable multiuser mode for auth tests. auth tests need multiuser mode enabled since the login/setup endpoints return 403 | STRING |
| HIGH | tests/app/services/auth/test_security.py | 0 | enable multiuser mode for auth tests. auth tests need multiuser mode enabled since the login/setup endpoints return 403 | STRING |
| HIGH | tests/app/services/auth/test_data_isolation.py | 0 | enable multiuser mode for auth tests. auth tests need multiuser mode enabled since the login/setup endpoints return 403 | STRING |
| HIGH | tests/app/services/auth/test_performance.py | 0 | create table users ( user_id text not null primary key, email text not null unique, display_name text, password_hash tex | STRING |
| HIGH | tests/app/services/users/test_user_service.py | 0 | create table users ( user_id text not null primary key, email text not null unique, display_name text, password_hash tex | STRING |
| HIGH | tests/app/services/users/test_last_admin_invariant.py | 0 | create table users ( user_id text not null primary key, email text not null unique, display_name text, password_hash tex | STRING |
| HIGH | …conversions/test_flux_control_lora_conversion_utils.py | 0 | test that is_state_dict_likely_in_flux_onetrainer_format() returns false for a state dict that is in the diffusers flux | STRING |
| HIGH | …a_conversions/test_flux_kohya_lora_conversion_utils.py | 0 | test that is_state_dict_likely_in_flux_onetrainer_format() returns false for a state dict that is in the diffusers flux | STRING |
| HIGH | …versions/test_flux_onetrainer_lora_conversion_utils.py | 0 | test that is_state_dict_likely_in_flux_onetrainer_format() returns false for a state dict that is in the diffusers flux | STRING |
| HIGH | tests/backend/text_llm/test_text_llm_pipeline.py | 0 | stand-in for textiteratorstreamer — yields a fixed sequence of text chunks. | STRING |
| HIGH | tests/backend/text_llm/test_text_llm_thinking.py | 0 | stand-in for textiteratorstreamer — yields a fixed sequence of text chunks. | STRING |
| HIGH | …ckend/llava_onevision/test_llava_onevision_pipeline.py | 0 | stand-in for textiteratorstreamer — yields a fixed sequence of text chunks. | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | invokeai/app/api_app.py | 113 | CODE | |
| LOW | invokeai/app/util/dynamicprompts.py | 17 | CODE | |
| LOW | invokeai/app/util/video_thumbnails.py | 223 | CODE | |
| LOW | invokeai/app/util/video_thumbnails.py | 341 | CODE | |
| LOW | invokeai/app/util/step_callback.py | 308 | CODE | |
| LOW | invokeai/app/util/video_decode_worker.py | 258 | CODE | |
| LOW | invokeai/app/util/user_management.py | 411 | CODE | |
| LOW | invokeai/app/invocations/metadata_linked.py | 999 | CODE | |
| LOW | invokeai/app/invocations/metadata_linked.py | 1076 | CODE | |
| LOW | invokeai/app/invocations/compel.py | 460 | CODE | |
| LOW | invokeai/app/invocations/z_image_denoise.py | 275 | CODE | |
| LOW | invokeai/app/invocations/z_image_latents_to_image.py | 45 | CODE | |
| LOW | invokeai/app/invocations/anima_denoise.py | 539 | CODE | |
| LOW | invokeai/app/invocations/flux2_denoise.py | 151 | CODE | |
| LOW | invokeai/app/invocations/anima_latents_to_image.py | 110 | CODE | |
| LOW | invokeai/app/invocations/composition-nodes.py | 85 | CODE | |
| LOW | invokeai/app/invocations/composition-nodes.py | 449 | CODE | |
| LOW | invokeai/app/invocations/composition-nodes.py | 679 | CODE | |
| LOW | invokeai/app/invocations/composition-nodes.py | 1312 | CODE | |
| LOW | invokeai/app/invocations/composition-nodes.py | 1422 | CODE | |
| LOW | invokeai/app/invocations/composition-nodes.py | 1475 | CODE | |
| LOW | invokeai/app/invocations/composition-nodes.py | 1507 | CODE | |
| LOW | invokeai/app/invocations/baseinvocation.py | 503 | CODE | |
| LOW | invokeai/app/invocations/baseinvocation.py | 214 | CODE | |
| LOW | invokeai/app/invocations/wan_model_loader.py | 124 | CODE | |
| LOW | invokeai/app/invocations/ip_adapter.py | 123 | CODE | |
| LOW | invokeai/app/invocations/flux_denoise.py | 710 | CODE | |
| LOW | invokeai/app/invocations/anima_image_to_latents.py | 59 | CODE | |
| LOW | invokeai/app/invocations/video_concat.py | 215 | CODE | |
| LOW | invokeai/app/invocations/facetools.py | 356 | CODE | |
| LOW | invokeai/app/invocations/spandrel_image_to_image.py | 209 | CODE | |
| LOW | invokeai/app/invocations/wan_video_denoise.py | 156 | CODE | |
| LOW | invokeai/app/invocations/math.py | 199 | CODE | |
| LOW | invokeai/app/invocations/math.py | 273 | CODE | |
| LOW | invokeai/app/invocations/wan_latents_to_video.py | 91 | CODE | |
| LOW | invokeai/app/invocations/create_gradient_mask.py | 80 | CODE | |
| LOW | invokeai/app/invocations/wan_denoise.py | 213 | CODE | |
| LOW | invokeai/app/invocations/wan_denoise.py | 437 | CODE | |
| LOW | invokeai/app/invocations/strings.py | 31 | CODE | |
| LOW | invokeai/app/invocations/z_image_image_to_latents.py | 44 | CODE | |
| LOW | invokeai/app/api/sockets.py | 226 | CODE | |
| LOW | invokeai/app/api/sockets.py | 904 | CODE | |
| LOW | invokeai/app/api/routers/board_images.py | 184 | CODE | |
| LOW | invokeai/app/api/routers/board_images.py | 238 | CODE | |
| LOW | invokeai/app/api/routers/board_images.py | 336 | CODE | |
| LOW | invokeai/app/api/routers/model_manager.py | 518 | CODE | |
| LOW | invokeai/app/api/routers/model_manager.py | 1362 | CODE | |
| LOW | invokeai/app/api/routers/model_manager.py | 1411 | CODE | |
| LOW | invokeai/app/api/routers/app_info.py | 220 | CODE | |
| LOW | invokeai/app/api/routers/images.py | 526 | CODE | |
| LOW | invokeai/app/api/routers/recall_parameters.py | 213 | CODE | |
| LOW | invokeai/app/api/routers/recall_parameters.py | 269 | CODE | |
| LOW | invokeai/app/api/routers/recall_parameters.py | 348 | CODE | |
| LOW | invokeai/app/api/routers/session_queue.py | 201 | CODE | |
| LOW | invokeai/app/api/routers/session_queue.py | 381 | CODE | |
| LOW | invokeai/app/api/routers/videos.py | 189 | CODE | |
| LOW | invokeai/app/api/routers/videos.py | 592 | CODE | |
| LOW | invokeai/app/services/config/config_default.py | 497 | CODE | |
| LOW | invokeai/app/services/images/images_default.py | 308 | CODE | |
| LOW | …ai/app/services/model_install/model_install_default.py | 214 | CODE | |
| 197 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | invokeai/app/api_app.py | 93 | # Create the app | COMMENT |
| MEDIUM | invokeai/app/util/profiler.py | 13 | # Create a profiler | STRING |
| MEDIUM⚡ | invokeai/app/invocations/facetools.py | 197 | # Create a FaceMesh object for face landmark detection and mesh generation. | COMMENT |
| MEDIUM | invokeai/app/invocations/facetools.py | 597 | # Create an RGBA image with transparency | COMMENT |
| MEDIUM | invokeai/app/invocations/facetools.py | 678 | # Create an RGBA image with transparency | COMMENT |
| MEDIUM | invokeai/app/invocations/create_gradient_mask.py | 102 | # Create a circular distance kernel that fades from center outward | COMMENT |
| MEDIUM | invokeai/app/invocations/create_gradient_mask.py | 112 | # Create a Gaussian kernel | COMMENT |
| MEDIUM | …p/invocations/tiled_multi_diffusion_denoise_latents.py | 43 | # Create a shallow copy of the control_data object. | COMMENT |
| MEDIUM | invokeai/app/invocations/image.py | 215 | # Create a temporary image to paste the image with transparency | COMMENT |
| MEDIUM | invokeai/app/invocations/image.py | 1271 | # Create a mask based on the threshold and the distance calculated above | COMMENT |
| MEDIUM | invokeai/app/invocations/image.py | 1357 | # Create a distance transform of the thresholded mask. Distances are measured to the | COMMENT |
| MEDIUM | invokeai/app/invocations/image.py | 1516 | # Create a noisy version of the input image | COMMENT |
| MEDIUM | invokeai/app/services/config/config_default.py | 700 | # Create the example config file, with some extra example values provided | COMMENT |
| MEDIUM | …vices/shared/sqlite_migrator/sqlite_migrator_common.py | 54 | # Define the migration callback class | STRING |
| MEDIUM | …vices/shared/sqlite_migrator/sqlite_migrator_common.py | 74 | # Define the migration builder function. This function creates an instance of the migration callback | COMMENT |
| MEDIUM | …ices/board_image_records/board_image_records_sqlite.py | 120 | # Create the correct length of placeholders | STRING |
| MEDIUM | …ices/board_image_records/board_image_records_sqlite.py | 175 | # Create the correct length of placeholders | STRING |
| MEDIUM | …ices/board_image_records/board_image_records_sqlite.py | 196 | # Create the correct length of placeholders | STRING |
| MEDIUM | …eai/app/services/image_records/image_records_sqlite.py | 195 | # Create the correct length of placeholders | STRING |
| MEDIUM | invokeai/backend/llava_onevision_pipeline.py | 49 | # Define a chat history and use `apply_chat_template` to get correctly formatted prompt. | COMMENT |
| MEDIUM | invokeai/backend/image_util/controlnet_processor.py | 133 | # Create a minimal context to run the invocation | COMMENT |
| MEDIUM | invokeai/backend/image_util/imwatermark/vendor.py | 1 | # This file is vendored from https://github.com/ShieldMnt/invisible-watermark | COMMENT |
| MEDIUM | invokeai/backend/image_util/infill_methods/tile.py | 108 | # Create the pool of tiles that we will use to infill | COMMENT |
| MEDIUM | invokeai/backend/image_util/infill_methods/tile.py | 111 | # Create an image from the tiles, same size as the original | COMMENT |
| MEDIUM | …backend/image_util/segment_anything/mask_refinement.py | 1 | # This file contains utilities for Grounded-SAM mask refinement based on: | COMMENT |
| MEDIUM | …backend/image_util/segment_anything/mask_refinement.py | 41 | # Create an empty mask. | COMMENT |
| MEDIUM | invokeai/backend/flux/custom_block_processor.py | 24 | """This function is a direct copy of DoubleStreamBlock.forward(), but it returns some of the intermediate | STRING |
| MEDIUM | invokeai/backend/flux/custom_block_processor.py | 109 | """This function is a direct copy of SingleStreamBlock.forward().""" | STRING |
| MEDIUM | …nd/flux/ip_adapter/ip_double_stream_block_processor.py | 1 | # This file is based on: | COMMENT |
| MEDIUM | …s/lora_conversions/flux_xlabs_lora_conversion_utils.py | 77 | # Create the InvokeAI-style layer key | COMMENT |
| MEDIUM | invokeai/backend/quantization/bnb_llm_int8.py | 6 | # This file contains utils for working with models that use bitsandbytes LLM.int8() quantization. | COMMENT |
| MEDIUM | invokeai/backend/quantization/bnb_nf4.py | 4 | # This file contains utils for working with models that use bitsandbytes NF4 quantization. | COMMENT |
| MEDIUM | invokeai/backend/quantization/bnb_nf4.py | 29 | """This method is based on the logic in the bitsandbytes serialization unit tests for `Linear4bit`: | STRING |
| MEDIUM | invokeai/backend/pid/_src/utils/context_parallel.py | 79 | # Create a list to store tensors from all ranks | COMMENT |
| MEDIUM | invokeai/backend/pid/_src/utils/context_parallel.py | 116 | # Create a list to store tensors from all ranks | COMMENT |
| MEDIUM | …end/stable_diffusion/diffusion/regional_prompt_data.py | 92 | # Create an empty attention mask with the correct shape. | COMMENT |
| MEDIUM | …table_diffusion/diffusion/shared_invokeai_diffusion.py | 327 | # Create a dummy mask and range for text conditioning that doesn't have region masks. | COMMENT |
| MEDIUM | …keai/backend/model_manager/load/model_loaders/anima.py | 160 | # Create an empty AnimaTransformer with Anima's default architecture parameters | COMMENT |
| MEDIUM | …ai/backend/model_manager/load/model_loaders/z_image.py | 340 | # Create an empty model with the default Z-Image config | COMMENT |
| MEDIUM | …ai/backend/model_manager/load/model_loaders/z_image.py | 426 | # Create an empty model with the default Z-Image config | COMMENT |
| MEDIUM | …ai/backend/model_manager/load/model_loaders/z_image.py | 552 | # Create an empty model with the default Z-Image config | COMMENT |
| MEDIUM | …ai/backend/model_manager/load/model_loaders/z_image.py | 690 | # Create an empty model with the default Z-Image config | COMMENT |
| MEDIUM | …ai/backend/model_manager/load/model_loaders/z_image.py | 873 | # Create an empty control adapter | COMMENT |
| MEDIUM | tests/dangerously_run_function_in_subprocess.py | 30 | # Create a script that calls the function | COMMENT |
| MEDIUM | tests/legacy_tests.sh | 3 | # This file contains bunch of compatibility tests that ensures | COMMENT |
| MEDIUM | tests/app/test_extract_metadata_from_image.py | 32 | # Create a mock image with valid metadata | COMMENT |
| MEDIUM | tests/app/routers/test_auth.py | 80 | # Create a test user | COMMENT |
| MEDIUM | tests/app/routers/test_session_queue_sanitization.py | 19 | # Define a minimal test invocation for the test | COMMENT |
| MEDIUM | tests/app/routers/test_client_state_multiuser.py | 79 | # Create a regular user | COMMENT |
| MEDIUM⚡ | tests/app/routers/test_multiuser_authorization.py | 1107 | # Create a shared board and add the image to it | COMMENT |
| MEDIUM⚡ | tests/app/routers/test_multiuser_authorization.py | 1335 | # Create a board owned by user1 and add the image to it | COMMENT |
| MEDIUM⚡ | tests/app/routers/test_multiuser_authorization.py | 2529 | # Create a token for a user_id that was never created in the user service | COMMENT |
| MEDIUM | tests/app/routers/test_multiuser_authorization.py | 2508 | # Create the user in the database so the active-user check passes | COMMENT |
| MEDIUM | tests/app/routers/test_multiuser_authorization.py | 2548 | # Create a real user, then deactivate them | COMMENT |
| MEDIUM | tests/app/routers/test_multiuser_authorization.py | 3239 | # Create a fake installed pack directory | COMMENT |
| MEDIUM | tests/app/routers/test_custom_nodes.py | 418 | # Create a mock invocation class | COMMENT |
| MEDIUM | tests/app/util/test_step_callback.py | 18 | # Create a small 1x16x4x4 latent tensor (batch=1, channels=16, 4x4 spatial) | COMMENT |
| MEDIUM⚡ | tests/app/api/test_sliding_window_token.py | 193 | # Create a remember-me token with only 1 hour remaining (less than 24h) | COMMENT |
| MEDIUM⚡ | tests/app/services/auth/test_security.py | 252 | # Create a regular user | COMMENT |
| MEDIUM | tests/app/services/auth/test_security.py | 82 | # Create a legitimate user first | COMMENT |
| 15 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | invokeai/app/util/controlnet_utils.py | 378 | Pre-process images for ControlNets or T2I-Adapters. Args: image (Image): The PIL image to pre-process. | STRING |
| HIGH | invokeai/app/invocations/metadata_linked.py | 139 | Combines any number of items or lists into a single list, ensuring consistency in type. Args: item_cls: | STRING |
| HIGH | invokeai/app/api/auth_dependencies.py | 108 | Get current authenticated user from Bearer token. Note: This function accesses ApiDependencies.invoker.services.use | STRING |
| HIGH | invokeai/app/api/auth_dependencies.py | 156 | Get current authenticated user from Bearer token, or return a default system user if not authenticated. This depend | STRING |
| HIGH | invokeai/app/api/auth_dependencies.py | 220 | Require admin role for the current user. Stays `async def`, unlike the dependencies it builds on: this only reads a | STRING |
| HIGH | invokeai/app/api/auth_dependencies.py | 244 | Require admin role for the current user, or return default system admin in single-user mode. `async def` for the sa | STRING |
| HIGH | invokeai/app/api/routers/auth.py | 199 | Authenticate user and return access token. Args: request: Login credentials (email and password) Retur | STRING |
| HIGH | invokeai/app/api/routers/auth.py | 332 | Get current authenticated user's information. Args: current_user: The authenticated user's token data | STRING |
| HIGH | invokeai/app/api/routers/auth.py | 356 | Set up initial administrator account. This endpoint can only be called once, when no admin user exists. It creates | STRING |
| HIGH | invokeai/app/api/routers/auth.py | 496 | Create a new user. Requires admin privileges. Args: request: New user details Returns: The cre | STRING |
| HIGH | invokeai/app/api/routers/auth.py | 526 | Get a user by ID. Requires admin privileges. Args: user_id: The user ID Returns: The user | STRING |
| HIGH | invokeai/app/api/routers/auth.py | 552 | Update a user. Requires admin privileges. Resetting a password revokes the target's existing sessions. An admin res | STRING |
| HIGH | invokeai/app/api/routers/auth.py | 705 | Update the current user's own profile. To change the password, both ``current_password`` and ``new_password`` must | STRING |
| HIGH | invokeai/app/api/routers/recall_parameters.py | 419 | Update recallable parameters that can be recalled on the frontend. This endpoint allows updating parameters su | STRING |
| HIGH | invokeai/app/services/users/users_common.py | 10 | Validate email address, allowing special-use domains like .local for testing. This validator first tries standard e | STRING |
| HIGH | invokeai/app/services/users/users_base.py | 14 | Create a new user. Args: user_data: User creation data strict_password_checking: If Tru | STRING |
| HIGH | invokeai/app/services/users/users_base.py | 67 | Update user. Args: user_id: The user ID changes: Fields to update strict_pa | STRING |
| HIGH | invokeai/app/services/users/users_base.py | 123 | Create an admin user (for initial setup). Args: user_data: User creation data strict_pa | STRING |
| HIGH | …es/style_preset_records/style_preset_records_common.py | 92 | Parses style presets from a file. The file must be a CSV or JSON file. If CSV, the file must have the following col | STRING |
| HIGH | invokeai/backend/hidiffusion/hidiffusion.py | 193 | Function invoked when calling the pipeline for generation. Args: prompt (`str` | STRING |
| HIGH | invokeai/backend/image_util/util.py | 164 | Apply non-maximum suppression to an image. If both threshold and sigma are provided, the image will blurred be | STRING |
| HIGH | …ules/efficientnet_repo/geffnet/efficientnet_builder.py | 464 | Decode block definition string Gets a list of block arg (dicts) through a string notation of arguments. E.g. i | STRING |
| HIGH | …patches/lora_conversions/sdxl_lora_conversion_utils.py | 8 | Convert the keys of an SDXL LoRA state_dict to diffusers format. The input state_dict can be in either Stability AI | STRING |
| HIGH | invokeai/backend/pid/_src/utils/context_parallel.py | 28 | Split input tensor along the sequence dimension for context parallelism. This function divides the input tenso | STRING |
| HIGH | invokeai/backend/pid/_src/utils/context_parallel.py | 59 | Concatenate outputs from different ranks in the checkpoint parallelism group. This function gathers tensors fr | STRING |
| HIGH | invokeai/backend/pid/_src/utils/context_parallel.py | 93 | Concatenate outputs from different ranks in the context parallelism group. This function gathers tensors from | STRING |
| HIGH | …okeai/backend/pid/_ext/imaginaire/utils/distributed.py | 359 | Modify based on DDP source code Synchronizes the parameters and buffers of a model across different processes i | STRING |
| HIGH | …/backend/model_manager/configs/identification_utils.py | 47 | Load the diffusers/transformers model config file and return it as a dictionary. The config file is expected to be i | STRING |
| HIGH | …/backend/model_manager/configs/identification_utils.py | 81 | Load the diffusers/transformers model config file and return the class name. Args: config_path: The path to | STRING |
| HIGH | invokeai/backend/model_manager/configs/factory.py | 658 | Classify a model on disk and return the best matching model config. Args: mod: The model on disk to | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | pyproject.toml | 61 | # The ROCm path is constrained where it can actually be targeted: the `rocm` extra below pins an | COMMENT |
| LOW | pyproject.toml | 141 | "torch==2.10.0+rocm7.1; sys_platform == 'linux' and platform_machine != 'aarch64'", | COMMENT |
| LOW | invokeai/app/run_app.py | 1 | import os | COMMENT |
| LOW | invokeai/app/api_app.py | 141 | token_data = verify_token(token) | COMMENT |
| LOW | invokeai/app/util/video_thumbnails.py | 41 | # Resident-memory kill threshold for a decode worker *tree* (the worker plus its | COMMENT |
| LOW | invokeai/app/invocations/denoise_latents.py | 781 | timesteps = timesteps[t_start_idx : t_start_idx + t_end_idx] | COMMENT |
| LOW | invokeai/app/invocations/anima_denoise.py | 661 | device=device, | COMMENT |
| LOW | invokeai/app/invocations/qwen_image_latents_to_image.py | 81 | with SeamlessExt.static_patch_model(vae, self.vae.seamless_axes): | COMMENT |
| LOW | invokeai/app/invocations/flux2_denoise.py | 361 | inpaint_mask = self._prep_inpaint_mask(context, x) | COMMENT |
| LOW | invokeai/app/invocations/baseinvocation.py | 561 | # deprecated and should be migrated to: | COMMENT |
| LOW | invokeai/app/invocations/wan_ref_image_encoder.py | 141 | # swaps in particular can leave the cache fragmented in ways that look like | COMMENT |
| LOW | invokeai/app/invocations/flux2_dev_text_encoder.py | 161 | "The Mistral encoder model may be corrupted or incompatible." | COMMENT |
| LOW | invokeai/app/invocations/wan_lora_loader.py | 21 | # | COMMENT |
| LOW | invokeai/app/invocations/wan_denoise.py | 601 | inpaint_extension = RectifiedFlowInpaintExtension( | COMMENT |
| LOW | invokeai/app/invocations/wan_denoise.py | 621 | # ``get_config`` doesn't touch the weights cache. | COMMENT |
| LOW | invokeai/app/invocations/image.py | 1361 | # np_result is also the final image for everywhere except the fade band. The black | COMMENT |
| LOW | invokeai/app/invocations/image.py | 1381 | # Control points: x values (normalized distance) and corresponding fade pct y values. | COMMENT |
| LOW | invokeai/app/api/sockets.py | 61 | logger = InvokeAILogger.get_logger() | COMMENT |
| LOW | invokeai/app/api/sockets.py | 741 | else: | COMMENT |
| LOW | invokeai/app/api/extract_metadata_from_image.py | 101 | stringified_graph: str | None = None | COMMENT |
| LOW | invokeai/app/api/auth_dependencies.py | 41 | - it is active, | COMMENT |
| LOW | invokeai/app/api/routers/board_images.py | 261 | failed_images: set[str] = set() | COMMENT |
| LOW | invokeai/app/api/routers/board_images.py | 381 | COMMENT | |
| LOW | invokeai/app/api/routers/model_manager.py | 61 | model_manager_router = APIRouter(prefix="/v2/models", tags=["model_manager"]) | COMMENT |
| LOW | invokeai/app/api/routers/images.py | 541 | # discard the response payload for items the caller had already legitimately deleted. | COMMENT |
| LOW | invokeai/app/api/routers/images.py | 581 | # | COMMENT |
| LOW | invokeai/app/api/routers/videos.py | 401 | batch: VideoNamesBatch, | COMMENT |
| LOW | …ervices/session_processor/session_processor_default.py | 741 | # a cancel event set while the row is still non-terminal is treated as a stale | COMMENT |
| LOW | …ervices/session_processor/session_processor_default.py | 961 | continue | COMMENT |
| LOW | …eai/app/services/session_queue/session_queue_common.py | 521 | node_field_values_to_zip.append(node_field_values) | COMMENT |
| LOW | …eai/app/services/session_queue/session_queue_common.py | 541 | # {"node_path": "3", "field_name": "c", "value": 6}, | COMMENT |
| LOW | …eai/app/services/session_queue/session_queue_sqlite.py | 41 | from invokeai.app.services.shared.graph import GraphExecutionState | COMMENT |
| LOW | invokeai/frontend/web/src/i18.d.ts | 1 | // TODO: Disabled for IDE performance issues with our translation JSON | COMMENT |
| LOW | …b/src/app/store/middleware/devtools/actionsDenylist.ts | 1 | /** | COMMENT |
| LOW | …leware/listenerMiddleware/listeners/boardIdSelected.ts | 21 | // or re-picking the one already active, leaves the last item unchanged while still being the | COMMENT |
| LOW | …leware/listenerMiddleware/listeners/boardIdSelected.ts | 41 | } | COMMENT |
| LOW | …leware/listenerMiddleware/listeners/boardIdSelected.ts | 61 | // that changes nothing must not announce itself as a pick. NoBoardBoard and the view tabs | COMMENT |
| LOW | …nd/web/src/app/store/enhancers/reduxRemember/driver.ts | 21 | const path = buildV1Url(`client_state/default/${endpoint}`, query); | COMMENT |
| LOW | …nd/web/src/app/store/enhancers/reduxRemember/driver.ts | 41 | // | COMMENT |
| LOW | …ntend/web/src/features/deleteImageModal/store/state.ts | 101 | // a valid replacement candidate. Mirrors deleteVideoModal/store/state.ts. | COMMENT |
| LOW | …features/nodes/util/graph/generation/buildFLUXGraph.ts | 101 | if (isFLUXFill) { | COMMENT |
| LOW | …ai/frontend/web/src/features/nodes/store/nodesSlice.ts | 281 | }); | COMMENT |
| LOW | …nd/web/src/features/auth/components/ProtectedRoute.tsx | 41 | COMMENT | |
| LOW | …ntend/web/src/features/deleteVideoModal/store/state.ts | 121 | // If anything in the active selection was actually deleted, advance to a still-living | COMMENT |
| LOW | …lery/components/ImageViewer/viewerProgressLifecycle.ts | 221 | // create the illusion of the progress image "resolving" into the final image. If we cleared the progress image | COMMENT |
| LOW | …s/gallery/components/ImageViewer/selectedItemReveal.ts | 161 | } | COMMENT |
| LOW | …gallery/components/ImageViewer/CurrentVideoPreview.tsx | 181 | const handleVideoError = useCallback(() => { | COMMENT |
| LOW | …frontend/web/src/features/controlLayers/store/types.ts | 901 | animaScheduler: zParameterAnimaScheduler, | COMMENT |
| LOW | …b/src/features/controlLayers/store/paramsSlice.test.ts | 1101 | expect(result.dimensions.height).toBe(1024); | COMMENT |
| LOW | …b/src/features/controlLayers/store/paramsSlice.test.ts | 1401 | COMMENT | |
| LOW | …nd/web/src/features/controlLayers/store/paramsSlice.ts | 1041 | * that predates it, or upgrading users lose the whole slice — see `repairParamsState`. Note that | COMMENT |
| LOW | …ai/frontend/web/src/features/metadata/parsing.test.tsx | 1 | import type { AppStore } from 'app/store/store'; | COMMENT |
| LOW | …keai/frontend/web/src/services/api/endpoints/images.ts | 261 | const authContext = captureAuthContext(); | COMMENT |
| LOW | …keai/frontend/web/src/services/api/endpoints/images.ts | 501 | */ | COMMENT |
| LOW | …keai/frontend/web/src/services/api/endpoints/images.ts | 521 | // nothing-happened path and toasts a failure over an arriving download. | COMMENT |
| LOW | …keai/frontend/web/src/services/api/endpoints/images.ts | 541 | // login screen, and returning `first` drives `matchFulfilled` into raising the | COMMENT |
| LOW | …keai/frontend/web/src/services/api/endpoints/images.ts | 561 | } | COMMENT |
| LOW | …eb/src/services/events/workflowExecutionCoordinator.ts | 81 | req.unsubscribe?.(); | COMMENT |
| LOW | …frontend/web/src/services/events/setEventListeners.tsx | 201 | clearSavedWorkflowSelection(data.workflow_id); | COMMENT |
| LOW | …frontend/web/src/services/events/setEventListeners.tsx | 741 | } | COMMENT |
| 82 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | invokeai/app/util/ssrf.py | 50 | logger = logging.getLogger(__name__) | CODE |
| LOW | invokeai/app/invocations/__init__.py | 5 | __all__ = [f.stem for f in python_files] # type: ignore | CODE |
| LOW | invokeai/app/api/auth_dependencies.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | invokeai/app/api/routers/auth.py | 132 | def _set_media_cookie(request: Request, response: Response, token: str, max_age_seconds: int) -> None: | CODE |
| LOW | invokeai/app/api/routers/utilities.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | invokeai/app/services/app_settings/__init__.py | 5 | __all__ = ["AppSettingsService"] | CODE |
| LOW | invokeai/app/services/config/config_default.py | 326 | def update_config(self, config: dict[str, Any] | InvokeAIAppConfig, clobber: bool = True) -> None: | CODE |
| LOW | invokeai/app/services/config/__init__.py | 6 | __all__ = ["InvokeAIAppConfig", "get_config", "PagingArgumentParser"] | CODE |
| LOW | invokeai/app/services/auth/token_service.py | 33 | def set_jwt_secret(secret: str) -> None: | CODE |
| LOW | invokeai/app/services/model_install/__init__.py | 15 | __all__ = [ | CODE |
| LOW | …eai/app/services/model_install/model_install_common.py | 206 | def set_error(self, e: Exception) -> None: | CODE |
| LOW | …ai/app/services/model_install/model_install_default.py | 1065 | def _set_error(self, install_job: ModelInstallJob, excp: Exception) -> None: | CODE |
| LOW | invokeai/app/services/image_moves/__init__.py | 3 | __all__ = ["ImageMoveService"] | CODE |
| LOW⚡ | …vokeai/app/services/image_moves/image_moves_default.py | 102 | def set_session_queue(self, session_queue) -> None: | CODE |
| LOW | …vokeai/app/services/image_moves/image_moves_default.py | 778 | def _set_job_state(self, job_id: int, state: MoveJobState) -> None: | STRING |
| LOW | …ervices/session_processor/session_processor_default.py | 126 | def _set_torch_current_device(device: torch.device) -> None: | CODE |
| LOW⚡ | invokeai/app/services/shared/graph.py | 2483 | def _set_prepared_exec_state(self, exec_node_id: str, state: PreparedExecState) -> None: | CODE |
| LOW⚡ | invokeai/app/services/shared/graph.py | 2501 | def set_ready_order(self, order: Iterable[Type[BaseInvocation] | str]) -> None: | CODE |
| LOW⚡ | invokeai/app/services/shared/graph.py | 2736 | def set_waiting_workflow_call_child_item_ids(self, child_item_ids: list[int]) -> None: | CODE |
| LOW | invokeai/app/services/shared/graph.py | 214 | def set_state(self, exec_node_id: str, state: PreparedExecState) -> None: | CODE |
| LOW | invokeai/app/services/shared/graph.py | 226 | def set_iteration_path(self, exec_node_id: str, iteration_path: tuple[int, ...]) -> None: | CODE |
| LOW | invokeai/app/services/shared/graph.py | 2007 | def update_node(self, node_id: str, new_node: BaseInvocation) -> None: | CODE |
| LOW | invokeai/app/services/shared/graph.py | 2851 | def update_node(self, node_id: str, new_node: BaseInvocation) -> None: | CODE |
| LOW | invokeai/app/services/model_records/__init__.py | 14 | __all__ = [ | CODE |
| LOW | invokeai/app/services/model_load/__init__.py | 6 | __all__ = ["ModelLoadServiceBase", "ModelLoadService"] | CODE |
| LOW | …eai/app/services/session_queue/session_queue_sqlite.py | 154 | def _set_in_progress_to_canceled(self) -> None: | STRING |
| LOW | …app/services/workflow_records/workflow_records_base.py | 86 | def update_opened_at(self, workflow_id: str, user_id: Optional[str] = None) -> None: | CODE |
| LOW | …p/services/workflow_records/workflow_records_sqlite.py | 424 | def update_opened_at(self, workflow_id: str, user_id: Optional[str] = None) -> None: | STRING |
| LOW | invokeai/app/services/download/__init__.py | 12 | __all__ = [ | CODE |
| LOW | invokeai/app/services/model_manager/__init__.py | 6 | __all__ = [ | CODE |
| LOW | invokeai/app/services/external_generation/__init__.py | 14 | __all__ = [ | CODE |
| LOW | …app/services/external_generation/providers/__init__.py | 6 | __all__ = ["AlibabaCloudProvider", "GeminiProvider", "OpenAIProvider", "SeedreamProvider"] | CODE |
| LOW | invokeai/app/services/orphaned_models/__init__.py | 9 | __all__ = ["OrphanedModelsService", "OrphanedModelInfo", "CONVERSION_SCRATCH_DIRNAME"] | CODE |
| LOW | invokeai/invocation_api/__init__.py | 146 | __all__ = [ | CODE |
| LOW | invokeai/backend/hidiffusion/__init__.py | 3 | __all__ = ["apply_hidiffusion", "remove_hidiffusion"] | CODE |
| LOW | invokeai/backend/krea2/attention.py | 35 | def set_attention_mask(self, attention_mask: torch.Tensor | None) -> None: | CODE |
| LOW | invokeai/backend/ideogram4/__init__.py | 28 | __all__ = [ | CODE |
| LOW | …ules/efficientnet_repo/geffnet/efficientnet_builder.py | 11 | __all__ = ['get_bn_args_tf', 'resolve_bn_args', 'resolve_se_args', 'resolve_act_layer', 'make_divisible', | CODE |
| LOW | …ae/nets/submodules/efficientnet_repo/geffnet/config.py | 5 | __all__ = [ | CODE |
| LOW | …ts/submodules/efficientnet_repo/geffnet/mobilenetv3.py | 20 | __all__ = ['mobilenetv3_rw', 'mobilenetv3_large_075', 'mobilenetv3_large_100', 'mobilenetv3_large_minimal_100', | CODE |
| LOW | …bmodules/efficientnet_repo/geffnet/gen_efficientnet.py | 39 | __all__ = ['GenEfficientNet', 'mnasnet_050', 'mnasnet_075', 'mnasnet_100', 'mnasnet_b1', 'mnasnet_140', | CODE |
| LOW | …fficientnet_repo/geffnet/activations/activations_me.py | 17 | __all__ = ['swish_me', 'SwishMe', 'mish_me', 'MishMe', | CODE |
| LOW | …ficientnet_repo/geffnet/activations/activations_jit.py | 17 | __all__ = ['swish_jit', 'SwishJit', 'mish_jit', 'MishJit', | CODE |
| LOW | invokeai/backend/util/device_pool.py | 59 | def set_generation_devices(self, devices: list[torch.device]) -> None: | CODE |
| LOW | invokeai/backend/util/fp8.py | 30 | def set_fp8_compute_dtype(model: torch.nn.Module, compute_dtype: torch.dtype) -> None: | CODE |
| LOW | invokeai/backend/util/__init__.py | 8 | __all__ = [ | CODE |
| LOW | invokeai/backend/util/devices.py | 71 | def set_session_device(cls, device: Union[str, torch.device]) -> None: | CODE |
| LOW | invokeai/backend/flux/dype/embed.py | 48 | def set_step_state(self, sigma: float, height: int, width: int) -> None: | CODE |
| LOW | invokeai/backend/flux/dype/__init__.py | 23 | __all__ = [ | CODE |
| LOW⚡ | invokeai/backend/anima/anima_transformer.py | 27 | logger = logging.getLogger(__name__) | CODE |
| LOW | invokeai/backend/anima/control_net_lllite.py | 493 | def set_cond_image(self, cond: torch.Tensor | None) -> None: | CODE |
| LOW | invokeai/backend/anima/control_net_lllite.py | 508 | def set_multiplier(self, multiplier: float) -> None: | CODE |
| LOW | invokeai/backend/rectified_flow/er_sde_scheduler.py | 193 | def set_begin_index(self, begin_index: int = 0) -> None: | CODE |
| LOW | invokeai/backend/quantization/sdnq/loaders.py | 16 | logger = logging.getLogger(__name__) | CODE |
| LOW | invokeai/backend/quantization/sdnq/__init__.py | 11 | __all__ = [ | CODE |
| LOW | invokeai/backend/quantization/sdnq/sdnq_tensor.py | 17 | logger = logging.getLogger(__name__) | CODE |
| LOW | invokeai/backend/pid/decode.py | 651 | __all__ = [ | CODE |
| LOW | invokeai/backend/pid/_src/models/pid_model.py | 21 | logger = logging.getLogger(__name__) | CODE |
| LOW | invokeai/backend/pid/_src/models/pixeldit_model.py | 29 | logger = logging.getLogger(__name__) | CODE |
| LOW | invokeai/backend/pid/_src/models/pid_distill_model.py | 20 | logger = logging.getLogger(__name__) | CODE |
| 33 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | invokeai/app/api_app.py | 310 | CODE | |
| LOW | invokeai/app/invocations/fields.py | 693 | CODE | |
| LOW | invokeai/app/invocations/fields.py | 900 | CODE | |
| LOW | invokeai/app/invocations/baseinvocation.py | 652 | CODE | |
| LOW | invokeai/app/invocations/facetools.py | 516 | CODE | |
| LOW | invokeai/app/invocations/facetools.py | 620 | CODE | |
| LOW | invokeai/app/api/routers/images.py | 483 | CODE | |
| LOW | invokeai/app/api/routers/workflows.py | 169 | CODE | |
| LOW | invokeai/app/api/routers/gallery.py | 22 | CODE | |
| LOW | invokeai/app/api/routers/gallery.py | 66 | CODE | |
| LOW | invokeai/app/api/routers/videos.py | 733 | CODE | |
| LOW | invokeai/app/services/images/images_default.py | 37 | CODE | |
| LOW | invokeai/app/services/images/images_default.py | 243 | CODE | |
| LOW | invokeai/app/services/images/images_default.py | 388 | CODE | |
| LOW | invokeai/app/services/images/images_base.py | 46 | CODE | |
| LOW | invokeai/app/services/images/images_base.py | 118 | CODE | |
| LOW | invokeai/app/services/images/images_base.py | 165 | CODE | |
| LOW | invokeai/app/services/gallery/gallery_base.py | 20 | CODE | |
| LOW | invokeai/app/services/gallery/gallery_base.py | 38 | CODE | |
| LOW | invokeai/app/services/gallery/gallery_base.py | 59 | CODE | |
| LOW | invokeai/app/services/gallery/gallery_default.py | 38 | CODE | |
| LOW | invokeai/app/services/gallery/gallery_default.py | 169 | CODE | |
| LOW | invokeai/app/services/gallery/gallery_default.py | 197 | CODE | |
| LOW | invokeai/app/services/model_load/model_load_default.py | 138 | CODE | |
| LOW | …okeai/app/services/video_records/video_records_base.py | 46 | CODE | |
| LOW | …okeai/app/services/video_records/video_records_base.py | 106 | CODE | |
| LOW | …eai/app/services/video_records/video_records_sqlite.py | 139 | CODE | |
| LOW | …eai/app/services/video_records/video_records_sqlite.py | 312 | CODE | |
| LOW | invokeai/app/services/videos/videos_base.py | 46 | CODE | |
| LOW | invokeai/app/services/videos/videos_base.py | 114 | CODE | |
| LOW | invokeai/app/services/videos/videos_base.py | 153 | CODE | |
| LOW | invokeai/app/services/videos/videos_default.py | 39 | CODE | |
| LOW | invokeai/app/services/videos/videos_default.py | 248 | CODE | |
| LOW | invokeai/app/services/videos/videos_default.py | 380 | CODE | |
| LOW | …okeai/app/services/image_records/image_records_base.py | 54 | CODE | |
| LOW | …okeai/app/services/image_records/image_records_base.py | 124 | CODE | |
| LOW | …eai/app/services/image_records/image_records_sqlite.py | 153 | CODE | |
| LOW | …eai/app/services/image_records/image_records_sqlite.py | 433 | CODE | |
| LOW | invokeai/backend/hidiffusion/hidiffusion.py | 152 | CODE | |
| LOW | invokeai/backend/hidiffusion/hidiffusion.py | 917 | CODE | |
| LOW | invokeai/backend/image_util/lineart.py | 98 | CODE | |
| LOW | invokeai/backend/image_util/lineart.py | 228 | CODE | |
| LOW | invokeai/backend/image_util/lineart_anime.py | 274 | CODE | |
| LOW | invokeai/backend/image_util/hed.py | 217 | CODE | |
| LOW | invokeai/backend/image_util/basicsr/rrdbnet_arch.py | 125 | CODE | |
| LOW | …keai/backend/image_util/pbr_maps/architecture/block.py | 70 | CODE | |
| LOW | …keai/backend/image_util/pbr_maps/architecture/block.py | 350 | CODE | |
| LOW | …keai/backend/image_util/pbr_maps/architecture/block.py | 126 | CODE | |
| LOW | …keai/backend/image_util/pbr_maps/architecture/block.py | 143 | CODE | |
| LOW | …keai/backend/image_util/pbr_maps/architecture/block.py | 175 | CODE | |
| LOW | …keai/backend/image_util/pbr_maps/architecture/block.py | 219 | CODE | |
| LOW | …keai/backend/image_util/pbr_maps/architecture/block.py | 292 | CODE | |
| LOW | invokeai/backend/image_util/normal_bae/nets/baseline.py | 78 | CODE | |
| LOW | …ules/efficientnet_repo/geffnet/efficientnet_builder.py | 100 | CODE | |
| LOW | …ules/efficientnet_repo/geffnet/efficientnet_builder.py | 144 | CODE | |
| LOW | …ules/efficientnet_repo/geffnet/efficientnet_builder.py | 193 | CODE | |
| LOW | …ules/efficientnet_repo/geffnet/efficientnet_builder.py | 257 | CODE | |
| LOW | …ules/efficientnet_repo/geffnet/efficientnet_builder.py | 309 | CODE | |
| LOW | …ules/efficientnet_repo/geffnet/efficientnet_builder.py | 367 | CODE | |
| LOW | …ts/submodules/efficientnet_repo/geffnet/mobilenetv3.py | 59 | CODE | |
| 31 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | invokeai/app/invocations/flux2_klein_model_loader.py | 134 | # Check if main model is a pipeline-shaped config we can extract submodels from. | COMMENT |
| LOW | invokeai/app/invocations/flux2_denoise.py | 412 | # Check if we're doing inpainting (have a mask or a clipped schedule) | COMMENT |
| LOW⚡ | invokeai/app/invocations/facetools.py | 192 | # Check if the input image has four channels (RGBA). | COMMENT |
| LOW⚡ | invokeai/app/invocations/facetools.py | 207 | # Check if any face is detected. | COMMENT |
| LOW | invokeai/app/api/sockets.py | 780 | # Check if we have user info for this socket. In multiuser mode _handle_connect | COMMENT |
| LOW | invokeai/app/api/sockets.py | 800 | # Add socket to the queue room | COMMENT |
| LOW | invokeai/app/api/routers/auth.py | 213 | # Check if multiuser is enabled | COMMENT |
| LOW | invokeai/app/api/routers/auth.py | 373 | # Check if multiuser is enabled | COMMENT |
| LOW | invokeai/app/api/routers/auth.py | 382 | # Check if any admin exists | COMMENT |
| LOW | invokeai/app/api/routers/custom_nodes.py | 479 | # Check if this looks like a workflow (must have nodes and edges) | COMMENT |
| LOW⚡ | invokeai/app/api/routers/model_manager.py | 466 | # Check if the model is installed by comparing paths, appending to the scan result. | COMMENT |
| LOW | invokeai/app/api/routers/model_manager.py | 1368 | # Check if source matches exactly | COMMENT |
| LOW | invokeai/app/api/routers/model_manager.py | 1371 | # Check if name (or previous names), base and type match | COMMENT |
| LOW | invokeai/app/services/shared/graph.py | 1295 | # Check if any of the types in the Union is a List | COMMENT |
| LOW | invokeai/app/services/users/users_common.py | 35 | # Check if the error is specifically about special-use/reserved domains or localhost | COMMENT |
| LOW | invokeai/app/services/users/users_default.py | 87 | # Check if email already exists | COMMENT |
| LOW | invokeai/app/services/users/users_default.py | 188 | # Check if user exists | COMMENT |
| LOW | …pp/services/orphaned_models/orphaned_models_service.py | 89 | # Check if disk_file is under model_dir | COMMENT |
| LOW | invokeai/backend/hidiffusion/hidiffusion.py | 2065 | # Check if the pipeline is a ControlNet pipeline. InvokeAI's modular | COMMENT |
| LOW | invokeai/backend/image_util/infill_methods/tile.py | 26 | # Check if the image has an alpha channel and the tile is completely opaque | COMMENT |
| LOW | …ra_conversions/flux_diffusers_lora_conversion_utils.py | 29 | # Check if keys use transformer prefix | COMMENT |
| LOW | …ra_conversions/flux_diffusers_lora_conversion_utils.py | 38 | # Check if keys use base_model.model prefix | COMMENT |
| LOW | …ra_conversions/flux_diffusers_lora_conversion_utils.py | 105 | # Check if any key starts with "base_model.model." prefix | COMMENT |
| LOW | …s/lora_conversions/qwen_image_lora_conversion_utils.py | 56 | # Check if any key matches the Kohya pattern | COMMENT |
| LOW | …ora_conversions/flux_bfl_peft_lora_conversion_utils.py | 442 | # Check if any layer keys are in BFL format (contain double_blocks or single_blocks) | COMMENT |
| LOW | invokeai/backend/flux2/denoise.py | 111 | # Check if scheduler supports sigmas parameter using inspect.signature | COMMENT |
| LOW | invokeai/backend/quantization/sdnq/loaders.py | 112 | # Check if scale's out_features matches weight's out_features | COMMENT |
| LOW | invokeai/backend/quantization/sdnq/loaders.py | 152 | # Check if shape is stored in config | COMMENT |
| LOW | invokeai/backend/quantization/sdnq/loaders.py | 259 | # Check if this is a base weight tensor | COMMENT |
| LOW | invokeai/backend/quantization/sdnq/loaders.py | 269 | # Check if this is a quantized tensor (has scale) | COMMENT |
| LOW | …end/z_image/extensions/regional_prompting_extension.py | 89 | # Check if any regional masks exist | COMMENT |
| LOW | invokeai/backend/model_manager/util/select_hf_files.py | 171 | # Check if at least one of the files has the explicit fp16 variant. | COMMENT |
| LOW | invokeai/backend/model_manager/load/load_default.py | 247 | # Check if this is a text encoder submodel of a main model with cpu_only setting | COMMENT |
| LOW | invokeai/backend/model_manager/load/load_default.py | 254 | # Check if this is a standalone text encoder config with cpu_only field (T5Encoder, Qwen3Encoder, etc.) | COMMENT |
| LOW | …/backend/model_manager/load/model_cache/model_cache.py | 542 | # Check if there are any unlocked models that can be cleared | COMMENT |
| LOW | …ai/backend/model_manager/load/model_loaders/z_image.py | 156 | # Check if submodel folder has SDNQ quantization - if so, use SDNQ loader | COMMENT |
| LOW | …ai/backend/model_manager/load/model_loaders/z_image.py | 335 | # Check if conversion is needed (original format vs diffusers format) | COMMENT |
| LOW | …ai/backend/model_manager/load/model_loaders/z_image.py | 418 | # Check if the state dict is in original format (not diffusers format) | COMMENT |
| LOW | …ai/backend/model_manager/load/model_loaders/z_image.py | 685 | # Check if conversion is needed (original format vs diffusers format) | COMMENT |
| LOW | …ai/backend/model_manager/load/model_loaders/z_image.py | 769 | # Check if this is a standalone text_encoder download (no nested text_encoder folder) | COMMENT |
| LOW | …ai/backend/model_manager/load/model_loaders/z_image.py | 1215 | # Check if this is llama.cpp format (blk.X.) or PyTorch format (model.layers.X.) | COMMENT |
| LOW | …ai/backend/model_manager/load/model_loaders/z_image.py | 1332 | # Check if lm_head.weight is still a meta tensor (wasn't in GGUF state dict) | COMMENT |
| LOW | …vokeai/backend/model_manager/load/model_loaders/vae.py | 202 | # Check if this is an SDNQ-quantized VAE folder | COMMENT |
| LOW | …okeai/backend/model_manager/load/model_loaders/flux.py | 911 | # Check if this is a Klein model without guidance (guidance_embeds=False in config) | COMMENT |
| LOW | …okeai/backend/model_manager/load/model_loaders/flux.py | 976 | # Check if keys have ComfyUI-style prefix and strip if needed | COMMENT |
| LOW | …okeai/backend/model_manager/load/model_loaders/flux.py | 1354 | # Check if keys have ComfyUI-style prefix and strip if needed | COMMENT |
| LOW | scripts/remove_orphaned_models.py | 288 | # Check if this file is under any registered model directory | COMMENT |
| LOW | scripts/remove_orphaned_models.py | 292 | # Check if disk_file is under model_dir | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | invokeai/app/invocations/z_image_latents_to_image.py | 64 | # FLUX VAE doesn't support seamless, so only apply for AutoencoderKL | COMMENT |
| MEDIUM | invokeai/app/invocations/denoise_latents.py | 950 | ### seamless | COMMENT |
| MEDIUM | invokeai/app/invocations/denoise_latents.py | 1005 | # ext: freeu, seamless, ip adapter, lora, hidiffusion | COMMENT |
| MEDIUM | invokeai/app/invocations/baseinvocation.py | 565 | # 2. ui_type was set in conjunction with any of the new ui_model_[base|type|variant|format] fields, which | COMMENT |
| LOW | invokeai/app/invocations/baseinvocation.py | 736 | # You'd be tempted to just add the type field and rebuild the model, like this: | COMMENT |
| MEDIUM | invokeai/app/invocations/model.py | 695 | """Applies the seamless transformation to the Model UNet and VAE.""" | STRING |
| LOW | invokeai/app/invocations/qwen_image_denoise.py | 484 | # For txt2img models: just use noisy patches | COMMENT |
| LOW | invokeai/app/invocations/image.py | 1347 | # If the fade size is 0, just return the mask as-is. | COMMENT |
| LOW | invokeai/app/services/config/config_default.py | 690 | # If it is False, we should just return a default config and not set the root, log in to HF, etc. | COMMENT |
| LOW | …ervices/session_processor/session_processor_default.py | 295 | # to do any handling here, and no error should be set - just pass and the cancellation will be handled | COMMENT |
| MEDIUM | …dvancedSettingsAccordion/AdvancedSettingsAccordion.tsx | 98 | // Ideogram 4 and Krea-2 hide the VAE / clip skip / CFG rescale / seamless controls (they don't | COMMENT |
| MEDIUM | …rc/features/nodes/util/graph/generation/addSeamless.ts | 26 | // Always write seamless metadata to ensure recalling all parameters will reset the seamless settings | COMMENT |
| MEDIUM | …b/src/features/nodes/util/graph/generation/addLoRAs.ts | 40 | // Use seamless as UNet input if it exists, otherwise use the model loader | COMMENT |
| MEDIUM | …features/nodes/util/graph/generation/buildSDXLGraph.ts | 187 | // We might get the VAE from the main model, custom VAE, or seamless node. | COMMENT |
| MEDIUM | …/features/nodes/util/graph/generation/buildSD1Graph.ts | 173 | // We might get the VAE from the main model, custom VAE, or seamless node. | COMMENT |
| MEDIUM | …c/features/nodes/util/graph/generation/addSDXLLoRAs.ts | 37 | // Use seamless as UNet input if it exists, otherwise use the model loader | COMMENT |
| MEDIUM | …ents/RasterLayer/RasterLayerCurvesAdjustmentsGraph.tsx | 137 | // Exact fractional coordinates for seamless coverage (no gaps as width grows) | COMMENT |
| MEDIUM | invokeai/backend/util/hotfixes.py | 785 | # this needed to make work seamless patch | STRING |
| LOW | invokeai/backend/flux/extensions/kontext_extension.py | 189 | # First image - just set canvas dimensions | COMMENT |
| LOW | invokeai/backend/quantization/bnb_llm_int8.py | 90 | # We could simply call the `super()._load_from_state_dict()` method here, but then we wouldn't be able to | COMMENT |
| LOW | invokeai/backend/quantization/bnb_nf4.py | 52 | # We could simply call the `super()._load_from_state_dict()` method here, but then we wouldn't be able to | COMMENT |
| LOW | invokeai/backend/model_manager/util/select_hf_files.py | 55 | # if the subfolder is a single file, then bypass the selection and just return it | COMMENT |
| LOW | …okeai/backend/model_manager/load/model_loaders/flux.py | 1840 | # Any remaining keys that weren't converted - just pass through | COMMENT |
| MEDIUM | tests/app/routers/test_privilege_revocation.py | 274 | # the test harness. | COMMENT |
| MEDIUM | tests/app/routers/test_multiuser_authorization.py | 3298 | # the test harness. | COMMENT |
| LOW | scripts/build_wheel.sh | 17 | # we can't just call 'deactivate' because this function is not exported | COMMENT |
| LOW | .github/workflows/python-checks.yml | 38 | # uv requires a venv by default - but for this, we can simply use the system python | COMMENT |
| LOW | .github/workflows/typegen-checks.yml | 37 | # uv requires a venv by default - but for this, we can simply use the system python | COMMENT |
| LOW | .github/workflows/openapi-checks.yml | 37 | # uv requires a venv by default - but for this, we can simply use the system python | COMMENT |
| LOW | .github/workflows/uv-lock-checks.yml | 40 | # uv requires a venv by default - but for this, we can simply use the system python | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | invokeai/frontend/web/public/locales/ru.json | 3232 | "emailPlaceholder": "admin@example.com", | CODE |
| LOW | invokeai/frontend/web/public/locales/ru.json | 3276 | "emailPlaceholder": "user@example.com", | CODE |
| LOW | invokeai/frontend/web/public/locales/zh-CN.json | 3551 | "emailPlaceholder": "admin@example.com", | CODE |
| LOW | invokeai/frontend/web/public/locales/zh-CN.json | 3595 | "emailPlaceholder": "user@example.com", | CODE |
| LOW | invokeai/frontend/web/public/locales/en.json | 36 | "emailPlaceholder": "admin@example.com", | CODE |
| LOW | invokeai/frontend/web/public/locales/en.json | 82 | "emailPlaceholder": "user@example.com", | CODE |
| LOW | invokeai/frontend/web/public/locales/es.json | 1129 | "emailPlaceholder": "admin@example.com", | CODE |
| LOW | invokeai/frontend/web/public/locales/es.json | 1173 | "emailPlaceholder": "user@example.com", | CODE |
| LOW | invokeai/frontend/web/src/app/store/store.test.ts | 43 | email: 'user@example.com', | CODE |
| LOW | …rc/features/auth/store/refreshedTokenConsumers.test.ts | 18 | email: 'user@example.com', | CODE |
| LOW | …i/frontend/web/src/services/api/endpoints/auth.test.ts | 55 | new Response(JSON.stringify({ user_id: 'user-1', email: 'user@example.com', is_admin: false }), { | CODE |
| LOW | …/frontend/web/src/services/events/useSocketIO.test.tsx | 67 | email: 'user@example.com', | CODE |
| LOW⚡ | tests/app/routers/test_auth.py | 271 | "email": "admin@example.com", | CODE |
| LOW⚡ | tests/app/routers/test_auth.py | 280 | assert json_response["user"]["email"] == "admin@example.com" | CODE |
| LOW | tests/app/routers/test_auth.py | 63 | def setup_test_admin(mock_invoker: Invoker, email: str = "admin@example.com", password: str = "AdminPass123") -> str: | CODE |
| LOW | tests/app/routers/test_app_info.py | 41 | return Mock(user_id="user-1", email="user@example.com", is_admin=False, is_active=True, token_epoch=0) | CODE |
| LOW | tests/app/routers/test_app_info.py | 407 | lambda _: TokenData(user_id="user-1", email="user@example.com", is_admin=False), | CODE |
| LOW | tests/app/routers/test_app_info.py | 429 | lambda _: TokenData(user_id="user-1", email="user@example.com", is_admin=False), | CODE |
| LOW | tests/app/routers/test_app_info.py | 451 | lambda _: TokenData(user_id="user-1", email="user@example.com", is_admin=False), | CODE |
| LOW⚡ | tests/app/api/test_sliding_window_token.py | 352 | SimpleNamespace(user_id="test-user", email="test@test.com", is_admin=False, is_active=True, token_epoch=0), | CODE |
| LOW⚡ | tests/app/api/test_sliding_window_token.py | 357 | TokenData(user_id="test-user", email="test@test.com", is_admin=True, remember_me=False) | CODE |
| LOW⚡ | tests/app/api/test_sliding_window_token.py | 374 | SimpleNamespace(user_id="test-user", email="test@test.com", is_admin=True, is_active=True, token_epoch=0), | CODE |
| LOW⚡ | tests/app/api/test_sliding_window_token.py | 379 | TokenData(user_id="test-user", email="test@test.com", is_admin=False, remember_me=False) | CODE |
| LOW⚡ | tests/app/api/test_sliding_window_token.py | 394 | SimpleNamespace(user_id="test-user", email="test@test.com", is_admin=False, is_active=False, token_epoch=0), | CODE |
| LOW | tests/app/api/test_sliding_window_token.py | 21 | email="test@test.com", | CODE |
| LOW | tests/app/api/test_sliding_window_token.py | 106 | email="test@test.com", | CODE |
| LOW | tests/app/api/test_sliding_window_token.py | 425 | SimpleNamespace(user_id="test-user", email="test@test.com", is_admin=False, is_active=True, token_epoch=0), | CODE |
| LOW | tests/app/api/test_video_upload_limits.py | 372 | token_data = TokenData(user_id="user", email="user@example.com", is_admin=False) | CODE |
| LOW | tests/app/api/test_video_upload_limits.py | 391 | token = create_access_token(TokenData(user_id="user", email="user@example.com", is_admin=False)) | CODE |
| LOW | tests/app/api/test_video_upload_limits.py | 472 | current_user=TokenData(user_id="user", email="user@example.com", is_admin=False), | CODE |
| LOW | tests/app/services/auth/test_security.py | 62 | def setup_test_admin(mock_invoker: Invoker, email: str = "admin@example.com", password: str = "AdminPass123") -> str: | CODE |
| LOW⚡ | tests/app/services/auth/test_data_isolation.py | 166 | email="admin@example.com", display_name="Admin", password="AdminPass123", is_admin=True | CODE |
| LOW⚡ | tests/app/services/auth/test_data_isolation.py | 172 | email="user@example.com", display_name="User", password="TestPass123", is_admin=False | CODE |
| LOW | tests/app/services/auth/test_data_isolation.py | 302 | email="admin@example.com", display_name="Admin", password="AdminPass123", is_admin=True | CODE |
| LOW⚡ | tests/app/services/auth/test_token_service.py | 64 | email="admin@example.com", | CODE |
| LOW⚡ | tests/app/services/auth/test_token_service.py | 273 | email="admin@example.com", | CODE |
| LOW | tests/app/services/auth/test_token_service.py | 187 | email="user@example.com", | CODE |
| LOW | tests/app/services/auth/test_token_service.py | 198 | email="admin@example.com", | CODE |
| LOW | tests/app/services/users/test_user_service.py | 223 | email="admin@example.com", | CODE |
| LOW⚡ | tests/app/services/users/test_user_service.py | 236 | email="admin@example.com", | CODE |
| LOW⚡ | tests/app/services/users/test_user_service.py | 244 | assert admin.email == "admin@example.com" | CODE |
| LOW⚡ | tests/app/services/users/test_user_service.py | 251 | email="admin@example.com", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | invokeai/frontend/install/import_images.py | 411 | VALUES ('{filename}', 'internal', 'general', {width}, {height}, null, null, '{metadata}', 0, '{modified_date_string}', ' | CODE |
| HIGH | tests/app/routers/test_images.py | 551 | # Optional fields are wrapped in anyOf: [{array}, {null}]. | COMMENT |
| HIGH | …kend/model_manager/model_metadata/metadata_examples.py | 4 | {"_id":"6564b36f4eb2f55240230f48","id":"stabilityai/sdxl-turbo","modelId":"stabilityai/sdxl-turbo","author":"test_author | CODE |
| HIGH | …kend/model_manager/model_metadata/metadata_examples.py | 9 | {"_id":"6564b36f4eb2f55240230f48","id":"stabilityai/sdxl-turbo","modelId":"stabilityai/sdxl-turbo","author":"test_author | CODE |
| HIGH | …kend/model_manager/model_metadata/metadata_examples.py | 20 | {"id":242807,"modelId":215485,"name":"v1-128dim","createdAt":"2023-11-29T01:21:22.372Z","updatedAt":"2023-12-16T17:46:14 | CODE |
| HIGH | …kend/model_manager/model_metadata/metadata_examples.py | 26 | {"id":215485,"name":"SDXL Turbo-LoRA-Stable Diffusion XL faster than light","description":"<p>v1: 128 dim</p><p>v1-64dim | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | invokeai/app/invocations/image.py | 1618 | # Step 1: Load all images | COMMENT |
| LOW⚡ | invokeai/app/invocations/image.py | 1624 | # Step 2: Determine target resolution for the first image | COMMENT |
| LOW | invokeai/app/invocations/image.py | 1651 | # Step 3: Process and resize all images with consistent height | COMMENT |
| LOW | invokeai/app/invocations/image.py | 1675 | # Step 4: Concatenate images horizontally | COMMENT |
| LOW⚡ | …a_conversions/flux_onetrainer_lora_conversion_utils.py | 146 | # Step 1: Convert the Kohya-style keys with underscores to classic keys with periods. | COMMENT |
| LOW | …a_conversions/flux_onetrainer_lora_conversion_utils.py | 163 | # Step 2: Convert diffusers module names to the BFL module names. | COMMENT |
| LOW⚡ | …nversions/flux_onetrainer_bfl_lora_conversion_utils.py | 101 | # Step 1: Strip prefix and group by layer name. | COMMENT |
| LOW | …nversions/flux_onetrainer_bfl_lora_conversion_utils.py | 116 | # Step 2: Build LoRA layers, merging split QKV and linear1. | COMMENT |
| LOW⚡ | invokeai/backend/z_image/z_image_patchify_utils.py | 80 | # Step 1: Rearrange to put spatial dims together for proper patching | COMMENT |
| LOW⚡ | invokeai/backend/z_image/z_image_patchify_utils.py | 84 | # Step 2: Split H and W into tokens and patch sizes | COMMENT |
| LOW⚡ | invokeai/backend/z_image/z_image_patchify_utils.py | 88 | # Step 3: Rearrange to group patches and features | COMMENT |
| LOW⚡ | invokeai/backend/z_image/z_image_patchify_utils.py | 92 | # Step 4: For F > 1, we'd need to handle F similarly, but for F=1 this is simpler | COMMENT |
| LOW⚡ | scripts/check_classifiers.py | 9 | # Step 1: Get pyproject.toml path from args | COMMENT |
| LOW⚡ | scripts/check_classifiers.py | 19 | # Step 1: Download the official Trove classifier list | COMMENT |
| LOW⚡ | scripts/check_classifiers.py | 24 | # Step 2: Extract classifiers from pyproject.toml | COMMENT |
| LOW | scripts/check_classifiers.py | 36 | # Step 3: Check for invalid classifiers | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | invokeai/app/invocations/image.py | 1618 | # Step 1: Load all images | COMMENT |
| LOW⚡ | invokeai/app/invocations/image.py | 1624 | # Step 2: Determine target resolution for the first image | COMMENT |
| LOW | invokeai/app/invocations/image.py | 1651 | # Step 3: Process and resize all images with consistent height | COMMENT |
| LOW | invokeai/app/invocations/image.py | 1675 | # Step 4: Concatenate images horizontally | COMMENT |
| LOW⚡ | …a_conversions/flux_onetrainer_lora_conversion_utils.py | 146 | # Step 1: Convert the Kohya-style keys with underscores to classic keys with periods. | COMMENT |
| LOW | …a_conversions/flux_onetrainer_lora_conversion_utils.py | 163 | # Step 2: Convert diffusers module names to the BFL module names. | COMMENT |
| LOW⚡ | …nversions/flux_onetrainer_bfl_lora_conversion_utils.py | 101 | # Step 1: Strip prefix and group by layer name. | COMMENT |
| LOW | …nversions/flux_onetrainer_bfl_lora_conversion_utils.py | 116 | # Step 2: Build LoRA layers, merging split QKV and linear1. | COMMENT |
| LOW⚡ | invokeai/backend/z_image/z_image_patchify_utils.py | 80 | # Step 1: Rearrange to put spatial dims together for proper patching | COMMENT |
| LOW⚡ | invokeai/backend/z_image/z_image_patchify_utils.py | 84 | # Step 2: Split H and W into tokens and patch sizes | COMMENT |
| LOW⚡ | invokeai/backend/z_image/z_image_patchify_utils.py | 88 | # Step 3: Rearrange to group patches and features | COMMENT |
| LOW⚡ | invokeai/backend/z_image/z_image_patchify_utils.py | 92 | # Step 4: For F > 1, we'd need to handle F similarly, but for F=1 this is simpler | COMMENT |
| LOW⚡ | scripts/check_classifiers.py | 9 | # Step 1: Get pyproject.toml path from args | COMMENT |
| LOW⚡ | scripts/check_classifiers.py | 19 | # Step 1: Download the official Trove classifier list | COMMENT |
| LOW⚡ | scripts/check_classifiers.py | 24 | # Step 2: Extract classifiers from pyproject.toml | COMMENT |
| LOW | scripts/check_classifiers.py | 36 | # Step 3: Check for invalid classifiers | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …frontend/web/src/features/ui/layouts/navigation-api.ts | 185 | * @return True if the switch was successful, false otherwise | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | invokeai/backend/image_util/imwatermark/vendor.py | 258 | CODE | |
| MEDIUM | tests/app/util/test_video_thumbnails.py | 95 | CODE | |
| MEDIUM | tests/app/util/test_video_thumbnails.py | 636 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | invokeai/backend/text_llm_pipeline.py | 158 | # chain of thought, so prompt expansion returns the prompt rather than the model's | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | tests/app/routers/test_no_blocking_async_routes.py | 97 | "async def handler():\n async def helper():\n await something()\n return blocking_service_call()\n" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | invokeai/backend/hidiffusion/hidiffusion.py | 1873 | # make sure to the functional Conv2D function as otherwise torch.compile's graph will break | STRING |
| LOW | invokeai/backend/hidiffusion/hidiffusion.py | 1950 | # make sure to the functional Conv2D function as otherwise torch.compile's graph will break | STRING |