Repository navigation
Conversation
5 of 7 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Canvas preflight treated dual-mode external image providers as text-to-image even when raster content supplied an init image. This could allow a reference-image configuration that exceeded the provider's total image budget.
Use the existing in-frame raster-content check when selecting the Canvas preflight mode, and pass the same signal into the Generate form. For example, Seedream's 14 references + 1 output are valid on an empty canvas, but adding an init image now reports the 16 > 15 budget error before invocation. Compose and local-model behavior are unchanged.
Related Issues / Discussions
Follow-up to the Canvas preflight feedback on #10240. This shared fix is based directly on current main and does not depend on the unmerged MiniMax provider implementation.
QA Instructions
pnpm lint: passed (including types and architecture checks).pnpm test src/features/generation/core/baseGenerationPolicies.test.ts src/workbench/invocation.test.ts: 213 passed.pnpm test:browser src/features/generation/ui/GenerateSettingsForm.browser.test.tsx: 35 passed.pnpm test:fixtures: 80 passed.pnpm check:release: not green. Unit tests: 13,997 passed, 2 failed inshortcutHints.test.tsandpalette/entries.test.ts(macOS modifier ordering/platform expectations). Both failures reproduce on clean main at5de896f2e8a03277ea15bfbd10b3f889b020b790.pnpm test:performance:architecture: contract tests and production build completed; browser sampling failed on aborted mock gallery requests (net::ERR_ABORTED). No performance pass or improvement is claimed.GitHub CI subsequently passed the full
release completion gatesin a clean runner, including the frontend tests and performance checks: https://github.com/invoke-ai/InvokeAI/actions/runs/43369086170 . All current PR checks passed or were conditionally skipped. The local-environment failures above are retained for transparency. This PR remains draft for initial review.Review
No blocking correctness findings remain in the scoped change. Raster scanning is gated to Canvas external-provider models so local-model form updates do not pay that cost. The existing geometry-based raster check is intentionally reused: it skips text-only bounds and does not inspect individual transparent pixels. Actual rasterization remains authoritative at submission time.
Compatibility / Rollout
No API, generated schema, or persisted-state changes. No migration or deployment ordering requirement.
Checklist
What's Newcopy (if doing a release after this PR)