From ce217616fdcb51baf41db6d5e1c29dcc2500e8dc Mon Sep 17 00:00:00 2001 From: DavidBabinec Date: Sat, 5 Sep 2026 11:10:56 +0200 Subject: [PATCH] fix(ai): name stripped scripts and head-only elements in HTML import results A bare handed to site_insert_html came back as "no importable elements" without saying why: the browser parser places it in , which the walker never visits. A ', + }) + expect(result.ok).toBe(true) + const data = result.data as { nodeIds: string[]; warnings?: string[] } + expect(data.nodeIds).toHaveLength(1) + expect(data.warnings).toHaveLength(1) + expect(data.warnings?.[0]).toContain('1

hi

', + ) + expect(result.stripped.scripts).toBe(1) + expect(result.styleCss).toContain('.a') + expect(result.headOnly).toEqual(['meta']) + expect(result.rootIds).toHaveLength(1) + }) + + it('is empty for ordinary body markup', () => { + expect(importHtml('

Hi

').headOnly).toEqual([]) + }) +}) diff --git a/src/admin/modals/ImportHtml/ImportHtmlModal.tsx b/src/admin/modals/ImportHtml/ImportHtmlModal.tsx index d46178030..03ee6950a 100644 --- a/src/admin/modals/ImportHtml/ImportHtmlModal.tsx +++ b/src/admin/modals/ImportHtml/ImportHtmlModal.tsx @@ -267,11 +267,14 @@ export function ImportHtmlModal() { if (rules.length) { detailParts.push(`${rules.length} CSS selector${rules.length > 1 ? 's' : ''}`) } - const { stripped } = result + const { stripped, headOnly } = result if (stripped.scripts) detailParts.push(`stripped ${stripped.scripts}