Skip to content

fix(ui): make Z-Image model selects mutually exclusive#8717

Merged
lstein merged 5 commits intoinvoke-ai:mainfrom
Pfannkuchensack:fix/z-image-model-select-mutual-exclusion
Dec 29, 2025
Merged

fix(ui): make Z-Image model selects mutually exclusive#8717
lstein merged 5 commits intoinvoke-ai:mainfrom
Pfannkuchensack:fix/z-image-model-select-mutual-exclusion

Conversation

@Pfannkuchensack
Copy link
Collaborator

@Pfannkuchensack Pfannkuchensack commented Dec 28, 2025

Summary

Makes the Z-Image model selection inputs mutually exclusive:

  • When Qwen3 Source is selected, VAE and Qwen3 Encoder selects are disabled
  • When VAE or Qwen3 Encoder is selected, Qwen3 Source select is disabled

This prevents users from selecting invalid model combinations.

Additionally, when switching to a Z-Image model, valid defaults are automatically set if no configuration exists:

  • Prefers Qwen3 Source (Diffusers model) if available
  • Falls back to Qwen3 Encoder + FLUX VAE combination

This ensures the generate button is enabled immediately after selecting a Z-Image model.

Related Issues / Discussions

QA Instructions

  1. Select a Z-Image model
  2. Verify that a valid Qwen3 configuration is automatically selected
  3. Open Advanced Settings
  4. Test the mutual exclusion:
    • Select a VAE or Qwen3 Encoder → Qwen3 Source should be disabled
    • Clear the selection, then select a Qwen3 Source → VAE and Qwen3 Encoder should be disabled
  5. Reset the UI and select Z-Image-Turbo → Generate button should be enabled immediately

Merge Plan

Checklist

  • The PR has a short but descriptive title, suitable for a changelog
  • Tests added / updated (if applicable)
  • ❗Changes to a redux slice have a corresponding migration
  • Documentation added / updated (if applicable)
  • Updated What's New copy (if doing a release after this PR)

VAE and Qwen3 Encoder selects are disabled when Qwen3 Source is selected,
and vice versa. This prevents invalid model combinations.
@github-actions github-actions bot added the frontend PRs that change frontend files label Dec 28, 2025
Copy link
Collaborator

@lstein lstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It works as expected.

Change requested: When the user interface is reset and you select Z-Image-Turbo as the main model, the render button remains disabled until the user goes to Advanced and selects one of the Qwen3 Encoder options. This also happens when remixing a previous image. Can we default to a valid Qwen3 source? I was going to request this in a separate issue, but this seems like an appropriate PR for a fix.

The only other gotcha that I encountered was that when I switched from main to this PR and reloaded the browser page, I found the UI in a state in which all the Advanced menus were disabled and I was unable to reenable them by refreshing the page, recalling parameters, or switching main models. The problem was addressed by resetting the Web UI. I have tried to reproduce the problem, but haven't been able to do so, so probably ok to ignore.

When switching to a Z-Image model, automatically set valid defaults
if no configuration exists:
- Prefers Qwen3 Source (Diffusers model) if available
- Falls back to Qwen3 Encoder + FLUX VAE combination

This ensures the generate button is enabled immediately after selecting
a Z-Image model, without requiring manual configuration.
@Pfannkuchensack
Copy link
Collaborator Author

Added the automatically select of Qwen3 Source (Diffusers model) if available and Falls back to Qwen3 Encoder + FLUX VAE combination

Qwen3 Source (Diffusers Z-Image) model was not being saved to image
metadata or restored during Remix. This adds:
- Saving qwen3_source to metadata in buildZImageGraph
- ZImageQwen3SourceModel metadata handler for parsing and recall
- i18n translation for qwen3Source
@Pfannkuchensack
Copy link
Collaborator Author

Fixed the #8721 issue too

@lstein lstein self-requested a review December 29, 2025 01:25
Copy link
Collaborator

@lstein lstein left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested working.

@lstein lstein merged commit b7e28e4 into invoke-ai:main Dec 29, 2025
13 checks passed
@Pfannkuchensack Pfannkuchensack deleted the fix/z-image-model-select-mutual-exclusion branch December 29, 2025 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

frontend PRs that change frontend files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants