0.156.0
Fixed
- WebUI: устранены все 231 предупреждение svelte-check — 0 ошибок, 0 предупреждений.
npm run check(web/) теперь выдаёт 0 ошибок, 0 предупреждений (было 231 в 67 файлах). Все предупреждения относились к a11y (доступность) и реактивности Svelte 5 (runes), реальных ошибок типов не было. state_referenced_locally(50): паттернlet agentId = data.agentIdв 31 роутеagents/[id]/*переведён наlet agentId = $derived(data.agentId)(runes-реактивность). Дляmcp/permissions(захват agentId в конструктор store) —untrack(() => data.agentId). В 4 компонентах-редакторах (CronJobEditor, SkillEditor, PermanentMemoryEditor, HeartbeatTaskEditor) инициализация формы из props обёрнута вuntrack(editable snapshot).a11y_label_has_associated_control(94): всем<label>в 24 файлах форм проставленыfor/idдля связи с контролами. Read-only<div>-поля (users/[id]) —<label>заменён на<span>.a11y_click_events_have_key_events(27) +a11y_no_static_element_interactions(23) +a11y_interactive_supports_focus(6):ui/Modal.svelteпочищен (tabindex/onkeydown, убран избыточный stopPropagation). 9 hand-rolled модалок приведены к единому паттерну (target-check onclick, Escape onkeydown, role/aria/tabindex). Side-panel overlays —role="presentation". WorkspaceMDViewer: tree/drop-zones — ARIA-роли. DreamTab: кликабельная карточка-аккордеон →role="button"+tabindex+onkeydown.a11y_consider_explicit_label(13): иконочные кнопки (удалить/info) —aria-label. 4 hand-rolled toggle-переключателя —role="switch"+aria-checked+aria-label+focus-visiblering.element_invalid_self_closing_tag(4):<option value={tz} />→<option value={tz}></option>(4 timezone datalist’а).svelte_component_deprecated(1):<svelte:component this={KGGraphCmp}>→<KGGraphCmp .../>(runes, kg/+page.svelte).non_reactive_update(1):SvelteSetбез$state(FavoritesPanel) —$state(new SvelteSet<number>())+ прямая мутация.block_empty(1): пустая ветка{#if}(MessageList) —svelte-ignore.css_unused_selector(11): false positive (стили для{@html}в MarkdownRenderer) —svelte-ignore.- Проверки:
npm run check— 0/0;npm test— 571/571;make build-webui— success; циклocr review— валидные замечания устранены (focus-visible ring на toggle’ах,: numberаннотация, типPageData), невалидные обоснованно отклонены.