Fixed a bug where pasting a YouTube or Vimeo URL into an empty hero media placeholder (e.g. "Add a video") would insert the raw URL as visible text at the top of the section instead of creating a playable embedded player. **Where:** Site editor → click an empty video placeholder → "Replace With…" → paste a YouTube or Vimeo URL **How to test:** - Open or create a site with an empty hero video placeholder (shows "Add a video") - Click the placeholder to open the Replace menu - Paste a YouTube URL (e.g. `https://www.youtube.com/watch?v=...`) - The placeholder should be replaced with a playable embedded video **Watch for:** Raw URL appearing as text at the top of the section, or the placeholder remaining empty after pasting
Fixed a bug where pasting a YouTube or Vimeo watch URL into a hero video element would store the URL as unplayable text instead of converting the video into a working embedded player. **Where:** Site editor → click on a hero video → "Replace With…" → paste a YouTube or Vimeo URL **How to test:** - Open a site with a hero video in the editor - Click the video to open the Replace menu - Paste a YouTube watch URL (e.g. `https://www.youtube.com/watch?v=...`) - The hero should display a playable embedded video, not an empty placeholder **Watch for:** Hero remaining empty or showing a broken video after pasting a YouTube/Vimeo URL
When you ask the AI to replace just a selected image or video, it will no longer accidentally remove the whole section (e.g. the entire hero) — if a media swap would delete the surrounding layout, the change is now refused and your section is left untouched. **Where:** Site editor → select an image/video in the preview → ask the AI to "replace this image with …" or "swap this for a video". **How to test:** Pick the hero image on a site, prompt "replace this hero image with a video". Confirm only the media changes and the hero text/buttons/layout stay in place. If the AI would have wiped the section, you now get a clear "I left the section unchanged — try selecting the image again" message instead of a deleted hero. **Watch for:** A legitimate small media swap being refused (it shouldn't — the guard only trips on large content drops). If a real swap is blocked, rephrase as "replace just this image with …".
Horizontal auto-scrolling sections and looping marquees now stop moving while you are editing, so cards no longer slide out from under your cursor when you try to select or change them. **Where:** Site editor → Edit Mode (and element selection). **How to test:** Open a site whose homepage has a horizontal auto-scrolling / marquee section, enter Edit Mode, and confirm the section stops moving and its cards are easy to click. Exit to Preview and confirm the scrolling resumes. **Watch for:** A section that stays frozen after leaving Edit Mode, or that fails to start moving again in Preview.
Clicking an image or media element in the editor now reliably selects the image, so the Design Assistant gets the right context and image editing options appear. **Where:** Site editor (Edit mode) — click any image, including images wrapped in a button, caption, or card link. **How to test:** Open a site in the editor, switch to Edit mode, and click an image that sits inside a button or a captioned card. The image should be selected with image actions (Replace image, AI edit) available, and the Design Assistant should describe an image — not text. **Watch for:** An image being treated as text ("clicked on text…"), image controls not appearing, or the image becoming impossible to re-select after the first click.
The Design Assistant used to say "Applied changes" even when an edit (for example, replacing the hero image with a video) was saved on the server but didn't visibly update the preview — leaving you staring at an unchanged page with no idea anything went wrong. **Where:** Site editor → Design Assistant chat (preview/canvas). **How to test:** Select a media element or section, ask the assistant to make a change that the live preview can't immediately reflect, and confirm the chat now tells you the change was saved and to refresh — instead of falsely reporting success. **Watch for:** A genuine no-op (the request didn't change anything) should still explain *why* nothing changed; only the "saved but not reflected on screen" case should ask you to refresh.
When you ask the AI to replace an image with a video, the canvas and the editor now agree on the media type instead of showing video-only controls over what still looks like a static image. **Where:** Site editor → select an image → ask the assistant to turn it into a video (or pick/upload a video for a section). **How to test:** Open a site, click an image, prompt "replace this image with a video", pick a stock video. The old image should be gone, the video should play (with a still preview before it starts), and the element's controls should match what you see on the canvas. **Watch for:** A leftover static image rendering on top of the video, or the editor showing "Replace Video URL / Autoplay / Loop" while the canvas still shows the old picture.
Asking the Design Assistant to replace a selected image with a video no longer fails with a "no visual change was made" message — the swap now applies as expected. **Where:** Site editor → select an image on the canvas → ask the Design Assistant to "replace this image with a video". **How to test:** Open a site, click a hero/section image, tell the assistant to swap it for a video, and confirm the video element appears in the preview instead of an error. **Watch for:** Genuinely empty or no-op refinement requests should still report that nothing changed; only real media swaps are now allowed through.
Carousels and image sliders kept advancing automatically in Edit mode, making it impossible to click and edit individual slides. The carousel now pauses while you're in Edit mode and resumes when you switch back to Preview. **Where:** Site Editor → Edit mode → any section with a carousel or image slider. **How to test:** - Open a site that has a carousel or slider section. Enter Edit mode. - The slides should stop advancing. Click on any slide to select and edit it. - Switch back to Preview mode — the carousel should resume auto-advancing. **Watch for:** Carousel that still auto-scrolls in Edit mode, or one that stops advancing entirely even after returning to Preview.
After switching between design variations in the editor, Content Manager edits would appear to save but never show up on the page. The editor was comparing the save target against an outdated snapshot of the URL, rejecting valid saves silently. Edits now apply correctly regardless of how many times you've switched designs in a session. **Where:** Site Editor → switch between D1/D2/D3 designs → Content Manager → edit a section → Save. **How to test:** - Open a site with multiple designs. Switch from D1 to D2 (or any other design). - Open the Content Manager and edit a heading or text block. Save. - The change should appear on the page immediately and persist on reload. **Watch for:** Content edits that vanish after saving, or changes that appear to save but show the old text on the live page.
Deleting a section or making targeted edits in the Content Manager looked successful but the changes didn't stick, and the "unsaved changes" warning sometimes stayed on screen after saving. Saves now carry the full change detail so the page updates and the warning clears as expected. **Where:** Site Editor → Content (Content Manager) → edit or delete a section → Save. **How to test:** - Open a site in the editor and open the Content Manager. - Delete a section and save. The section should disappear and the unsaved-changes indicator should clear. - Edit text in a section and save. The updated text should appear on the page immediately. **Watch for:** Section deletions that reappear on reload, or the unsaved-changes warning persisting after a successful save.
New sites sometimes showed their design options starting at D2 — the very first design (D1) was missing from the switcher even though it existed. **Where:** Site editor, the design switcher (D1 / D2 / D3 …) at the top-left. **How to test:** Open a site that has multiple designs. Confirm the switcher starts at D1 and every generated design is reachable. **Watch for:** Designs labeled out of order, or a design that exists in version history but has no tab to switch to it.
Asking the AI to "replace only this image with a warehouse worker" now changes just that image and leaves the rest of the section exactly as it was. **Where:** Site editor — click an image in the preview, then type an image-replacement request in the chat (e.g. "Replace only this image with a warehouse worker", "Update this image with a factory scene"). **How to test:** Select a specific image, ask to replace it with a different subject, and confirm the layout, spacing, animations, and surrounding content stay unchanged while only the targeted image swaps. **Watch for:** Size/crop/alignment requests (e.g. "make this image bigger") should still behave as code edits, not regenerate the picture.
If one section of your design hits a rendering error while you edit, only that section now shows a small "couldn't render — isolated" notice; the rest of the page stays visible and editable instead of the whole preview going to an error screen. **Where:** Site editor → live preview (any design) **How to test:** Open a multi-section design and edit a section. If an edit ever errors, confirm only that section shows the inline notice while the header, hero, and other sections keep rendering — and you can keep editing. **Watch for:** A section that should render showing the isolation notice unexpectedly (would indicate a real render error in that section, not a false positive).
When the AI assistant removes or edits an element on your page, the change now shows up in the preview right away — no refresh needed. **Where:** Site editor → Design Assistant → any instruction that edits or deletes a page element (e.g. "remove the hero section", "change the button text") **How to test:** - Ask the AI to delete a section or update a text element - Confirm the canvas reflects the change immediately after the AI reports "Applied" **Watch for:** The AI reporting success ("Applied") while the canvas still shows the old element — that would indicate the reload did not fire.
If an AI edit failed with a generic "couldn't generate" error, it often worked when you clicked again — a momentary provider blip. Those are now retried automatically (with a short backoff) so a single hiccup no longer surfaces as a hard failure. **Where:** Anywhere AI text is generated — Design Assistant rewrites, quick actions, refinements. **How to test:** Use an AI rewrite/refine action repeatedly. Transient failures should self-recover instead of needing a manual retry. **Watch for:** Genuine quota limits and invalid requests are not retried (quota still routes to the backup provider); only transient server/network errors retry.
Text you click in the editor is now always editable inline. Previously, some headings showed "this element isn't connected to editable content" and a "Make editable" button that could fail with "already in sync", leaving you stuck. **Where:** Site Editor → click any heading or paragraph → Quick edit panel (right rail). **How to test:** Click a heading that previously showed "Make editable"/"not connected". You now get an editable field pre-filled with the text — change it and Save. It updates whether or not the text was wired to your content. **Watch for:** Bulk "Manage all …" now appears only for collections (menus, services lists), not single headings. Genuinely non-editable items (synced from a data source) still point you to the Content Manager.
Clicking an image inside a card section (case studies, team members, stories) to replace it now reliably targets that specific card's image instead of accidentally updating the hero or a different section. **Where:** Site editor → click any card-row image (e.g. in a "Stories of Impact" or "Case Studies" grid) → Replace image **How to test:** - Open a design with a multi-card section that reuses a common placeholder image - Click one card image and swap it for a new photo - Confirm only that card's image changed, and the hero and sibling cards are unchanged **Watch for:** An image swap reporting success but the change appearing on the hero or a different card instead of the one you clicked.
Editing a section in the Content Manager could save successfully yet leave the page unchanged. The edit was written to the base content while the page rendered the active design's own copy, so the change was hidden. Edits now save to the active design and appear immediately. **Where:** Site Editor → Content (Content Manager) → edit a section → Save. **How to test:** Open a built site, change a heading or text in the Content Manager, Save. The change should be reflected on the page (and persists on reload). **Watch for:** Sites with multiple designs — each design keeps its own content; edits apply to the one you're viewing.
The site intelligence panel now includes conversion rate optimization (CRO) recommendations alongside content suggestions by default — highlighting layout, call-to-action, and trust-signal improvements that can lift visitor-to-lead conversion. **Where:** Site editor → Suggestions / Site Intelligence panel (any design or build-phase site) **How to test:** - Open a generated site in design or build mode - Trigger a site analysis (or wait for the next automatic scan) - Confirm CRO recommendations (e.g. CTA placement, trust signals, form friction) appear in the suggestions list alongside content recommendations **Watch for:** Duplicate recommendations between the CRO scan and the main content scan — these should be deduplicated automatically.
Fixed a case where clicking delete on certain sections appeared to do nothing — the section stayed on the page. **Where:** Site editor preview → click a section → Delete **How to test:** Open a design, scroll to a call-to-action style section whose wording matches the saved content (e.g. a "Book A Demo" CTA), delete it, then reload. The section should be gone and stay gone. **Watch for:** Sections that are rendered by a reusable component (CTA, contact, footer) — these previously cleared a hidden content field instead of removing the section, so the section re-rendered unchanged.
Saving in the Content Manager could pop a second "Content changed externally — Save & Update" banner right after you clicked Save, even though nothing changed externally. Saving now completes cleanly with no redundant prompt. **Where:** Site Editor → Content (Content Manager) → edit a field → Save. **How to test:** Open the Content Manager, edit a section field, click Save. The save should finish with no "Save & Update / Discard & Update" banner appearing afterward. **Watch for:** A genuine external change (switching designs, or another tab editing) should still show the "Save & Update" prompt — only the false post-save one is gone.
Replacing an image now works even on sections whose items are part of the page's built-in layout, where previously the swap could silently fail or revert. **Where:** Site editor → click any image in a card/list section (e.g. case studies, "stories", logos) → Replace Image. **How to test:** On a card-row section, replace one card's image, confirm it sticks after refresh, then replace a second card's image and confirm the first does NOT revert. **Watch for:** The replaced image reverting to the original after editing a different image, or a "success" message with no visible change.
Swapping an image in the editor now reliably shows the new image right away — and after a refresh — instead of silently keeping the old one. **Where:** Site editor → click any image in the preview → Replace image. **How to test:** Open a generated site, click a hero or section image, pick a new image, and confirm the canvas and a page refresh both show the new image. **Watch for:** An image that reports "updated" but visually stays the same, especially on hero/background images.
When two images on your page happened to share the same filename (e.g. both named "hero.png" but hosted on different domains), replacing one could silently corrupt the other. The swap is now precise — only the exact image you selected is updated. **Where:** Site editor → click any image → Replace Image **How to test:** - Open a design that has two images from different sources but the same filename - Replace one of them with a new image - Confirm the other image is unchanged after the swap **Watch for:** An image that was not selected changing after you replace a different image nearby
Asking the Design Assistant to turn a card section into a horizontally scrolling marquee no longer makes the cards disappear — the cards stay visible and scroll as intended. **Where:** Site editor → Design Assistant → "convert this section into a horizontal scroller / marquee" **How to test:** Open a site with a multi-card section, ask the assistant to "convert this into a horizontally auto-scrolling showcase," and confirm the cards remain and scroll instead of leaving only the heading. **Watch for:** Cards that collapse to zero width, or a section that shows only its heading with empty whitespace below.
The "Make Editable" action in the Quick Edit panel now reliably connects disconnected text even when that text lives inside a reusable block component rather than directly on the page — previously it would silently do nothing for those cases. **Where:** Site editor → click any non-editable text element → Quick Edit panel → "Make Editable" button. **How to test:** - Open a multi-file site in the editor. - Click a text element that shows "Make Editable" in the Quick Edit panel (it appears in block components like Header or Hero sections). - Confirm the action connects the text so it becomes editable, rather than showing "nothing to sync" or doing nothing. **Watch for:** The action silently failing on text inside block component files — that is now fixed.
When a selected text element can't be edited inline, the editor now shows an "Open Content Manager" button instead of a dead-end message. **Where:** Site Editor → click a text element that isn't directly editable → Quick edit panel (right rail). **How to test:** Open a site in the editor, click a decorative or unbound text element. Where the panel previously said only "Try Content Manager to edit this section" with no way to get there, you now see an "Open Content Manager" button that opens the Content Manager directly. **Watch for:** The button should appear only for non-editable selections; editable fields still show the inline Quick Edit form, and content-bound sections still show their "Manage all …" button.
The refinement pre-check that blocked AI edits before saving was too broad: content-dependent issue types (malformed content shapes, React-child type mismatches) were blocking edits on sites whose existing content happened to trigger the check, even when the edit itself was valid. Only undeclared event-handler references — a purely code-level issue — now block edits. A previously missed `export { X as default }` pattern that could break component imports is also now correctly detected and repaired. **Where:** Site editor → any AI section refinement (Design Assistant, chat, direct edits) **How to test:** - Open a site in the editor and make an AI-powered section edit - Confirm the edit saves and renders correctly without an unexpected "blocked" or retry message - Sites that previously had refinements spuriously retried should now save on the first attempt **Watch for:** Edits that should have been blocked (undeclared event handlers) being saved incorrectly; edits to sections using `export { X as default }` causing component import errors
Several recurring causes of the preview going blank after an AI-powered section edit — "React is not defined", library import errors, component shape mismatches, and bad export patterns — are now detected and repaired before the change is saved. If a repair isn't possible, the edit retries rather than overwriting the last working design. **Where:** Site editor → any AI section refinement (Design Assistant, chat, direct edits) **How to test:** - Open a site in the editor and use the Design Assistant to edit a section - Confirm the preview renders correctly after the edit - Try edits that historically caused crashes (sections using Lottie animations, icon libraries, or statistics counters) **Watch for:** Preview going blank after an AI edit; "React is not defined" or similar errors in the preview iframe console
Newly generated catalog detail templates (menus, products, properties) no longer include a "Premium Item" label or badge — the AI was echoing the internal placeholder name into visible UI chrome, shipping generic badge text on every detail page across sites. **Where:** Site editor → Pages → detail page (e.g. /menu/[slug], /products/[slug]) **How to test:** - Generate a new site with a catalog vertical (restaurant, ecommerce, real-estate) - Open a detail page in the editor - Confirm there is no "Premium Item" badge/ribbon/pill visible in the preview **Watch for:** Badge text that says "Premium Item" or matches the internal placeholder on detail pages of newly generated sites
Category or service listing pages (e.g. /solutions, /services, /menu) were showing an empty "no items found" state in published builds even when detail pages and individual items existed. The build worker now correctly links the item collection to the listing page so all rows appear on publish. **Where:** Published site → any category or service listing page (e.g. /solutions, /menu, /services) **How to test:** - Build a site with a service or catalog vertical (restaurant, real-estate, tech, etc.) - Publish the site - Visit the listing page (e.g. /solutions or /menu) and confirm all items appear as cards **Watch for:** Listing page still showing "no items found" after publish; individual detail pages loading correctly while the index page is empty
Opening a collection detail template page (e.g. /menu/[slug]) in the editor now shows the first real item's data right away instead of requiring a manual row switch to get past the placeholder sample. **Where:** Site editor → Pages → select a collection detail template page **How to test:** - Open a catalog site (restaurant, real-estate, ecommerce) in the editor - Navigate to a detail template page (e.g. `/menu/[slug]`) - Confirm the preview loads with a real item (title, price, image) without needing to switch rows manually **Watch for:** Preview stuck on placeholder text ("Sample 1 dish", $28) until the user manually selects a row in the row picker
When you asked the Design Assistant to swap an image for a video, it would sometimes reply "Done" without actually changing anything. It now tells you honestly what's possible and never claims an edit it didn't make. **Where:** Site Editor → Design Assistant chat (Edit mode). **How to test:** Select an image element, then ask the assistant to "replace this image with a looping professional video." It should explain that arbitrary image-to-video isn't available, and offer the real options — upload an MP4 for a scroll-scrub video hero, use a Ken Burns pan/zoom, or an animated particle background — instead of replying "Done." **Watch for:** Any "Done"/"I've replaced it with a video" response where the image is unchanged. The assistant must only confirm a media change after a tool actually applied it.
After clicking "Build Full Site," you can now clearly find your way back to the side-by-side Design Variations editor (D1, D2, D3, D4…) at any time. **Where:** In the top bar of your built site's dashboard — the chip next to the site name is now labeled "Design Variations" (it was previously the less obvious "Lineage"). **How to test:** 1. Open a design in the Design Variations editor and click "Build Full Site." 2. Once you land on the site dashboard, click the "Design Variations" chip in the top bar. 3. Choose "Open variations" next to the parent design — you'll go straight back to the D1/D2/D3/D4 side-by-side editor. **Watch for:** The chip only appears on built sites that were forked from a design. The "Open variations" link should land directly on the comparison editor, not the site dashboard.
Redesigning a section through the Design Assistant no longer crashes the preview when the new design uses icons. **Where:** Site editor preview, after applying a Design Assistant redesign to a section. **How to test:** Open a site, apply a redesign to a section that adds icons (e.g. the About section), and confirm the preview renders instead of showing a "Preview Error". **Watch for:** Any remaining "Dynamic require" preview errors after applying AI-generated design changes.
Adding an animated illustration to a section (for example the Contact Section) via the Design Assistant no longer crashes the preview with a runtime error. **Where:** Design Assistant → edit any section → apply an illustration/visual enhancement → Preview **How to test:** Open a design, edit a section with the Design Assistant, apply changes that add an illustration, then preview the page. The section should render with the illustration and no runtime error. **Watch for:** The whole preview going blank with an error after applying an illustration — that symptom is now fixed.
When opening a collection detail template page, the editor now shows a loading spinner until real item data is ready — eliminating a brief flash of the placeholder sample (e.g. "Premium Item", $28) before the actual row paints. **Where:** Site editor → Pages → select a collection detail template page **How to test:** - Open a catalog site in the editor - Navigate to a detail template page (e.g. `/menu/[slug]`) - Confirm you see the loading spinner briefly, then land directly on real item data — no flash of placeholder content **Watch for:** A momentary "Premium Item" or placeholder price flash before the real item appears on page load
AI section edits that produce code referencing a content field's sub-property (e.g. `item.value`) when that field doesn't exist in the page content now trigger an automatic repair and retry instead of being saved and crashing the preview. Applies to homepage refinements where the full page content is available for checking. **Where:** Site editor → Design Assistant or chat → homepage section edits **How to test:** - Use the Design Assistant to edit a statistics or counter section - Confirm the preview stays live after the edit - Check that the section renders with actual values rather than going blank **Watch for:** Statistics or counter sections going blank after an AI edit; "Cannot read properties of undefined" errors in the preview
A section-focused refinement could previously write one component's code into another file's slot (e.g. contact section code ending up in the theme styles file), causing layout corruption and lost styles that persisted across restores. A new file-identity guard now detects and reverts such mismatches automatically. **Where:** Site editor → AI refinement (any section-targeted edit) **How to test:** - Apply a refinement targeting a specific section (e.g. contact, pricing) - Confirm the preview renders correctly with no displaced or blank sections - Verify the theme/header/footer are unchanged after the refinement **Watch for:** Blank areas at the top of the page after a refinement, or a section appearing in the wrong position (e.g. a contact form above the header)
After saving new content (such as a regenerated section image), the editor now correctly shows the updated image without it briefly reverting to the previous one a moment later. **Where:** Site editor → Content Manager → update a section image → save. **How to test:** - Open a site in the editor, go to Content Manager, regenerate an image for a section, and save. - Confirm the new image stays visible in the preview after saving and does not flash back to the old one within a second or two. **Watch for:** The image reverting to the previous version immediately after a successful save — that behavior is now fixed.
Generated design variations no longer feel like they disappear after you start building — you can now switch between D1, D2, D3 and more directly from the site editor, even on builds that had no obvious way back. **Where:** Site editor header → "Design Variations" button (next to the site name) **How to test:** Open a site that was generated with multiple design variations and built. Click the "Design Variations" button in the top header. You'll see a "Switch design" row listing every variation (the current one is marked). Click another to switch your live design to it. **Watch for:** The button only appears for sites that have a parent design or that carry two or more of their own variations. Switching reloads the editor to repaint the newly selected design.
The Version tabs (Original / V1 / V2…) and the Generate button in the page editor toolbar no longer collide with the Desktop / Tablet / Mobile viewport controls, so every version action stays fully visible and clickable. **Where:** Site editor → open any build site → Site tab. Visible on pages that have multiple design versions. **How to test:** Open a page with two or more versions while the AI assistant panel is open (narrow editor width). Confirm the Original/Vn tabs and the Generate button sit on their own row below the page title and never sit underneath the viewport icons. **Watch for:** The version row should scroll horizontally if there are many versions, and the viewport/Edit Content/Images/Refine Design buttons should never overlap it.
When you ask the AI assistant to open or activate a page variation (V2, V3, etc.), it now actually selects it in the editor — previously the assistant would claim success but nothing would visually change. **Where:** Site editor → AI assistant chat → ask to "switch to the V2 variation of the About page" or "show me variation 3" **How to test:** - Open a site that has page variations (e.g. a page with a V2 or V3 design) - Ask the AI assistant: "Switch to the second variation of the homepage" - The variation bar should update and the editor should reflect the new design **Watch for:** The assistant responding with success but the variation bar not changing; the assistant navigating to a variation slug as if it were a separate page
Claude and ChatGPT can now ask Mondovo to generate a fresh design variation for an existing site — giving you a second (or third) design option without losing your current work. **Where:** AI assistant with Mondovo connector → "Generate a new design variation for my site" or "Give me another design option for [site name]" **How to test:** - Connect Mondovo to Claude or ChatGPT - Ask the assistant: "Generate an additional design variation for my [site name] site" - A new design variation should appear in the site editor alongside the existing ones, not replacing them **Watch for:** The new variation overwriting the existing design instead of appending; the assistant reporting success but no new variation appearing (poll the site after ~30 seconds)
The Mondovo connector for Claude and ChatGPT now exposes the same intake questions the in-app intake form asks — goal, audience, visual style, tone, color direction, and more — so your AI assistant can interview you before building, producing richer and more on-brand sites. **Where:** AI assistant (Claude, ChatGPT, etc.) with the Mondovo connector connected → ask it to "create a new site" or "help me set up a new site" **How to test:** - Connect Mondovo to Claude or ChatGPT via the Connectors page - Ask the assistant to create a new site for your business - The assistant should ask a series of intake questions (goal, audience, style, etc.) before building, rather than generating with a generic brief **Watch for:** The assistant skipping intake and generating a generic site immediately; connector needing to be re-added to see the new tool (reconnect if the tool isn't surfaced)
When both site designs generated at roughly the same time, a race condition caused them to both receive the number 1 — so the design picker showed two tabs labelled "Design 1". The second variation now always gets its correct number (Design 2 or higher), regardless of which AI model finishes first. **Where:** Site editor → design picker tabs (shown after generating a new site with multiple designs) **How to test:** - Generate a new site and wait for both design variations to appear - Confirm the tabs show "Design 1" and "Design 2" (not two "Design 1" tabs) - Switch between designs and confirm each shows a distinct layout **Watch for:** Both tabs still showing the same design number, or the second tab being missing entirely
Browser-based AI clients (claude.ai's "Add connector" flow, ChatGPT's custom connector UI) were hanging on "Checking connection" because the browser blocked the authentication challenge. The connector now works from the web — no desktop app or CLI required. **Where:** claude.ai or ChatGPT → add a custom connector pointing to Mondovo **How to test:** - In claude.ai, go to connector settings and add the Mondovo MCP URL - The connection check should succeed and prompt for sign-in — not hang indefinitely - Complete the OAuth flow and confirm the assistant can list and manage your sites **Watch for:** Connector still showing "Checking connection" or failing with a network error; the OAuth consent screen not appearing after the connection succeeds
In the site editor, clicking a catalog card — a dish on a menu, a property listing, a product — now navigates the preview to that item's detail page, showing the real content for that specific row. Previously clicking did nothing useful. **Where:** Site editor → preview panel → any catalog section (restaurant menu, product grid, property listings, etc.) → click an item card **How to test:** - Open a catalog-style site (restaurant, ecommerce, real estate) in the editor - In the live preview, click on any item card in a collection section - The preview should navigate to and render that item's detail page with its specific content (name, description, images) **Watch for:** Clicking a card that navigates to the listing page instead of the detail page; detail page showing wrong item or placeholder content
Clicking an announcement bar, WhatsApp button, cookie banner, or other floating site addon in the editor now selects that element — previously it selected whatever was behind it (usually the header or hero section), making addons appear impossible to click. **Where:** Site editor → preview → click on an announcement bar, floating button, or cookie consent banner **How to test:** - Open a site that has an announcement bar or WhatsApp bubble - Click directly on the addon in the preview - The correct element (the addon) should highlight and its settings should appear in the panel **Watch for:** The addon still being unselectable; clicking it selecting the header or hero section instead
When editing a collection detail page (e.g. a menu item, property, or product), the preview now shows the actual selected item's data instead of the template's placeholder sample — so every item in your row picker renders as itself, not as "Premium Item / $28". **Where:** Site editor → Pages → select a detail page (e.g. /menu/item-name) → row picker chip **How to test:** - Open a catalog site (restaurant, real-estate, ecommerce) in the site editor - Navigate to a detail page (e.g. `/menu/<item>`) - Use the row picker to switch between items — each item should preview with its own title, price, image, and description, not the same placeholder data **Watch for:** All items showing identical placeholder data in the preview regardless of which row is selected in the row picker
You can now connect your Mondovo account to Claude (claude.ai), ChatGPT, and other AI assistants as a connector — then build, find, edit, and publish sites just by chatting. **Where:** In your AI assistant's connector/integration settings, add a custom connector pointing at `https://app.mondovo.com/api/mcp/sites`. You'll be asked to sign in to Mondovo and approve access (and pick which workspace to grant). **How to test:** Add the connector, complete the sign-in + approval screen, then ask the assistant to "list my Mondovo sites" or "create a site for a plumbing business in Austin." It will create the site through Mondovo's own generator and share a preview link. **Watch for:** The assistant should only ever drive the builder — it can create, refine, and publish, but it cannot read or export your site's underlying code. If a connection stops working, remove and re-add the connector to refresh access.
The Connectors page now has a client selector — pick Claude, ChatGPT, Claude Code, Cursor, VS Code, or others, and see the exact command or configuration snippet for that specific client. No more guessing which settings file to edit or what format to use. **Where:** Connectors page (linked from the dashboard) → select your AI client from the dropdown **How to test:** - Navigate to the Connectors page - Select different clients from the dropdown (e.g. "Claude Code", "Cursor", "ChatGPT") - Each should show the exact setup steps, including copy-paste commands or JSON config snippets specific to that client **Watch for:** A client showing generic steps instead of its specific format; the dropdown not updating the instructions on selection
Sites using animation effects were showing a blank or crashing preview iframe due to a version mismatch in the animation library loaded by the preview. The preview now correctly loads the matching library version and animations render as expected. **Where:** Site editor → live preview panel (any site with motion or animation effects) **How to test:** - Open a site that uses framer-motion animations in the site editor - Confirm the live preview loads and animations play without errors - Check the browser console — no `SyntaxError` or missing export errors should appear **Watch for:** Preview iframe remaining blank or showing a white screen on sites with animation effects; console errors mentioning `activeAnimations` or missing exports
A new "Connected Apps" section in Settings lists all AI clients (Claude, ChatGPT, etc.) that have been granted access to your Mondovo account, with the ability to disconnect any of them. Disconnecting immediately revokes their access — they can no longer manage your sites until you reconnect. **Where:** Dashboard → Settings → Connected Apps **How to test:** - Connect at least one AI client via the MCP connector flow - Go to Dashboard → Settings and find the Connected Apps section - Confirm the connected client appears in the list - Click Disconnect and confirm the client can no longer access your sites through MCP **Watch for:** A disconnected client still appearing as connected; Connected Apps section not appearing in Settings; disconnecting one client accidentally revoking another
A dedicated Connectors page now explains how to link Mondovo to Claude, ChatGPT, and other AI assistants — with step-by-step instructions and the exact connector URL needed for each client. **Where:** Navigate to `/connectors` or find the Connectors link in your dashboard **How to test:** - Open `/connectors` in your browser - The page should list available AI clients and explain the OAuth connector setup flow - The listed connector URL should match `https://app.mondovo.com/api/mcp/sites` **Watch for:** Broken links or missing instructions for a specific AI client; the page not loading for non-logged-in users (it should be publicly accessible)
When you ask the design assistant for a comprehensive redesign, the response card now clearly invites you to generate a new variation — instead of saying "I'm redesigning…" which implied changes were already happening before you clicked anything. **Where:** Site editor → Design assistant chat (redesign intent suggestions that show a "Generate as New Variation" button) **How to test:** - Open a generated site in the site editor - In the design assistant, request a comprehensive redesign (e.g. "can you completely redo the layout in a modern style?") - Confirm the assistant shows a suggestion card that explains you need to click the button to generate — not a message implying it's already working **Watch for:** The card message reading "I'm redesigning…" or similar present-tense phrasing that suggests active work before the button is clicked
Sharing a preview link for a restaurant menu, property listing, or product catalog now shows the actual items — previously the shared preview displayed empty collection grids even though the published site rendered them correctly. **Where:** Site editor → Share preview link → view the link in a browser or share with a client **How to test:** - Generate a catalog-style site (e.g. restaurant with a menu section) - Copy the preview link from the editor and open it in a private/incognito window - Collection sections (menu grid, property cards, etc.) should show real items, not empty grids **Watch for:** Collection grids still appearing empty in the shared preview link while publishing works correctly
Some site improvement suggestions — particularly for CTAs, partial testimonials, and FAQ sections — were either never clearing after you added the content, or marking themselves complete instantly before you did anything. The verification logic now correctly tracks whether a recommended section is truly missing, so each recommendation clears when and only when you actually address it. **Where:** Site editor → Mission Control home (recommendations / action-queue cards) **How to test:** - Open a site that has a recommendation for a missing CTA, testimonials, or FAQ - Add the suggested content or section - Confirm the recommendation disappears from the action queue after your next publish or page refresh - Confirm no recommendation is already marked complete on a brand-new site that clearly lacks that content **Watch for:** Recommendations that refuse to clear after adding content, or that disappear before you do anything to address them
The site assistant's improvement suggestions now run a deterministic pre-scan of your site before recommending — so common gaps like missing testimonials, a thin FAQ, no clear call-to-action, an over-long navigation, or pages your industry typically needs (e.g. a Menu or Reservations page for a restaurant) are caught consistently instead of only sometimes. **Where:** Site editor → Mission Control home (the recommendations / action-queue cards) and the AI assistant's suggestions **How to test:** Open a generated site that's missing obvious sections (e.g. no testimonials and no FAQ). Trigger a refresh (publish, or add/remove a page), then check the Mission Control home — recommendations should call out the specific missing pieces with business-specific reasoning, and each should clear automatically once you add the content. **Watch for:** Generic or duplicated suggestions, recommendations for content that already exists, or items that don't disappear after you address them.
Changing the primary or accent color in the Tweaks panel now correctly recolors call-to-action buttons and links throughout the site. Previously the color change updated the theme file but button styles — written as fixed Tailwind utility classes by the AI — ignored it entirely. **Where:** Site editor → Tweaks panel → Colors → change Primary or Accent color **How to test:** - Open any generated site in the editor and open the Tweaks panel - Change the primary color to something visually distinct (e.g. indigo → rose) - Confirm that CTA buttons, "Book Now" links, and similar action elements update to the new color in the preview - Apply the change and confirm the updated colors persist after saving **Watch for:** Buttons that still show the old color after applying; structural elements (nav background, section fills) unexpectedly changing when only the button color should change
Replacing an image now gives you clear, real-time control over how it sits in its container — no more guessing or editing images externally first. **Where:** Site editor → click an image → Replace → image controls (Layout, Fit, Position/Focal point, Opacity, Scale, Blur) **How to test:** 1. Open a site in the editor, click an image, choose Replace, and pick any new image. 2. Use the new **Fit** control (Fill / Fit / Stretch) — the preview updates instantly to show how the image fills its box when dimensions don't match. 3. With Fill or Fit selected, use the **Focal point** grid to choose which part of the image stays in view when cropped. 4. Adjust **Blur**, **Scale**, and **Opacity** — every change shows live in the preview, and active settings appear as chips below it. 5. Hold the **"Hold to compare"** button to peek at the current image before applying. 6. Each layout/fit option has a one-line description and hover tooltip. **Watch for:** The preview should match the applied result on the live site; the focal-point grid should only appear for Fill/Fit (or overlay layouts); blur/fit should persist after Apply and after publishing.
When you ask the design assistant for a sweeping change — rebrand, relayout, new sections, and content edits all in one message — it now builds a new variation from your **complete** request instead of a shortened summary, so nothing you asked for gets dropped. **Where:** Site editor → Design assistant chat (the "Generate as New Variation" button shown for comprehensive redesign requests) **How to test:** Open a generated site, and in the design assistant send one long prompt that combines several changes (e.g. "switch to a dark modern theme, change the brand color to navy, swap the hero for a split layout, add a testimonials section, and rewrite the about copy"). Confirm the assistant offers a one-click "Generate as New Variation", and that the resulting variation reflects all the requested changes — not just one or two. **Watch for:** A variation that ignores parts of the request, or a handoff message that reads like a dead-end rather than a one-click action.
The embeddable chat widget on published sites is working again — it now loads, opens, and sends messages end-to-end. **Where:** Any published client site that embeds the chat widget; the script served at `/api/widgets/<id>/embed.js`. **How to test:** Open a published site with the chat widget, click the bubble, send a message — the widget should load with no console errors and complete the round-trip (get a reply). Check the browser console shows `[ChatWidget]` logs and no "Widget not found" warning. **Watch for:** "Widget not found" warnings in the console, the bubble never appearing, or messages that send but never get a reply (a `400 "Session signature required"` in the network tab).
The AI Design Assistant can now handle "create service detail pages and connect the cards" in a single operation — it no longer asks unnecessary clarifying questions or incorrectly tries to handle the link updates as a separate design change. **Where:** Site editor → AI chat → ask to "create service pages and link the Learn More buttons" (or similar combined create-and-link requests) **How to test:** - Open a site with a Services section on the homepage - In the AI chat, type "Create individual service pages for each service and link the cards on this page to them" - The assistant should immediately propose a page plan (no clarifying questions) with the new pages under the Services dropdown and a note about updating the homepage links - Click Create — the pages should be created and the homepage links wired up automatically **Watch for:** The assistant asking "which pages do you want to create?" instead of proposing immediately, or failing to include the link updates in the plan card's "Also update the current page" section.
The new-tab preview now has a page switcher, so you (and anyone you share the preview with) can review every page — even ones you haven't added to the site's menu yet. **Where:** Open a site preview in a new tab (the "Share" button → Open preview). The page switcher sits in the preview toolbar next to the site name. **How to test:** Create a multi-page site, then bulk-add a few pages without adding them to navigation. Open the preview in a new tab and use the page switcher to jump to the new pages. After a bulk add, the bulk-create dialog now also shows a "Suggest navigation" nudge that takes you straight to the AI nav helper. **Watch for:** Switcher missing on single-page sites (expected — it only appears when there's more than one page); selecting a collection should open its listing page.
When you ask the assistant to change your site and one of the edits can't be applied, it now tells you instead of reporting the whole change as finished. **Where:** Site editor → chat/assistant panel (when refining a page) **How to test:** Open a site in the editor and send a refinement request that includes a hard-to-place change (e.g. replacing text that doesn't exist verbatim). When part of it can't be applied, the reply drops the "Done:" framing and shows a short note about which edit was skipped and to try re-requesting it more specifically. **Watch for:** The warning should appear only when an edit genuinely failed after a retry — a normal successful refinement should read exactly as before, with no false "couldn't apply" notes.
Chat bubbles, newsletter popups, WhatsApp buttons, and Calendly booking buttons now appear as non-interactive overlays in the editor preview, so you can click and annotate any part of your page without them getting in the way. **Where:** Site editor → Preview pane (when site add-ons like newsletter popup, WhatsApp bubble, or Calendly float are enabled) **How to test:** - Open a site in the editor that has a newsletter popup, WhatsApp bubble, or Calendly float add-on enabled - In the preview pane, try clicking on page elements behind the add-on widget - Clicks should pass through to the underlying content and annotation mode should work normally **Watch for:** Add-on widgets completely disappearing in editor mode (they should still be visible at 50% opacity), or clicks still being intercepted by floating buttons.
Typing a message in the AI Design Assistant is now instant — keystrokes no longer caused the entire conversation panel to re-render, which created visible input lag for longer messages. **Where:** Site editor → AI Design Assistant → chat input **How to test:** - Open the AI Design Assistant in the site editor - Type a longer sentence (20+ characters) and observe the input field - Characters should appear immediately with no delay or stutter **Watch for:** Any sluggishness or dropped characters when typing in the assistant input, particularly on slower devices or when the conversation has many messages.
When using the AI to add or replace images on a design that wasn't your currently-active one, the content (product items, text) appeared to vanish and show placeholder text instead. The image pipeline was reading and writing to the wrong design's files. Both the saved files and the live preview now correctly target the design you were viewing. **Where:** Site editor → switch to a non-active design → Design Assistant → "add product images" or "replace images" **How to test:** - On a site with multiple designs, make Design 2 the one you're viewing (not Design 1) - Type "add product images" in the Design Assistant - The images should update in Design 2 and all product content should remain intact **Watch for:** Product content disappearing or showing placeholder text after an image prompt, or images from a different design appearing in the updated preview.
"Modify & Clone" no longer fails with "Failed to generate modified clone" when you clone a design that already has many pages — it now generates the new design and saves it. **Where:** Site editor → a design → **+ New → Clone a Design → Modify & Clone → Generate New Design** **How to test:** On a multi-page site, pick a design, choose Modify & Clone, select "Dark mode" (or type a style change), click Generate New Design. It should produce a "Review Sections" preview and, on Apply, add a new design variation. **Watch for:** Very large designs (many pages) taking longer than usual; the new design should still appear and be selectable.
"Modify & Clone" was failing with "Failed to generate modified clone" on sites with large, complete designs — the builder was unnecessarily reassembling all page files (sometimes 500KB+) even when the design already contained everything needed, hitting an AI token limit. The fix detects self-contained designs and uses them directly, avoiding the oversized prompt. **Where:** Site editor → a design → **+ New → Clone a Design → Modify & Clone → Generate New Design** **How to test:** - On a site with a large design (many sections and pages), choose Modify & Clone and request a style change - The cloned design should generate within the normal time and produce a valid new variation **Watch for:** "Failed to generate modified clone" errors or the operation timing out on sites with large, multi-section designs.
"Modify & Clone" was failing for multi-page sites whose designs use modular component files, showing "Failed to generate valid code after retry." The fix properly assembles just the homepage-relevant components instead of including every page file, so AI modifications stay within the allowed size and produce a valid new design. **Where:** Site editor → a design → **+ New → Clone a Design → Modify & Clone → Generate New Design** **How to test:** - Open a multi-page site that has multiple designs - Pick a design, choose Modify & Clone, select a style change (e.g. "Dark mode"), and click Generate New Design - The cloned design should appear in "Review Sections" and, on Apply, add a new variation **Watch for:** "Failed to generate valid code after retry" errors or the clone operation hanging indefinitely on multi-page sites.
When prompting the AI to add or replace images on a design that wasn't your currently-active design (e.g., Design 2 while Design 1 is active), the product content appeared to disappear and placeholder text showed across multiple sections. This happened because the image regeneration pipeline was reading and writing to the wrong design variation's files. **Where:** Design Assistant chat — prompts like "add product images" or "replace images" **How to test:** On a site with multiple designs, switch to Design 2 (non-active), then type "add product images" in the Design Assistant. The images should update correctly and the product content should remain intact. **Watch for:** Any AI image-replace that leaves the preview showing a completely different design's content, or showing placeholder text where product items used to be.
Saving content or switching designs no longer occasionally triggers a black "Application error" screen in the site editor — the editor now recovers gracefully when the site's design files are transiently unavailable. **Where:** Site editor (any site with multiple design variations or after saving content changes) **How to test:** - Open a site with at least two design variations in the editor - Save a content change or switch between designs several times - The editor should stay responsive — no full-screen "Application error" crash **Watch for:** The editor going completely blank or showing "Application error: a client-side exception has occurred" after saving; refreshing the page should still restore the editor correctly.
When the same placeholder image URL appeared in multiple sections across different pages, replacing the image on one page was also replacing it everywhere else. The fix restricts each replacement to the exact file where the image was found. **Where:** Site editor → click on an image → Replace Image **How to test:** - On a site with multiple pages (e.g. a restaurant with menu and FAQ pages), click an image in one section and replace it - Verify that only that one image changed and images in other sections or pages are unchanged **Watch for:** Multiple images changing unexpectedly after replacing a single image, or a replaced image reverting to a placeholder on a different page.
The progress bar during a full site build now shows an animated segment for pages actively being generated, so you can tell work is happening instead of watching a frozen bar for the first minute of every batch. **Where:** Site editor → Build Site → progress modal (shown while pages are generating) **How to test:** - Start a full site build from the site editor - Watch the progress modal — the bar should show movement and animated "in-progress" segments while pages are being created, not stay at 0% for a long stretch **Watch for:** The progress bar appearing fully frozen or stuck at 0% for more than a few seconds after the build has started.
After using the AI to refresh or regenerate images, clicking Undo now correctly brings back the images from before the refresh. Previously, the version snapshot was saved before the new images were applied, so Undo either skipped too far back or showed "Cannot undo — no previous version exists." **Where:** Site editor → Design Assistant → "regenerate images" or "add product images" → Undo button **How to test:** - Ask the AI to regenerate images on a design - After the images update, click Undo - The previous images should be restored correctly (one step back, not two or none) **Watch for:** Undo after image refresh reverting to an unexpected state, or showing "no previous version" when images were just changed.
When pasting a video URL into the Replace Image dialog's URL tab, the preview no longer briefly flashes a broken image icon before switching to the video player — it now shows a loading indicator while the URL is being identified. **Where:** Site editor → click any image → Replace Image → URL tab → paste a video link **How to test:** - Open the Replace Image dialog on any site image - Paste a video URL (e.g. an MP4 link or embed URL) into the URL tab - The preview should show a spinner briefly, then load the video — no broken-image flash **Watch for:** The preview getting stuck on the spinner and never loading; also check that pasting a regular image URL still shows the image immediately without a spinner.
When the AI design assistant suggested an image replacement and you clicked Apply, the image would go blank and revert on refresh. The apply flow now correctly opens the image search panel pre-filled with the suggestion, and saves the change so it persists. **Where:** Site editor → Design assistant panel → Brainstorm → image suggestions → Apply **How to test:** - Open the Design assistant panel in the site editor - Use Brainstorm on an image element - Click Apply on one of the suggested image options — the image search panel should open with the suggested query pre-filled - Select an image and confirm — it should appear and persist after refresh **Watch for:** Blank or broken images after applying, changes reverting on refresh, Apply button with no visible effect
When a large design request triggers the "big change detected" prompt, picking **Apply to current design** or **Create as new variation** now shows a live progress indicator and renders the next step, instead of going silent. **Where:** Site editor → design chat → submit a large redesign request → the "big change detected" card → click either option. **How to test:** 1. Open a site in the editor and send a substantial redesign request (e.g. "add an about, services, testimonials and FAQ section"). 2. When the "big change detected" card appears, click **Apply to current design** — confirm the progressive "thinking" indicator appears and a result card renders when it finishes. 3. Repeat and click **Create as new variation** — confirm the next "pick a base" card appears (previously nothing showed). **Watch for:** The chat going silent with no spinner/status after clicking an option; a missing follow-up card for the new-variation path.
Sites generated from a quick chat or voice session now produce copy and styling that fit the actual business — instead of occasionally falling back to generic corporate language. **Where:** Site generation (after describing your business in chat or voice, then generating) **How to test:** Describe a specific business briefly (e.g. "online fitness coach offering workout plans, nutrition plans, and mental health support") via voice or chat without filling in every detail, then generate. The homepage copy and tone should clearly read as that business — not generic "enterprise" filler. **Watch for:** Copy that ignores the services you mentioned, an industry that comes out wrong/generic, or marketing-deck phrasing unrelated to what you described.
The replace-image panel was pushed below the visible screen when switching to Floating or Background layout mode, making the Apply button unreachable. It now fits within the viewport regardless of which layout options are expanded. **Where:** Site editor → click any image → Replace image (context menu) → select Floating or Background layout **How to test:** - Open a site in the editor, right-click an image, and choose Replace image - Switch to "Floating" or "Background" layout — extra controls should appear - Scroll to the bottom of the panel — the Apply button should be fully visible **Watch for:** Panel content getting clipped, Apply button not being reachable, or inability to scroll inside the panel
When fetching images from a webpage returns nothing usable (or the URL is from a search engine or social media site that can't be scraped), the panel now shows a clear message explaining why — instead of silently resetting with no feedback. **Where:** Site editor → click any image → Replace image → Import from Webpage tab **How to test:** - Open Replace image and go to the "Import from Webpage" tab - Enter a URL from Google, Pinterest, Instagram, or Twitter — you should see an instant error explaining it's unsupported - Enter a valid webpage URL that has no image assets — after fetching, a yellow notice should appear explaining that no usable images were found and suggesting alternatives **Watch for:** Blank panel with no message after a failed fetch, button appearing to do nothing, or confusing spinner that never resolves
Certain custom border styles using CSS variables were silently dropped when publishing — causing form inputs and other bordered elements to appear without their borders. The auto-fix system now correctly handles these cases, so borders render as designed. **Where:** Published sites with form inputs or bordered elements using CSS custom properties **How to test:** - Generate or open a site with form fields or bordered containers using CSS variables for border styling - Publish the site and view the live version - Form input borders and other border styles should be visible as designed **Watch for:** Invisible or missing borders on form inputs, containers, or other elements after publishing
The intake form no longer asks users to pick an abstract "visual style" lane or an "animation level" — questions non-designers found confusing and couldn't answer before seeing a design. **Where:** Site Builder → blueprint chat intake form (the "Quick questions" form shown when you start a new site). **How to test:** Start a new site with a fresh business pitch and open the intake form. Confirm there is no "Which visual lane / style fits?" chip and no "How animated should the site feel?" (Subtle/Moderate/Dynamic) question. Reference-site, brand-color palette, and logo/photo upload questions should remain. **Watch for:** The form should feel shorter but still gather the concrete facts and assets. The look-and-feel is now driven by your reference sites, brand colors, and uploaded images, and the two generated designs let you compare distinct directions — fine-tune motion/style afterward via refinement.
With 8 source tabs available (Stock Photos, My Assets, Upload, URL, Import from Webpage, AI Generate, Lottie, Animated SVG), the rightmost tabs were being clipped on smaller screens with no way to scroll to them. The tab row now scrolls horizontally so all options are always reachable. **Where:** Site editor → click any image → Replace image → tab row at the top of the modal **How to test:** - Open Replace image on any image element - On a narrow screen or with the editor panel open, confirm all tabs are accessible by scrolling the tab row - Click tabs at the far right (e.g. Animated SVG) — they should be reachable without resizing the window **Watch for:** Tabs being cut off or missing, inability to reach rightmost source options
After replacing an image in the site editor, the change would appear immediately but then revert back to the original image on refresh or after any subsequent edit. The underlying save was silently failing due to a stale database function. This is now fixed — replaced images persist correctly. **Where:** Site editor → click any image → Replace image → select a new image → Apply **How to test:** - Open a site in the editor and replace any image with a new one from any source - Refresh the page — the new image should still be in place - Make another edit (e.g. a text refinement) and refresh again — the replaced image should remain **Watch for:** Images reverting to placeholders after refresh, "optimistic" updates that disappear, or replaced images changing back during other edits
When two sections on a page used the same placeholder image, clicking Replace on one could accidentally update the other — or a completely different image on the page. The editor now uses a precise content path to identify exactly which image to replace, so the correct section always gets the update. **Where:** Site editor → click any image → Replace image → select a new image → Apply **How to test:** - Open a site where multiple sections share the same stock/placeholder image - Replace the image in one specific section - Confirm only that section updated — other sections using the same image should be unchanged - Repeat for the other section to confirm it also replaces independently **Watch for:** Wrong image updating on the page, replacements appearing in the wrong section, or no visible change in the intended section after applying
Voice and chat sessions reliably capture what you describe in the requirements, but don't always fill in the business details form. Sites generated from these sessions now automatically derive the business industry, description, and tone from what you said — so the generated content reflects your actual business instead of defaulting to generic corporate copy. **Where:** Site generation after a voice or chat intake session **How to test:** - Start a voice session and describe your business (e.g. "I run a fitness coaching business offering workout plans and nutrition guidance") - Skip filling in the business details form and proceed to generate - The homepage copy, industry selection, and styling should clearly reflect the business context you described **Watch for:** Generic corporate language appearing despite a specific business description, wrong industry being selected, or copy ignoring services you mentioned
When analyzing a site's existing images during content extraction, the AI occasionally mistook long digit sequences in image filenames or URLs for a real business phone number, which then appeared pre-filled in the "Review Business Information" dialog and got published on the live site. Implausible numbers are now detected and dropped so the dialog prompts for a real phone number instead. **Where:** Site editor → Generate / Re-extract → "Review Business Information" dialog **How to test:** - Re-extract content on a site that uses stock photography with numeric filenames (e.g. Unsplash images) - Open the "Review Business Information" dialog and confirm the phone field is either blank or contains a real number — not a string of digits scraped from a photo URL **Watch for:** Phone fields pre-filled with long digit strings that are not real phone numbers (e.g. "14720996457").
When the Design Assistant finished applying a change, the canvas sometimes kept showing the old design until you switched between design variations and back. The preview now refreshes automatically the moment changes are applied. **Where:** Site editor → Design Assistant chat (any site with a live preview) **How to test:** Open a site, ask the Design Assistant to make a visible change (e.g. "change the hero heading"), and confirm the canvas updates as soon as the chat says it's done — without switching designs. **Watch for:** Changes that still require a manual design-switch to appear, or any flicker/double-render of the preview during normal editing.
Two regressions in the site editor are fixed: opening the editor with an unhydrated design could still white-screen the page (a render-phase code path was missed in the previous fix), and form content stored in a wrapped object format could be left in place unflattened instead of being normalized to a flat list. **Where:** Site editor → switching designs or reopening a site **How to test:** - Open a site with multiple designs and switch between them rapidly — the editor should never show a blank white screen - Open a site that was edited before today and confirm forms still appear and save correctly **Watch for:** A white/blank editor canvas when switching designs; form fields disappearing or failing to save after switching variations
Some sites were failing to publish with a bundle error caused by a duplicate import being injected on top of a locally-defined form component. Affected sites now publish successfully and serve all pages with correct content. **Where:** Site editor → Publish button (client portal or admin) **How to test:** - Publish a site that includes a contact form or modal form component - Confirm the site publishes without error and all pages (home, services, etc.) load correctly at the live URL **Watch for:** Published URLs returning 404 or 500 after a publish that appeared to succeed.
Newly generated sites with contact or quote forms were showing a "Form config missing" warning banner in the editor preview right after generation, which disappeared only after the first save. Forms are now fully registered at generation time so the editor preview is correct from the start. **Where:** Client portal → site editor → Pages tab (immediately after a new site is generated) **How to test:** - Generate a new site for a business type that typically includes a contact or quote form (e.g. plumber, contractor) - Open the editor without making any changes or saves - Confirm no "Form config missing" banner appears in the preview **Watch for:** A red or yellow banner in the site preview labeled "Form config missing" or similar appearing before the first save.
The site editor was showing a blank "Application error" screen when opened immediately after a publish or page refresh, before the site's variation data had finished loading. The editor now degrades gracefully and stays usable while data loads. **Where:** Client portal → site editor (any tab) **How to test:** - Open a site in the editor, trigger a publish, then immediately reload the editor URL - Confirm the editor opens normally without an "Application error" page - Verify all editor tabs (Pages, AI assistant, etc.) are accessible **Watch for:** A blank white screen or "Application error" replacing the full editor UI on first load.
When a site failed to publish during the final export step, it was incorrectly left in a "published" state with a broken URL that returned 404. Now the status correctly reverts to draft so users know to retry. **Where:** Site editor → Publish button (client portal or admin) **How to test:** - Attempt to publish a site - If publishing fails (check deployment status shows "failed"), confirm the site status shows as "drafting" — not "published" - Verify the publish button is available to retry **Watch for:** Sites stuck in "published" state with a 404 deployment URL after a failed publish attempt.
Switching between design versions now drops the loading overlay the moment the new design has rendered *and* its content is in place, instead of always holding for a fixed delay — so switches feel faster, and you no longer briefly see a design with sections that look empty or "reset." The overlay also stays up through the brief extra wait the first time a design is opened (while it compiles), so you never catch a glimpse of the previous design before the new one finishes loading. **Where:** Site editor → switching between Design 1 / Design 2 (and any additional designs). **How to test:** Open a site with several designs. Switch to one you haven't opened yet (it compiles the first time) — the loading overlay should stay up until that design is fully on screen, never flashing the previous design. Then switch back and forth between already-opened designs — those should feel quick, with your saved content present the instant the overlay clears. **Watch for:** The previous design flashing in after the overlay clears; overlay clearing while sections are still empty; overlay hanging far longer than the design takes to load; rapid back-and-forth switching showing the wrong design's content.
On some sites, republishing was replacing the full site navigation (with all menu items) with a single "Home" link, and replacing footer links with dead placeholder anchors. This was caused by stale partial data from an earlier design variation overwriting the curated navigation and footer. The global navigation and footer now always take precedence on publish. **Where:** Published site → Navigation menu and footer links **How to test:** - Open a site that has a custom multi-item navigation (e.g. Home, About Us, Contact) - Republish the site - Verify all navigation items and footer links are intact on the published URL **Watch for:** Navigation collapsing to "Home" only, or footer links pointing to "#" after republish.
Starting a voice session was immediately presenting a 12-question intake form before the AI had even asked what the business was about. Voice now begins as a natural conversation — asking your business name first — and only uses an intake form if one was already open from the text chat. **Where:** Admin AI Playground (Blueprint Wizard) → Voice button (microphone icon) **How to test:** - Open a new site in the Blueprint Wizard with no prior chat - Click the voice button to start a voice session - Confirm the AI greets you conversationally and asks about your business — no intake form auto-opens - Separately, fill the intake form in text mode, then switch to voice — confirm voice walks through remaining unanswered questions **Watch for:** Intake form appearing on voice cold-start, or voice ignoring an already-open form.