Commit Graph

8857 Commits

Author SHA1 Message Date
Vladimir Mandic 02bb44aa90 minor fixes from audit
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-07-01 11:08:04 +02:00
Vladimir Mandic 7e21e17d08 Merge pull request #4971 from vladmandic/fix/resolution-ar-controls
fix(ui): debounce aspect-ratio linked width/height controls
2026-07-01 11:07:57 +02:00
Vladimir Mandic e3fed70829 fix hijack accelerate
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-29 15:26:25 +02:00
Vladimir Mandic 0e35079f06 attempt to load incomplete model
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-29 13:39:46 +02:00
Vladimir Mandic 7c228892cf model metadata handle invalid keys
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-29 11:23:29 +02:00
Vladimir Mandic 825b714753 cleanup
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-29 10:05:31 +02:00
Vladimir Mandic d3e3948787 update lens and bria
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-29 09:19:29 +02:00
CalamitousFelicitousness 17b7176e0d fix(ui): debounce aspect-ratio linked width/height controls
A single handler bound to the AR dropdown, width and height (in the
shared create_resolution_inputs and the resize section) wrote both
sliders on every change. With a ratio selected it locked one axis and
snapped it back on each edit, the two sliders looped, and the math ran
server-side one round-trip per keystroke, echoing a value back into the
field being typed in and yanking it.

Move aspect-ratio linking to the browser (ui/resolutionLock.ts): a
debounced edit writes only the partner axis, never the field being
edited, and commits immediately on blur, enter, or slider release. Keep
the kanvas notify on notifyKanvasResize wired to the resize sliders'
gradio .change, so it still fires on programmatic size updates (detect,
paste, swap) that client-side listeners miss. Drop the per-change AR
wiring, res_apply, and the resolutionChange* helpers.
2026-06-29 00:20:36 +01:00
Disty0 f0ef201882 cleanup 2026-06-28 22:16:53 +03:00
Disty0 693639a7d3 SDNQ atten fix enable_gqa + is_causal 2026-06-28 22:07:37 +03:00
Disty0 e89f1a1fe8 SDNQ add causal atten support 2026-06-28 20:08:40 +03:00
CalamitousFelicitousness 0eb7d7032b feat(civitai): filter search results by nsfw level
The nsfw boolean leaks Mature+ content (nsfw=false returned levels up to
XXX) and /models rejects server-side level filtering, so filter search
results on each model's aggregate nsfwLevel: nsfw off keeps SFW (None +
Soft), nsfw on keeps everything.
2026-06-28 02:43:03 +01:00
CalamitousFelicitousness 236d96ef06 fix(civitai): tolerate null creator username in search results
Civitai returns a null username for deleted or anonymous creators. The
field default only applies when the key is absent, so an explicit null
failed str validation and rejected the entire CivitSearchResponse,
dropping every model on that page.

Coerce null or empty usernames to the default in a pre-validator so one
bad creator no longer empties the whole search result.
2026-06-28 02:39:06 +01:00
CalamitousFelicitousness af11b119ea feat(civitai): use /enums for option discovery, parse new model fields
Replace base-model and model-type discovery that scraped ZodError
responses with the documented GET /api/v1/enums endpoint. The /images
baseModels probe (unreliable since /models stopped validating it) is now
a fallback only; sort and period still come from the /models 400 response
since /enums does not carry them.

Add the model fields the API returns but CivitModel was dropping:
supportsGeneration, mode, poi, minor, sfwOnly, userId, cosmetic. The
poi/minor/sfwOnly flags serialize as null on some endpoints, so coerce
null to False to keep parsing resilient.
2026-06-28 01:25:40 +01:00
Disty0 6ee13520a1 SDNQ atten remove query.device == key.device checks 2026-06-27 16:23:49 +03:00
Disty0 2622291de7 SDNQ Atten Fix FP16 PV 2026-06-27 15:39:58 +03:00
Disty0 3fed183564 update sdnq atten min sizes 2026-06-27 14:51:56 +03:00
Disty0 718e24c50d increase the min lenghts for SDNQ atten 2026-06-27 02:54:39 +03:00
Disty0 7c5238bf41 fix shapes 2026-06-27 01:56:50 +03:00
Disty0 66116ad1a5 cleanup 2026-06-27 01:43:59 +03:00
Disty0 13c1bcff3f cleanup 2026-06-27 01:40:11 +03:00
Disty0 b92ccf4adf Make triton atten and mm require less tuning 2026-06-27 01:15:09 +03:00
Vladimir Mandic f44dd11b05 fixes
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-26 21:30:09 +02:00
Vladimir Mandic 37f0d7c1c1 fix ltx
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-26 10:52:51 +02:00
Vladimir Mandic 138125bd46 update api response models
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-26 10:39:33 +02:00
Vladimir Mandic fccbdcc1e9 update api response
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-26 10:38:14 +02:00
Disty0 db43551ab6 use tl.exp2 instead of tl.math.exp2 2026-06-25 19:19:34 +03:00
Vladimir Mandic b61475574e preview check for output panel visibility
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-25 10:54:35 +02:00
Vladimir Mandic 719b4842b2 update diffusers and preview matching
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-25 08:00:28 +02:00
CalamitousFelicitousness a6fe828aa2 fix(api): set compatibility options without crashing
clip_skip and the uni_pc_* opts live in opts.data without an OptionInfo in
data_labels (compatibility_opts). Options.set() read data_labels[key].onchange
unconditionally, so setting clip_skip via /sdapi/v1/options raised KeyError and
returned 500; the override_settings restore path had the same unguarded
data_labels[k] access for falsy-valued compat opts.

