From 12b3cb83fb9995ef90c6d473c83d789750365f81 Mon Sep 17 00:00:00 2001 From: Alessandro <155005371+3clyp50@users.noreply.github.com> Date: Wed, 23 Sep 2026 21:28:27 +0200 Subject: [PATCH] Fix model search spinner alignment Target x-icon children in the model search button so the magnifier and loading spinner share the same grid cell. The stale span selector placed the spinner in a second row after the icon migration. Document the alignment contract. Validation: 9 focused tests passed; verified centered icons during loading in the live WebUI at localhost:32081. --- plugins/_model_config/AGENTS.md | 1 + plugins/_model_config/webui/model-field.html | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plugins/_model_config/AGENTS.md b/plugins/_model_config/AGENTS.md index 8cef7ba97..aab70195a 100644 --- a/plugins/_model_config/AGENTS.md +++ b/plugins/_model_config/AGENTS.md @@ -58,6 +58,7 @@ - Venice migration applies chat-only kwargs to chat slots and removes them from embedding slots without discarding embedding-specific kwargs. - On every startup after migration, short-circuit when `usr/plugins/_model_config/presets.yaml` exists. Only a missing collection may fetch `agent0ai/a0-presets`; parse remote and plugin-local fallback YAML through the same validator, strip secrets before persistence, and persist `mode_presets_fallback.yaml` when download or validation fails. - Model-name catalogs open below the input from either a field click or the embedded magnifier. Discard asynchronous results if their provider, API base, model draft, or query changed while the request was pending. +- Keep the model-search magnifier and loading spinner in the same grid cell by targeting the button's `x-icon` children. - Additional parameter drafts retain plain-string compatibility but reject malformed JSON-shaped values and invalid KEY=VALUE lines with a standard notification. Reparse every preset slot before saving presets or API keys; invalid drafts stay editable and never silently save stale kwargs. Save errors identify the preset and model slot even when that draft is no longer selected. ## Work Guidance diff --git a/plugins/_model_config/webui/model-field.html b/plugins/_model_config/webui/model-field.html index 16e36b8f9..d38f5ae9a 100644 --- a/plugins/_model_config/webui/model-field.html +++ b/plugins/_model_config/webui/model-field.html @@ -376,7 +376,7 @@ .model-search-btn:disabled { cursor: default; } - .model-search-btn > span { + .model-search-btn > x-icon { grid-area: 1 / 1; font-size: 18px; transition: opacity 0.15s;