Guard the onchange lookup and read the stored value via getattr(opts, k), which
already falls back through data then data_labels.
2026-06-25 02:25:33 +01:00
CalamitousFelicitousness 3dd0cd590c fix(pipelines): restore clip-skip text encoding for transformers 5.6+
The vendored encode_prompt copies in the PAG, APG, ControlNet-XS and differential
diffusion pipelines dereference the .text_model wrapper that transformers 5.6
removed from CLIPTextModel, so their clip-skip path crashes on SD1.5 and SDXL TE1.
Apply the same getattr(te, 'text_model', te) fix as the core parser.

Mirrors upstream diffusers, which still carries this deref in pipeline
encode_prompt; only the single-file loader was fixed there.
2026-06-25 02:25:33 +01:00
CalamitousFelicitousness aeef359bd7 fix(prompt): restore textual inversion on clip-skip>=2
transformers 5.6 flattened CLIPTextModel, removing the .text_model wrapper that
compel_hijack and the xhinker parser dereference on the normalized clip-skip path.
On SD1.5 at clip-skip >= 2 this raised AttributeError, which processing_prompt
caught and silently fell back to fixed-attention encoding, dropping textual
inversion and prompt weighting.

Resolve the submodule via getattr(te, 'text_model', te), correct for flattened
CLIPTextModel, CLIPTextModelWithProjection (still nested), and transformers < 5.6.
2026-06-25 02:25:33 +01:00
CalamitousFelicitousness 7ed3cd71e0 fix(embeddings): restore multi-vector textual inversion expansion
transformers 5 defaults tokenizer.add_tokens() to normalized=True, so the CLIP
tokenizer lowercases added embedding names. tokenizer.tokenize() then returns the
lowercased surface, maybe_convert_prompt never matches mixed-case names in
added_tokens_encoder, and multi-vector expansion is skipped. Every mixed-case
multi-vector embedding collapsed to its first vector and looked ignored.

Add embedding tokens as AddedToken(name, normalized=False) so they stay
case-sensitive and tokenize() surfaces them verbatim. Valid on transformers 4.x
and 5.x; convert_tokens_to_ids and encoding are unaffected.
2026-06-25 02:25:33 +01:00
Disty0 a0752f527b SDNQ Atten fix shape mismatches 2026-06-25 04:13:09 +03:00
Vladimir Mandic abddebd629 hints
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-24 21:26:19 +02:00
Vladimir Mandic 2a625a565a networks reference style
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-24 21:14:11 +02:00
Disty0 426a06d916 fix fp16 pv nans 2026-06-24 19:56:05 +03:00
Disty0 fba98cbf71 add stage 4 2026-06-24 18:17:07 +03:00
Disty0 8029156fa2 SDNQ Atten use simple row-wise quant instead 2026-06-24 17:59:38 +03:00
Disty0 2c44dca2be reduce warp range 2026-06-24 13:23:00 +03:00
CalamitousFelicitousness d95ea9e238 fix(lora): support embedding-target LoRA and companion bias deltas
Route nn.Embedding targets (and the SDNQEmbedding / ScaledWordEmbedding subclasses) through the linear LoRA path: the weight delta is up@down over the [vocab, dim] table, same shape and merge as a Linear.

Apply a companion bias delta (diff_b) as ex_bias on the same module rather than dropping it; collect diff_b into the LoRA group so it rides the existing module instead of a separate Full module that would collide on the network key.
2026-06-23 20:40:42 +01:00
Disty0 e7f11ed772 cleanup 2026-06-23 20:44:37 +03:00
Disty0 0af57a0af1 And no quant atten 2026-06-23 20:41:19 +03:00
Vladimir Mandic 5072ea406f debounce width/height updates
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-23 13:55:47 +02:00
Vladimir Mandic 81437ff051 cleanup seedvr
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-23 13:55:47 +02:00
Disty0 b682d90a4a Fix UI settings 2026-06-23 14:26:24 +03:00
Disty0 72a4d2c2bd Add Hadamard support to SDNQ Atten 2026-06-23 14:17:34 +03:00
Vladimir Mandic 904925c1ef update changelog
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-06-23 10:02:40 +02:00
Vladimir Mandic cc4110ecc5 Merge pull request #4962 from vladmandic/feat/krea2
feat(krea2): add Krea 2 (K2) image model support
2026-06-23 09:18:19 +02:00
Vladimir Mandic efbde97288 Merge pull request #4961 from 0xDELUXA/fix/hipblaslt-nested-tensile-library
fix: detect hipBLASLt Tensile library in nested per-arch subfolder
2026-06-23 09:11:33 +02:00