← Back

What's New

The latest updates and improvements to our platform.

Friday, July 17, 2026

New

Per-variant product images and size guides

Show the right photos for the color a shopper picks, and add a size guide to any product — no rebuild required. **Where:** Site editor → your store collection (e.g. Products) → open an item → "Content" tab for images, "Size guide" tab for the guide. On the live product page, images now follow the selected option and a "Size guide" link sits by the size picker. **How to test:** 1. Open a product that has variant options (e.g. a Color axis with values, set up under the "Variants" tab). 2. On the "Content" tab, upload a few images. Each image now has a small "tag to option" dropdown — tag some images to a specific color (e.g. "Navy"), leave others as "All options". 3. Open the "Size guide" tab. Build a table (add rows/columns like Size / Bust / Waist) or switch to "Text" for a written guide. Optionally click "Use as default for all products" to reuse it across the whole collection. 4. Publish, open the product page, and change the color option — the gallery should lead with the images tagged to that color, and general shots follow. Click "Size guide" to see the modal. **Watch for:** - If no image is tagged to the selected option, the gallery should still show your general images (never go blank). - Color options render as color swatches only when the value is a real color name (e.g. "navy"); custom names like "Emerald" stay as text buttons. - A product's own size guide always wins over the collection default.

New

Returns and refunds for your store

Customers can now request a return on an order, and you can approve, receive, and refund it — all from your store's Orders area. **Where:** Site editor → Orders → Returns tab (approve/reject, mark received with per-item restock, issue refund). Set your policy in Settings → Shipping → "Returns & refunds" (return window, whether refunds include shipping, and your ship-back address). Customers request returns from their account: an order shows a "Returns" link with an item picker and a status timeline. **How to test:** 1. In Settings → Shipping → Returns & refunds, set a return window (e.g. 7 days), choose whether refunds include shipping, and fill in your ship-back address. Save. 2. On your published store, place and pay for an order, then (in the editor) mark it fulfilled. 3. As the customer, open your account → the order → Returns → pick item(s), quantity, and a reason, and submit. 4. In the editor, open Orders → Returns → approve it (add ship-back instructions), then "Mark received" (untick any damaged items so they don't go back into stock), then "Issue refund" — the amount is pre-filled with returned item value + tax (shipping per your policy), and you can edit it. 5. For a cash-on-delivery order there's no online gateway, so the refund is recorded as a manual refund with a reference note you enter. **Watch for:** You can't return more of an item than was ordered (minus anything already returned), and requests outside the return window are declined. Restocked items are added back to inventory; damaged items you leave unchecked are not. A full refund moves the order to Refunded and revokes any digital download links; a partial refund shows as Partially Refunded. Exchanges aren't supported yet — the customer copy suggests refunding and reordering.

Improved

Sell with Cash on Delivery — no payment gateway required

You can now turn on Cash on Delivery even if you haven't connected a payment provider yet, so you can start taking orders while your gateway paperwork is still in progress. **Where:** Site editor → Settings → Payments → Cash on Delivery **How to test:** On a store with no payment provider configured, open Settings → Payments, toggle Cash on Delivery on, set optional min/max order amounts, and save — it saves without asking you to add a provider first. Then on the published storefront, add an item and check out: the only payment option shown is "Cash on Delivery", and placing the order succeeds. Add a provider later and both "Pay online" and "Cash on Delivery" appear. **Watch for:** With no provider connected, "Pay online" should never appear at checkout; the prepaid path should still show a clear message if someone tries to pay online without a gateway.

New

Store revenue reporting in Analytics

Your store's sales now show up right inside the dashboard — no external analytics tool needed. **Where:** Site editor → Analytics (a new Store Revenue section appears for stores) **How to test:** Open a site that has products or a cart, go to Analytics, and scroll to Store Revenue. Pick a date range (7 / 30 / 90 days) and confirm the net revenue, orders, average order value, cash-on-delivery outstanding, and refunds tiles update, along with the revenue-over-time chart, top products, discount usage, and conversion row. **Watch for:** Money should always show in your store's own currency; stores selling in more than one currency are listed separately (no fake conversion). Brochure sites without a store should not see the section at all.

Fixed

Stores now price in their own currency

Stores set up outside the US were showing prices with a dollar sign — an Indian store's ₹2,499 product could appear as "$2,499.00" on the product page while the same product showed a rupee amount on the listing page. Your store's currency now follows through to every price a shopper sees, and to what they're actually charged at checkout. **Where:** Any published store — product pages, category/collection listings, cart and checkout. **How to test:** Open a store whose business currency isn't USD, then view a product page and the listing page it links from. Both should show the same currency symbol for the same product, and the amount at checkout should match what's displayed. **Watch for:** A price still showing the wrong symbol after publishing — republish the site so the store currency is baked into the new pages. If a product row was given its own currency, that still wins over the store default. Stores with no currency set continue to show USD.

Improved

Template cards now scroll through the whole design on hover

Gallery template cards come alive: hover (or focus) a card and its preview smoothly scrolls through the entire page, so you can see the full design without opening it. It falls back to the familiar static preview wherever a full-page capture isn't available yet, so nothing you rely on changes. **Where:** Public Templates gallery (`/templates`); the "Browse templates" gallery and matching-template suggestions inside the new-site builder; the design picker. **How to test:** Open `/templates` and hover a card — the preview should scroll down through the design and ease back when you move away. Try the same on the template suggestions and the "Browse templates" gallery in the site builder. On a phone, scroll a card into view and it plays one slow pass on its own. **Watch for:** Cards with no full-page preview should look and behave exactly as before (static image). With "reduce motion" enabled in your OS, cards should not scroll — they gently crossfade instead. Nothing should jump or shift layout, and hovering many cards at once should stay smooth.

Fixed

Template Gallery: recent templates now adapt to your site again

Applying a Template Gallery design to your site no longer fails with "Gallery template not found" for the newest templates. **Where:** Site editor → Template Gallery → click any template to preview/apply it with your content **How to test:** Open the Template Gallery, search for a category (e.g. "Technology"), click one of the recently added templates, and confirm it adapts into a new design instead of showing the "Adaptation failed" error. **Watch for:** Any remaining templates that still show "Adaptation failed" — they should now start a background adaptation (progress bar), not reject immediately.

Fixed

Your payment gateway and store currency now stay in sync

Your store's currency is now the single source of truth for what customers see and what they're charged, and the payment settings screen tells you immediately if your gateway is set to a different one. **Where:** Site editor → Settings → Payments **How to test:** Open Payments and expand any provider. The currency picker now starts on your store's own currency instead of always defaulting to US Dollar, and shows "Matches your store currency" underneath. Change it to a different currency and a warning appears explaining that amounts aren't converted — save, and the warning stays until you resolve it. **Watch for:** A store whose prices are in one currency but whose gateway is set to another. Amounts are never converted between the two, so a 1,000 order in your store's currency would be charged as 1,000 of the gateway's currency. Your storefront keeps displaying and charging your store's currency, so the warning is telling you the gateway setting is the thing to fix. Also worth checking: funnel upsells now always charge in your store's currency, even on stores where the checkout previously fell back to US Dollar.

Thursday, July 16, 2026

Improved

Board share links no longer show the platform domain

Shared design-board links now use the same neutral domains as site previews — your own preview domain when you've connected one, or the platform's shared domain otherwise — instead of the platform's app address. **Where:** Any client's Boards → open a board → Share panel → copy link (also the board link returned over the API/MCP). **How to test:** Share a board and copy the link. For an agency with a connected preview domain it should read like `preview.youragency.com/board/…`; otherwise it uses the shared neutral domain. Open the link logged out — the board should render, and votes/comments should still submit. **Watch for:** Boards shared before this change keep working at their old address too. If a copied link ever shows the platform app domain for an org with a connected preview domain, that's a regression.

Improved

Bring your own Google sign-in for white-label sites

White-label agencies can now add their own Google sign-in credentials to any site themselves, so their clients' customers see the agency's brand on the "Continue with Google" screen — no support ticket needed. **Where:** Dashboard → Organization → White-Label Branding → Customer sign-in branding → "Bring your own Google sign-in" **How to test:** 1. On a white-label-enabled organization, open the White-Label Branding page and scroll to "Customer sign-in branding". 2. In "Bring your own Google sign-in", pick a site and click Configure. 3. Follow the in-modal steps, copy the exact redirect URL(s) shown, register them in your Google Cloud OAuth client, then paste your Client ID and Client secret and save. 4. Confirm the site row now reads "Your brand", and that reopening shows the secret is never displayed back. 5. Use Remove to revert a site to the default sign-in. **Watch for:** the modal must show the redirect URI that matches the site's live sign-in host (your verified dashboard domain when connected, otherwise the shared host); saving must reject a malformed Client ID or secret with a clear message; a non-owner/admin or a non-white-label org must not be able to open or use the section.

New

Cash on Delivery for your store

Customers can now choose to pay in cash when their order arrives, instead of paying online at checkout. **Where:** Site editor → Settings → Payments → Cash on Delivery. Turn it on and (optionally) set a minimum and maximum order amount. New COD orders show up in Orders with a "COD — Awaiting Payment" badge. **How to test:** 1. In Settings → Payments, enable Cash on Delivery (a payment provider must already be configured) and Save. 2. On your published store, add a product to the cart and go to checkout. 3. On the Review step, pick "Cash on Delivery" and place the order — you land on the confirmation page showing the amount to pay on delivery (no online payment). 4. In the site editor, open Orders → the new order → "Mark payment collected" once you receive the cash (moves it to Paid), or "Cancel & restock" to cancel and return the items to stock. **Watch for:** COD should only appear at checkout when it's enabled and the cart total is within any min/max limits you set. Stock is reserved the moment the COD order is placed, and returned if you cancel it. The customer gets a confirmation email that states the amount due on delivery (not a payment receipt).

New

Create and manage storefront discount codes

You can now create and manage promo codes for your storefront checkout directly from Settings — percentage or fixed-amount, with optional usage limits, minimum order and expiry. **Where:** Mission Control → Settings → Discounts **How to test:** Open Settings → Discounts, click "New code", enter a code (e.g. AERA10), pick Percentage, set the value, and Create. The code appears in the list with its usage count. Toggle Active/Inactive or delete from the same row. On your published storefront, enter the code at checkout to confirm it validates. **Watch for:** Duplicate code names are rejected (each code is unique per site); percentage codes are capped at 100%; expiry must be after the start date.

Fixed

CSV import now works for all your collections

Importing a CSV into a collection like Products no longer fails with a confusing internal error — the importer now recognizes every collection shown in your Content settings. **Where:** Mission Control > Features > Content > (pick a collection) > Import > CSV upload **How to test:** Open a collection, click Import, upload a CSV, map the columns, and click Import — the rows are created and the dialog closes. **Watch for:** If a collection genuinely isn't set up yet, you now get a plain-language message telling you to add it in Content settings first, instead of a raw technical error.

Fixed

Currency, Tax & Shipping settings now reachable

The Currency, Tax, and Shipping settings sections existed but were hidden from the Settings sidebar and reset to General if you linked directly to them — they're now visible and reachable like any other setting. **Where:** Mission Control → Settings → Currency / Tax / Shipping **How to test:** - Open Mission Control → Settings and confirm Currency, Tax, and Shipping appear in the sidebar. - Click into each and confirm the section loads instead of bouncing back to General. **Watch for:** Settings sections that exist in code but are missing from the sidebar or reset on direct link.

Fixed

Design Skills: mobile support and polish fixes

Design Skills now work when applying a skill from a mobile device, and several rough edges in the skill picker were smoothed out — hover previews no longer flicker unexpectedly, other open panels no longer get closed by mistake, and error messages no longer show internal details. **Where:** Site editor → chat input → type @ for Design Skills (also available on mobile chat). **How to test:** - On a mobile-width browser window, open the site editor chat and apply a design skill — it should work instead of being unavailable. - Type @ in the chat, hover a skill to preview it, then move away — the preview should only trigger on deliberate hover, not while you're still typing. **Watch for:** Skill preview overlays interfering with other open panels, or raw error text appearing in toasts.

New

Design skills: reusable style directions in the site editor chat

You can now save and apply named design directions ("skills") while editing your site. Type @ in the editor chat to pick a skill — four starter skills ship out of the box (Editorial Serif Luxe, Glass Depth, Cinematic Reveal, Warm Local Voice) — and hovering a visual skill instantly previews its palette and typography on your own site before you commit. Applying a skill runs a real AI restyle with full undo. You can also bottle a design you love: "Save design direction as a skill" on any design variation turns it into a reusable skill, and every skill is managed from the new Design Skills page in your dashboard. **Where:** Site editor → chat input → type @ (Design Skills section), or the + menu → "Apply a design skill". Management: Dashboard → Design Skills. Save-as-skill: design gallery → variation card action. **How to test:** Open a site with code in the editor, type @ in the chat, hover "Editorial Serif Luxe" (site preview should recolor/refont instantly and revert on mouse-out), select it (chip appears above the input), add "apply to the hero only" and send; after the AI applies, use Undo to revert. Then visit Dashboard → Design Skills and duplicate a starter skill. **Watch for:** Hover preview is a rough token preview (label says so) — gradients/textures don't retint until you apply. Copy-type skills can't be combined with a selected element yet (tooltip explains). If a clarifying question comes back, answering it should keep the skill active on the follow-up.

Fixed

Fixed QR Codes and Engagement links opening the wrong tab

Opening a direct link to QR Codes or Engagement used to silently land you on Marketing Strategy or Leads instead — those links now open the correct view. **Where:** Mission Control — QR Codes (Marketing hub) and Engagement (Leads sub-nav), including links from the ⌘K command palette. **How to test:** - Open the ⌘K command palette and jump to "QR Codes" — the QR code manager should appear, not Marketing Strategy. - Do the same for "Engagement" — the Engagement view should appear, not the general Leads list. **Watch for:** Any deep link into Mission Control landing on the wrong tab.

Fixed

Fixed refund and Cash on Delivery order bugs

A cleared or missing refund amount could be silently treated as a full refund by the payment provider, and Cash on Delivery orders could get stuck showing "paid" instead of "fulfilled" after collection. Both are now fixed, along with checkout correctly blocking submission when no payment method is configured. **Where:** Mission Control → Orders (refunds, COD orders) and your storefront's checkout. **How to test:** - Issue a partial refund on an order and confirm only that amount is refunded, not the full order. - Mark a COD order as collected after shipping and confirm it reaches "Fulfilled". - Try checking out on a store with no payment method enabled and confirm you're blocked with an explanation instead of a broken submit. **Watch for:** Refund amounts not matching what was entered, or COD orders stuck at "Paid" after collection.

Improved

Gallery designs now swap photos when your business is a different industry

When you pick an Inspirations design built for a different kind of business (say, an auto-repair design for your bakery), the copied site now replaces the industry-specific photos with ones that match what you do — alongside the copy rewrite. Same-industry picks keep the design's original photography, since it already fits. This also fixes a timing bug where edits syncing in the background could undo the tailoring right after the site was created. **Where:** Dashboard → Inspirations → "Use as base" → fill in a business from a different industry than the design **How to test:** 1. Pick a design from a clearly different vertical than your business (e.g. an auto-repair design) and fill in the form as a bakery. 2. After landing on the design page, the hero and section photos should show your industry, and the chat message should mention how many photos were swapped. 3. Repeat with a business in the SAME industry as the design — photos should stay exactly as the designer chose them. **Watch for:** - Logos, icons, and videos must never be swapped. - If no suitable stock photo is found for a spot, the original photo stays — never a broken image. - The copy rewrite must still land even if photo swapping fails.

New

Inspirations now ask about your business before copying a design

Picking a design from the Inspirations gallery now opens a quick form — your business name, a one-line description, and one or two questions tailored to that design — and the copied site arrives already rewritten for your business instead of showing the template's placeholder content. The chat on the design page opens mid-conversation, ready to keep refining. **Where:** Dashboard → Inspirations → hover a design → "Use as base" **How to test:** 1. Open Dashboard → Inspirations and click "Use as base" on any design. 2. Fill in a business name and short description (e.g. "Mario's Trattoria — wood-fired pizza in Austin"), answer the design-specific questions, and submit. 3. You land on the design page with the preview visible and a "tailoring" progress note; within a minute the headlines, descriptions and section copy reflect your business, and the chat shows a welcome message summarizing what was set up. 4. Repeat with "Skip — just give me the template" — you should get the design exactly as-is, like before. **Watch for:** - Closing the form without submitting should create nothing (no new client or site rows). - If the rewrite fails, the site must still land normally with the original template copy — never an error screen. - Menus or listings backed by catalog data should keep their items intact (only headings/copy elsewhere change). - Designs approved before this release get their questions backfilled; a design with none still asks name + description.

Fixed

Mission Control now shows when a publish failed

After a publish that didn't complete, Mission Control no longer shows your site as a plain "Draft" — it now clearly flags the failure, explains why, and offers a one-click retry. **Where:** Mission Control → Overview (the site status badge under your business name) **How to test:** Open a site whose last publish failed. The badge reads "Publish failed" (or stays "Live" with a notice if a previous version is still up), a red panel shows the reason, and a "Try publishing again" button reopens the publish dialog. **Watch for:** A failed first publish must not link a live-site URL (there isn't one yet); a failed re-publish of an already-live site should keep the "Live" badge because the previous version is still serving.

Fixed

Newly added AI sections now appear in the editor immediately

When the AI assistant adds a brand-new section to a page, it now shows up in the preview and the Structure rail right away instead of silently staying hidden. **Where:** Site editor → assistant chat / "+ Add section" **How to test:** Open a page, use "+ Add section" (or ask the assistant to add a section like Testimonials). When it reports the change was applied, the new section should render in the preview and appear as a new row in the Structure rail — no reload required. **Watch for:** A section that the assistant says it "Applied" but that never appears; the new section rendering blank; the Structure rail count not increasing by one.

Fixed

Platform Assistant no longer appears on shared previews

The internal "Ask AI" Platform Assistant bubble was leaking onto shareable site previews served on preview domains — it now stays on the dashboard only. **Where:** Any preview link (e.g. `preview.yourdomain.com/{site}/preview`, draft subdomains, agency preview domains) **How to test:** Open a shareable preview link for a site. Confirm the "Ask AI" / Platform Assistant bubble is NOT present. Then open the dashboard and confirm the bubble still appears as before. **Watch for:** The bubble missing on the real dashboard, or still showing on any preview/published-site host.

Fixed

Refine now applies full redesigns instead of silently reverting them

When you asked Refine for a detailed restyle or applied a design skill, some of those changes were being silently undone by a safety check meant to catch unrelated edits — the confirmation said "done" but the page looked unchanged. Refine now recognizes an intentional redesign and leaves the full result in place, and always tells you honestly when nothing actually changed. **Where:** Site Editor → Refine (detailed prompts, design skills). **How to test:** Ask Refine for a substantial visual change (e.g. "make this look more premium") — the resulting page should reflect the request, and the confirmation message should describe what changed. **Watch for:** A Refine confirmation that says success but the preview looks identical to before.

Fixed

Retry a design preview that fails to load

Design gallery thumbnails that failed to load now offer a one-click Retry instead of getting stuck. **Where:** Site editor → Design gallery (the grid of design variations) **How to test:** Open a site's design gallery. If a card ever shows "Preview unavailable" (or a broken thumbnail), a Retry button now appears — clicking it re-loads just that preview. Previews also auto-retry in the background after a transient load failure. **Watch for:** A card stuck on "Retrying…" with no recovery, or the Retry button missing when a preview genuinely failed.

Improved

Site chat now clarifies vague ideas (and brainstorms) before the intake form

When you start a site with a vague idea ("a consultancy, we want to make money"), the chat now spends a couple of turns understanding what your business actually is, who it's for, and what the site should cover — before showing the detailed intake form. If you ask it to brainstorm ("give me some directions"), it stays in idea-generation mode until you pick one. Clear ideas ("ecommerce store for shoes", "family lawyer in Austin") go straight to the form as before. The chat is also now honest when a website you point it at can't be reached — it says so immediately instead of pretending it read your site, and research about a same-named but different company can no longer influence your questions or content. **Where:** Client editor → new site → blueprint chat (first few turns) **How to test:** (1) Start a new site with "a consultancy, trying to make money" — expect 1-2 clarifying questions about the concept before any form. (2) Start with "ecommerce store for shoes" — expect the intake form right away. (3) Say "help me brainstorm what this site could be" — expect 2-4 direction options and no form until you choose. (4) Give it a dead/parked domain to rebuild — expect "I couldn't reach <domain>" instead of "I'll use your current site's content". **Watch for:** Clear pitches getting stuck in clarification questions (should never exceed 2 extra turns); the intake form never appearing (it must always arrive after at most 2-3 turns unless you're actively brainstorming); brainstorm mode triggering when the user didn't ask for ideas.

Wednesday, July 15, 2026

Fixed

"Manage connections" now opens in place from the editor's + menu

Choosing "Manage connections" from the "+" menu in the preview editor used to bounce you out to a settings page instead of opening the connections modal where you were. It now opens in place, matching the chat composer's behavior. **Where:** Site editor → preview → "+" menu → Manage connections. **How to test:** Open a site in the editor, click "+" in the preview toolbar, choose "Manage connections", and confirm a modal opens without navigating away. **Watch for:** The same "Manage connections" item in the chat composer should keep working as before.

Fixed

A stuck 'design failed to render' variation now recovers automatically

Some AI models occasionally returned a design as one wrapped bundle instead of separate page files; when that happened, every section of the variation showed "Preview couldn't be displayed" instead of your design. The regenerate flow now recognizes and unpacks that bundle the same way the rest of the platform already does, so the design renders normally. **Where:** Design page — regenerating a variation. **How to test:** Trigger a regenerate on a design variation; the result should render normally rather than showing a render-failure message for every section. **Watch for:** Any variation still showing "Preview couldn't be displayed. Something in this design failed to render." after a regenerate.

New

Add a page that repeats a pattern? We'll offer a collection

When you add a page that repeats something your site already has, the planner now offers to make it a collection instead of another one-off page — your choice, never automatic. **Where:** Site editor → add a page (the plan card in the assistant chat / Page Planner) **How to test:** 1. Open a site that has a collection (e.g. Services) and ask to add a page that fits it, like "add a Physiotherapy page". On the plan card you'll see "Add Physiotherapy as a Services item" alongside "Create a custom page". Accepting adds it as an item. 2. On a site with several similar hand-made pages (e.g. three service pages), ask to add another. The card offers "Turn Services into a collection" — accepting creates the collection with an item for each, and leaves your existing pages in place so nothing is lost. 3. Dismiss the suggestion and it won't nag you again for that pattern this session; the normal custom-page flow continues. **Watch for:** The suggestion should only appear when the pages genuinely share a layout; pages that need different layouts should not be nudged. Converting must never delete your existing pages.

Improved

Add a section from a menu of predefined types

The editor's "+ Add section" button now opens a menu of ready-made section types instead of a blank prompt — pick one and the section is generated for you. **Where:** Site editor → left rail (page structure) → "+ Add section". **How to test:** 1. Open a site in the editor and look at the left rail's page structure. 2. Click "+ Add section" — a menu opens listing section types the current page does not already have (testimonials, FAQ, pricing, team, gallery, and more), ordered by what suits the business. 3. Click a type (e.g. Testimonials) — the assistant composes a request and generates that section, placed before the footer. 4. For types with layout options, click the small arrow on the row to preview layout thumbnails and pick one; the chosen layout is passed along to the generator. 5. Prefer to phrase it yourself? Use "Describe your own…" at the bottom for a free-text prompt (the previous behavior). **Watch for:** section types you already have should not appear in the menu; picking a type should show a normal "thinking" indicator and add the section to the current page.

Fixed

Agency campaigns keep prospects from one project together

Creating a campaign from a mixed prospect selection could silently drop the project association if the prospects didn't all belong to the exact same project. Campaign creation now uses the project shared by the whole selection consistently, and switching filters quickly in the prospects list no longer shows results from the filter you already moved away from. Adding prospects to a campaign also now surfaces the real error message if it fails, instead of a generic one. **Where:** Agency dashboard → Prospects and Campaigns → New Campaign. **How to test:** Select prospects from a single project and create a campaign — the campaign should retain that project. Switch quickly between prospect filters/scopes and confirm the list doesn't flash results from a filter you've already left. **Watch for:** A new campaign missing its expected project association, or the prospects list showing a stale/incorrect set after fast filter switching.

New

Agency prospects can now be organized into projects

Agency prospect lists are now full projects — group prospects, see project members, search and filter your workspace, and archive projects you're done with, instead of one flat prospect list. **Where:** Dashboard → Agency → Prospects. **How to test:** Open Agency → Prospects, create a new project, add prospects to it, and confirm you can search, filter by active/archived, and see project membership. **Watch for:** Converting a prospect to a client should still work and now links back to the created client project from the prospect's quick actions.

Fixed

AI-generated site photos no longer show garbled fake text

Photos your site generates or backfills used to sometimes render with garbled, unreadable text or fake signage baked right into the image — now every photo slot (aside from screenshots and logos, where text is the point) is generated with an explicit "no text" instruction, and any backfilled photo is rewritten into a real scene description instead of a caption. **Where:** Any AI-generated photo on a generated site — hero images, feature photos, gallery shots, and any image added later to fill a missing slot. **How to test:** Generate a new site or trigger an image backfill on an existing one, then check the resulting photos for legible-looking but nonsensical text or signage baked into the image. **Watch for:** Screenshots and logo images intentionally still allow text — only photographic/scene imagery should be affected.

Fixed

Asking to replace images in a specific section no longer touches other sections

When you asked the AI to replace the images in one specific section, it could silently regenerate images elsewhere on the page (or report success while nothing changed) if that section had no replaceable photos. **Where:** Design editor, refinement chat **How to test:** Open a design, ask the AI to "replace the illustrations in the How it works section." If the section uses icons rather than photos, the AI now tells you that directly and suggests changing the icons instead — it will not regenerate images in other sections. **Watch for:** A scoped image request ("replace the images in the testimonials") should only ever affect that section.

Fixed

Auto-fix no longer double-counts fixes or mixes up design variations

The automatic code-repair pass used to sometimes report an extra "fix" that never happened, and in a rare case could copy one design variation's code into another empty variation slot. Both are fixed — auto-fix now reports only real fixes and never writes one variation's code over another. **Where:** Site editor → any screen that runs auto-fix on a site with multiple design variations **How to test:** Trigger auto-fix on a site with more than one variation (especially one where a variation has no code of its own yet), then check that the fix count matches the actual fixes shown and that each variation still shows its own design afterward **Watch for:** A variation's design suddenly looking identical to another variation, or the fix count in the auto-fix summary being higher than the number of fixes listed

Improved

Cleaned up the "click to edit" hover hint on grouped text

Hovering over a block with multiple text fields used to show a count (e.g. "Click to edit 3 text fields here") that could disagree with how many fields the edit panel actually listed. The hint now just says "Click to edit the text fields here". **Where:** Site editor → hover over a section with grouped text (e.g. a heading with a subheading). **How to test:** Hover a multi-field text block and confirm the hint no longer shows a number. **Watch for:** N/A — purely a wording cleanup.

Fixed

Cleaner design switching on mobile

Switching between designs on a phone now shows the full design immediately — no more blank panel and description popup flashing for a few seconds first. **Where:** Site editor on mobile → the D1/D2/D3 design switcher above the preview. **How to test:** Open a site with multiple designs on your phone, keep the chat collapsed, and tap between D1, D2, D3. The new design should fill the screen right away. **Watch for:** A genuine result you're waiting on (e.g. a refinement finishing while the chat is closed) should still surface its status pill — only the design's own rationale/welcome blurb is suppressed on switch and first load.

Fixed

Content Manager now works on mobile

The Content Manager in the site editor is now fully responsive on phones — it opens full-screen with the section picker collapsed as a searchable dropdown on top and each editable field stacked vertically below. **Where:** Site editor → Site → Pages → "Edit Content" (Content Manager) **How to test:** On a phone (or a narrow browser window under 768px), open a page's Content Manager. Confirm it fills the screen, the "Section ▾" dropdown at the top expands to a searchable section list, and the fields stack in a single column. **Watch for:** The search box placeholder should read "Search sections or text…" in full (previously it was cut off), and the desktop two-column / side-drawer layout should be unchanged.

Fixed

Design tab hover previews now dismiss on their own

Hovering a design tab (D1/D2/D3…) shows a small preview card — it could occasionally get stuck floating over the page until you hovered another tab. It now closes by itself after about 3 seconds, so it never lingers over your design. **Where:** Site editor → design tabs in the top toolbar (D1, D2, D3…) **How to test:** Hover a design tab and keep the mouse still — the preview card appears, then disappears on its own after ~3 seconds. Move off the tab and hover it again — the preview shows again. **Watch for:** The preview flickering (closing and instantly reopening) while the mouse stays on a tab, or the card refusing to reappear after moving away and hovering back. Pinning a design to a board from the hover card should still work — the card must stay open while the board picker is open.

Fixed

Drag-to-reorder sections now works on multi-page / component-built sites

Reordering sections from the editor's left rail previously failed with "page structure is out of sync" on modern multi-component sites (where a page is assembled from imported section components). It now reorders those pages correctly. **Where:** Site editor → left "Structure" rail → drag a section (or Alt+↑/↓). **How to test:** On a multi-section page, drag a section above/below another; the order updates and persists. Header/footer stay locked. **Watch for:** Pages with conditionally-rendered sections still fall back to the safe "Rescan" prompt rather than guessing.

Fixed

Editing a text block shows its fields separately

Clicking a heading-and-subheading block in the editor now shows each piece of text as its own field instead of fusing them into one box. **Where:** Site editor → click a text block (e.g. a heading with a paragraph under it) → Properties panel **How to test:** 1. Open a site with a section that has a heading plus a supporting paragraph. 2. Click the block (not precisely on the heading — anywhere in the text column). 3. Confirm the panel lists the heading and the paragraph as separate, labeled inputs — each saving on its own — with an "Edit all fields in this section" link to widen scope. 4. Edit one and save; confirm only that piece changes. **Watch for:** A selection that still shows a single box combining two pieces of text; a heading edit that also overwrites the paragraph; clicking a whole section no longer showing its layout/section controls.

Fixed

Editing grouped text fields now works on menus, listings, and other catalog content

Clicking a block with multiple text fields on catalog-style content (restaurant menus, property listings, and similar) used to collapse back into one fused edit box instead of showing each field separately, because that content's values live outside the page blueprint. Those fields now resolve correctly and show as separate, editable entries. **Where:** Site editor → click a multi-field text block on a menu/listing/catalog section. **How to test:** Open a restaurant or real-estate site, click a menu item or listing block with multiple text pieces, and confirm each field is listed and editable separately. **Watch for:** The "Edit all fields in this section" fallback link should still appear and work when you want to widen the edit scope.

Fixed

Fixed a console error on published-site preview links

Draft previews on a site's own domain could throw a browser console error because they were incorrectly loading the platform's own app configuration file. Preview pages no longer reference it. **Where:** Any draft preview link, especially on a custom/site-host domain. **How to test:** Open a draft preview on a site-host URL and confirm no manifest-related error appears in the browser console. **Watch for:** Regular admin/app pages should be unaffected — only preview surfaces changed.

Fixed

Fixed a permanent "Form config missing" banner on some forms

Some forms showed a red "Form config missing" banner that never went away, even after using auto-fix — caused by how the platform read the form's ID when the form's code had certain expressions before it. Forms now load correctly regardless. **Where:** Site editor → Forms tab, or any page with a form block. **How to test:** Open a site with a form that previously showed the "Form config missing" banner; confirm it now renders the form fields instead. **Watch for:** Forms that legitimately have no configuration should still show a real (not phantom) missing-config warning.

Fixed

Fixed auto-generated collection names showing double plurals like Serviceses

When a collection was auto-created from your site content (for example "Services" or "Menu Highlights"), its name could get pluralized twice, showing up as "Serviceses" or "MenuHighlightses" in the editor. Auto-generated collection names are now derived correctly the first time, so they read naturally. **Where:** Site editor → Collections, and anywhere a collection name is shown (page switcher, content panel, section labels). **How to test:** Create a site whose content includes an auto-generated collection (e.g. services or menu highlights) and confirm its name reads "Services" / "Menu Highlights", not a doubled plural like "Serviceses". **Watch for:** Any auto-generated collection name still showing a doubled "-es"/"-ses" suffix.

Fixed

Fixed the Collections manager's Close button being unclickable

On shorter laptop screens, the editor's top bar could sit on top of the Collections manager's header and block clicks on its Close (X) button, leaving Escape or clicking the backdrop as the only way out. The Collections manager now always renders above the top bar, so Close works everywhere. **Where:** Site editor → Collections manager (opened from the page switcher, a collection-backed section, or the assistant panel's database icon). **How to test:** Open the Collections manager on a laptop-height window and click the Close (X) in its header — it should close immediately. **Watch for:** The Close button still being unresponsive, or the manager appearing behind other editor UI.

Fixed

Fixed videos you provided being incorrectly stripped during generation

On some site-creation paths, videos you pasted or specified could be wrongly treated as unverified and removed from the generated site. Your provided videos are now correctly recognized and kept. **Where:** Creating a new site with a pasted or specified video. **How to test:** Start a new site referencing a specific hero/background video and confirm it appears in the generated result instead of being silently dropped. **Watch for:** Videos the AI invents on its own (not provided by you) should still be filtered out as before.

Fixed

Footer, Header and Nav are labeled correctly in the section rail

The editor's left-rail section list now labels structural regions by their role. Previously a footer whose first column heading was e.g. "SHOP" showed up in the rail as "Shop"; it now correctly reads "Footer" (and headers/navs read "Header"/"Navigation"). **Where:** Site editor → left "Structure" rail. **How to test:** Open a site whose footer has column headings (Shop/Support/Contact). The last rail row should read "Footer", not the first column's heading. **Watch for:** Regular content sections still take their name from their heading as before.

Improved

Full-screen Collections manager, reachable from wherever you see your collections

Managing collection items (products, categories, menu items) now opens a full-width Collections manager instead of a narrow side-panel tab. Every "Manage" action — on a collection in the page switcher, in a section's content panel, or via the database icon in the assistant header — opens the same manager, already focused on the collection you picked. **Where:** Site editor → page switcher (top of the left rail) → Manage icon on any collection; or click a collection-backed section → Manage; or the database icon in the assistant panel header. **How to test:** Open a catalog site (restaurant/pharmacy), click the page switcher, hover a collection row, click the Manage icon. The full-width manager should open focused on that collection; add or edit an item and close — the preview should refresh with the change. **Watch for:** the manager opening unscoped (first collection selected) when launched from a specific collection; preview not refreshing after edits; the old narrow "Catalog" tab reappearing in the assistant panel (it was removed).

Improved

Intake form respects a detailed pitch

When you paste a detailed brief, the intake now skips questions your pitch already answers, adds a "Global / Online-only" option for reach, and stops surfacing your own font/image/video links as "reference" cards. **Where:** Start a new site and paste a detailed prompt into the chat, then open the intake form. **How to test:** Paste a brief that states it's a global/online product with a clear tone (e.g. "premium, understated"). The form should NOT ask "what city are you based in?" or re-ask "how should it sound?", and pasted asset URLs should not appear as reference cards. **Watch for:** Thin one-line pitches should still get the full, thorough intake — suppression only kicks in when the pitch genuinely covers an axis.

New

Manage site elements and show or hide them per page

The editor's left rail now lists every site element you've added (announcement bar, pop-ups, WhatsApp bubble, and more) so you can see, edit, remove, and control where each one appears — instead of only being able to add new ones. **Where:** Open a site in the editor. The left "Structure" rail has a "Site elements" section at the bottom. **How to test:** 1. Add an announcement bar from "Add element". 2. It now appears as a row with its name and an "All pages" badge. 3. Click the row to edit its settings. 4. Open a different page from the page switcher, then click the eye icon on the announcement bar row to hide it on just that page — the preview drops it there and keeps it on your other pages. 5. Use the "Show on…" control to choose All pages, all except certain pages, or only specific pages. 6. Click the ✕ to remove an element (with a confirm). **Watch for:** The cookie banner intentionally has no page controls — it always shows site-wide for compliance. Hiding an element on one page should never affect the others, and the editor preview should match what will publish.

Fixed

Mobile editor: taps no longer jump into edit mode, chat opens full-screen

On phones and tablets the site editor preview now behaves like a real preview — tapping or double-tapping just scrolls and interacts with your site instead of accidentally opening an inline editor. Opening the AI chat now fills the screen instead of squeezing into a cramped half-and-half split. **Where:** Site editor (mobile) — open a site, tap the pencil/"Full design editor", then tap around the preview or open the chat. **How to test:** On a phone (or a mobile browser emulator), open the editor, double-tap a heading in the preview — nothing should switch into edit mode. Tap the chat button — the chat should open near-fullscreen. **Watch for:** On desktop, double-click-to-edit and the right-click menu should still work exactly as before (only touch devices are affected).

Fixed

Mobile menus that can't be closed are now caught and fixed automatically

Some generated designs shipped a fullscreen mobile menu with no way to close it — the only close control was the hamburger toggle, which the opaque menu painted over. The site now detects this and adds an always-visible close (X) button inside the menu, and new sites are guided to always include one. **Where:** Site editor, mobile view — open the hamburger menu on a phone-width preview. **How to test:** On an affected site, open the mobile menu; if it lacks a close button the code-issue panel flags it and one-click Fix adds a close (X) inside the overlay. Re-open the menu and confirm the X dismisses it. **Watch for:** Menus that already have a working close button (or whose menu sits below the header so the toggle stays tappable) should NOT be flagged.

New

Navigate your pages from the editor's left rail

The editor's left rail now shows your whole site as a tree — every page (and collection, like a restaurant Menu) as a top-level row, with the current page's sections beneath. Click a page to jump to it. On desktop, the old page dropdown in the top bar steps aside in favor of the tree — but it stays available whenever the rail is collapsed (or on mobile), so page switching is never lost. **Where:** Any multi-page site in the site editor — the left "Structure" rail. **How to test:** Open a site that has more than one page (e.g. a restaurant with a Menu, or any site with an About page). The rail shows a "Pages" group (and "Collections" if you have any) above the section list; clicking a page navigates to it, and the current page's sections appear below. Collapse the left rail — the top page dropdown should reappear so you can still switch pages. **Watch for:** Collections should appear once (as e.g. "Menu"), never as a raw `[slug]` template row; the design D1/D2/D3 switcher is unchanged; single-page sites look exactly as before; collapsing the rail on desktop should bring back the page dropdown instead of losing page navigation.

Fixed

No more empty white space below the site preview

Fixed a blank white band that appeared below the footer in the editor's live preview, so the preview now ends exactly at your website and uses the full height. **Where:** Site editor — the live preview canvas next to the chat. **How to test:** Open any site in the editor and scroll the preview to the bottom. The website should end at its footer with no empty white rectangle beneath it. **Watch for:** The preview should still scroll smoothly to the footer and fill the available height on both narrow and wide windows.

Improved

Page switcher now lists pages in your site's own navigation order

The page switcher dropdown at the top of the editor's left rail used to list pages in whatever order they were created. It now shows them in the same order they appear in your site's header navigation (Home first), so the list matches what visitors actually see. **Where:** Site editor → page switcher (top of the left rail). **How to test:** Open a site with several pages and confirm the page switcher order matches your header navigation, Home listed first. **Watch for:** A page missing from the switcher, or the order not matching your site's nav — it should fall back to Home-first ordering rather than dropping a page.

Fixed

Page switching restored when the editor's side rail is collapsed

Collapsing the editor's left side rail used to remove your only way to switch pages on desktop — the page dropdown now reappears whenever the rail isn't showing the page list, so you can always get to another page. **Where:** Site editor — collapse the left rail (or use on mobile). **How to test:** Open a multi-page site in the editor, collapse the left side rail, and confirm a page dropdown appears at the top so you can still switch pages; expand the rail again and confirm the dropdown is hidden in favor of the page tree. **Watch for:** No way to switch pages after collapsing the rail, or the dropdown and page tree both showing at once.

Improved

Pages list now matches your site's navigation order everywhere

The Pages list in the editor now shows your pages in the same order as your site's navigation (Home first), and folds catalog collections the same way the page switcher does — so the two lists always agree. **Where:** Site editor → left sidebar → Pages; and the page switcher at the top of the editing rail. **How to test:** Open a site with several pages and a collection (e.g. a menu or products catalog). Confirm the Pages sidebar lists pages in your header-navigation order with Home first, that the listing page for a collection no longer appears as a separate row, and that this order matches the page switcher. **Watch for:** A page missing from the list, a collection's listing page becoming unreachable (it should open from the collection's template row), or the two lists showing a different order.

Fixed

Product and gallery images no longer pull in unrelated photos from other sites

An image-privacy filter had been dropped during an earlier rewrite, so images explicitly marked as not shareable could still be pulled into other sites' product, gallery, and avatar slots — for example, a pharmacy's product grid showing an unrelated website screenshot. The filter is restored, and image matching for product/avatar/gallery slots now also requires the right image type and a closer match before falling back to stock or AI-generated photos, instead of accepting a loose cross-type match. **Where:** Any site generation or regeneration that fills product, gallery, or avatar image slots. **How to test:** Generate or regenerate a site with product/gallery/avatar slots (e.g. a pharmacy or ecommerce site) and confirm every image is topically related — no unrelated website mockups, ad creatives, or other sites' photos. **Watch for:** A product/gallery/avatar slot showing an obviously unrelated image (e.g. a screenshot of a website, or another business's photo).

Fixed

Product, avatar, and gallery photos now match what they're supposed to show

Photo matching for specific slots like products, testimonial avatars, and galleries used to sometimes pull an unrelated image (like a website screenshot) from the same shared photo pool as generic hero images — those slots now require a closer, same-type match, falling back to a fresh photo or AI-generated image instead of a mismatched one. **Where:** Any generated site with product, avatar, or gallery photo slots (e.g. e-commerce, catalog, or testimonial sections). **How to test:** Generate or regenerate a site with product cards or testimonial avatars and confirm the images shown genuinely match the slot (real product-style photos for products, people for avatars) rather than an unrelated stock or mockup image. **Watch for:** A product card showing an unrelated image (like a website mockup or generic graphic) instead of a product-style photo.

Fixed

Redesigning a hero illustration no longer silently fails

Asking to redesign a selected hero illustration could, in some cases, spend a credit generating a new graphic and then fail to apply it — while still reporting "Done" as if the change had succeeded, making it look like the request was ignored. That case is now detected up front and deferred to the normal design pipeline, which redesigns the hero without depending on the illustration's exact structure. **Where:** Site editor — selecting a hero illustration/graphic and asking to redesign it. **How to test:** Select a hero illustration and ask to redesign it; the change should actually apply (or clearly fail), never report success while leaving the illustration untouched. **Watch for:** A "Done" response after a hero-illustration redesign request where the illustration visibly didn't change.

Fixed

Regenerating a design is now more resistant to producing a broken result

When regenerating a design variation, the platform now double-checks the AI's output is a real, renderable design before saving it — if something comes back malformed, it fails with a clear error instead of silently storing a broken page that would show as a blank or unreadable preview. **Where:** Design page — regenerating a design variation. **How to test:** Trigger a regenerate on a design variation and confirm it either produces a normal, renderable design or reports a generation failure — it should never leave a variation with a corrupted, unrenderable page. **Watch for:** A variation that renders as a blank page or shows raw code/text instead of your design after a regenerate.

Fixed

Replacing icon-based illustrations now edits the code instead of doing nothing

Asking the AI to replace the illustrations in a section whose visuals are icons (not photos) now updates those icons directly instead of stopping with a "no images found" message. **Where:** Site editor - chat with the AI ("replace the illustrations in the How it works section with different visuals") **How to test:** Open a site whose "How it works" / process section uses icon graphics, ask the AI to swap the illustrations, and confirm the icons change. **Watch for:** The request should reach the code-editor and swap the icons; it must NOT regenerate photos in other sections, and a genuinely photo-less, icon-less section should still return the honest "nothing to replace" message.

Fixed

Responsive Check panel now fits mobile screens, fix messages stop stacking

On phone-width screens the Responsive Check panel overflowed the edge, clipping its Fix buttons. Separately, fixing several issues in a row could pile up multiple overlapping, sometimes blank, notification toasts. Both are fixed: the panel now fits mobile widths, and fix notifications update in place instead of stacking. **Where:** Site editor → Responsive Check panel (mobile view). **How to test:** Open the Responsive Check panel on a phone-width preview and confirm it fits on-screen with usable Fix buttons; fix two or more issues in a row and confirm you see one updating notification instead of a pile of toasts. **Watch for:** Long issue titles should truncate cleanly rather than pushing buttons off-screen.

Fixed

Scrolling card strips and tickers now actually move on more designs

Some generated designs have a marquee, ticker, or auto-scrolling card strip that was silently frozen in place, clipping off the later cards entirely — that only happened on designs where the AI wrote its own theme styling, and it's now fixed so those strips animate and scroll as intended, both in the editor preview and on your published site. **Where:** Any generated site section that scrolls logos, testimonials, or cards horizontally (marquee/ticker-style sections). **How to test:** Open a site with a scrolling card/logo strip section and confirm the cards continuously scroll instead of sitting still with extra cards cut off at the edge; check both the editor preview and the published page. **Watch for:** A scrolling strip that looks frozen, or trailing cards you can never scroll into view.

Improved

Searchable page switcher in the editor rail

The editor's left rail now leads with a searchable page switcher that always names the page you're on, replacing the flat Pages/Collections lists — so the rail focuses on the current page and its sections. **Where:** Site editor → left rail (top of the page-structure panel) **How to test:** Open a multi-page site in the editor. Click the page name at the top of the left rail — a popover opens with a search box and grouped results (Pages, Collections, Landing). Type to filter, use arrow keys + Enter to pick, or click a row to switch pages. Collections show an item count and a Manage button that opens the collection editor. "Add page" appears in the popover footer only for a working (published/build) site — it is hidden while comparing design options. **Watch for:** Page navigation must still work while comparing designs; section drag-reorder must still work; single-page sites should still show a clean sections-only rail.

New

Share presentation boards straight from the MCP API

Agencies working through the MCP connection can now make a client's presentation board public and get back a clean, no-login share link — without opening the app. The link uses the agency's own branded domain when one is set up, so the platform domain is never exposed. **Where:** MCP tools (Claude / any MCP client) — new `share_board` tool, alongside `list_boards` and `pin_design_to_board`. **How to test:** Pin a design to a board via MCP, then call `share_board` with the board id (or a site id) and read back the `share_url`. Open it logged-out to confirm the board renders. Call again with `rotate: true` to confirm the old link stops working, and `enabled: false` to turn sharing off. **Watch for:** A share link that points at the platform domain instead of a configured white-label domain; a returned link that 404s; sharing that can be toggled on a board belonging to another organization.

Fixed

Simple background & color edits no longer fail on big sections

Short styling edits like "make background dark" now apply reliably instead of occasionally erroring out on large, animation-heavy sections. **Where:** Site editor → select a section → ask the assistant for a background/color change (e.g. "make background dark", "darken the background", "make it lighter"). **How to test:** Open a generated site, focus a rich section (like a hero with animations), and send a terse background or color change. It should apply as a targeted edit and preview correctly, with the rest of the page untouched. **Watch for:** Any styling change that instead rewrites the whole section, drops other sections, or returns "I couldn't safely apply that change." Structural requests (new layouts, adding elements, matching styles across sections) should still take the fuller path.

Fixed

Site-builder chat box now matches dark mode

The chat composer in the site builder stayed white even when the editor was switched to dark mode. It now follows the editor's theme like the rest of the chat panel. **Where:** Site builder — the chat/message box at the bottom of the assistant panel. **How to test:** Switch the editor to dark mode and open the site-builder chat; the message composer should be dark, not white. **Watch for:** A white chat input box while the rest of the editor is in dark mode.

Fixed

Stopped pasted image links being misread as your phone number

Pasting an image or asset link that contained a date-like number in its filename could get that number picked up as your business phone number during intake. Asset links are now excluded, so only real phone numbers you type get captured. **Where:** Start a new site → chat/intake, when pasting an asset URL alongside your pitch. **How to test:** Paste a pitch that includes an asset URL with digits in the filename (e.g. a dated filename) and confirm the intake does not fill in that number as your contact phone. **Watch for:** A real phone number you type or paste directly should still be captured correctly.

New

Swap a section's layout from a visual picker

You can now rebuild any section in a different layout without describing it — pick from a grid of layout thumbnails and see it applied live. **Where:** Site editor → left rail. Hover a section row and click the layout icon, or open a section and click "Swap layout" in its panel header. **How to test:** 1. Open a site in the editor (design or build phase). 2. Hover a section in the left rail (not the header/footer) and click the layout icon — or select the section and click "Swap layout" in the panel header. 3. In the picker, click a layout thumbnail. A preview of that layout builds using your existing text, images and colours. 4. Click "Use this layout" — the section updates in the preview and the change is saved to your version history. 5. Try "Surprise me" for a few fresh ideas, and check the "From your other designs" row when the site has more than one design. **Watch for:** the preview should keep the same wording, photos and colours as before — only the arrangement changes. If a layout can't show a piece of content it warns you before you apply. Applying should survive a reload and appear as a new entry in version history.

Fixed

Switching a site to a light theme no longer leaves dark sections behind

Changing a site's theme from dark to light now recolors section backgrounds that were hardcoded dark, so the whole page follows the new theme instead of stranding a few sections dark. **Where:** Site editor - change the theme via a prompt (e.g. "change the theme to light"). **How to test:** On a dark-themed site, ask the assistant to switch to a light theme. Every section background should turn light, while intentionally dark UI mockups (device/console previews) stay dark. **Watch for:** A section that stays dark on an otherwise-light site, or a decorative dark mockup that incorrectly turned light.

Fixed

Switching to a design that failed to generate now tells you why

Clicking a design variation that failed to generate used to silently snap back to your previous design with no explanation. You'll now see a clear message explaining the design couldn't load and that your current one is unchanged. **Where:** Site editor → design/variation switcher. **How to test:** Try switching to a variation that never finished generating (no code); confirm a toast explains the failure instead of the view just reverting silently. **Watch for:** Successful design switches should be unaffected.

Fixed

The assistant no longer asks you to approve a product edit it can't make

On a site where everything is a collection — a restaurant with only a menu, a store with only products — asking the assistant to change an item could pop up a confirmation card and then fail after you clicked Apply, because that content lives in your Content Manager rather than on the page itself. The assistant now recognises this before it asks, and just tells you where to make the change. **Where:** Site editor → AI assistant chat, on a site whose content is entirely collection-backed (products / menu / listings, with no inline sections). **How to test:** Open such a site and ask the assistant "change the first product title to X". It should reply with plain guidance pointing you to the right section — no confirmation card, no error. **Watch for:** Regular inline content (contact details, services, team, FAQs) must still be editable by the assistant exactly as before — those should still show a preview-diff confirmation and apply cleanly.

Fixed

Undo no longer hangs forever if a restore stalls

Clicking Undo could get stuck showing "Undoing…" indefinitely if the version restore ran into a slow connection, with no error and no way to recover short of leaving and coming back. Undo now gives up after 30 seconds, shows a clear "please try again" message, and resets the button so you can retry right away. **Where:** Site editor → any inline Undo control (Activity Strip, chat feed, mobile undo pill) **How to test:** - Trigger an undoable change, then click Undo under a slow or interrupted network connection - Confirm the button eventually reports a timeout error instead of staying on "Undoing…" forever, and becomes clickable again **Watch for:** The Undo button remaining stuck on "Undoing…" with no error after a slow or dropped connection.

Fixed

Your Light/Dark choice in intake now sticks

Picking "Light" or "Dark" in the intake form could still be silently overridden if your pitch or reference text mentioned a theme (e.g. "dark charcoal background") — the site would generate in the wrong mode. Your explicit choice now always wins. **Where:** Start a new site → intake form → "Light or dark?" question. **How to test:** Choose "Light", but describe a dark-themed reference in your pitch or notes. Generate the site and confirm it comes out light. **Watch for:** Choosing "Let the design decide" should still allow the AI to pick a theme based on your description.

Tuesday, July 14, 2026

Fixed

"Start from another variation" option now actually appears

When generating a new design variation, the option to base it on an existing variation you liked was supposed to be available but was silently disabled for every site. It's now shown wherever the editor can actually honor the choice. **Where:** Site editor → generate a new design variation, choice-of-base step **How to test:** On a site with two or more design variations, start generating a new one and confirm you're offered the option to base it on a specific existing variation rather than only the option to make something different **Watch for:** The "base on another variation" choice missing entirely, or being offered but then silently ignored (the new variation looks unrelated to the one you picked)

Fixed

Agency preview links work again before a prospect becomes a client

Preview links for freshly spun-up agency prospect sites were showing a 404 for everyone — the agency reviewer and the prospect alike — because those sites don't have an owning client yet. Those preview links now open correctly. **Where:** Growth → Previews (any preview built for a prospect who hasn't converted to a client yet). **How to test:** - Spin up a preview for a prospect that hasn't been converted to a client. - Open its preview link directly (as you would send it to the prospect). - Confirm the site renders instead of showing a not-found page. **Watch for:** Any prospect preview (before conversion) 404ing, or the "Open in Editor" link showing up for a site that has no owning client yet.

Fixed

AI assistant no longer crashes when opening chat on a not-yet-generated site

Opening the AI assistant on a site you haven't generated a design for yet could throw an error instead of loading normally. **Where:** Client portal → any new site created but not yet generated → assistant chat panel **How to test:** Create a new site, skip generating a design, and open the assistant chat right away — it should load and respond normally instead of erroring out **Watch for:** The assistant failing to open or responding with a generic error on a brand-new, ungenerated site

Fixed

AI assistant no longer dead-ends on questions about not-yet-generated sites

Asking the AI assistant about a site before you've generated its design — roughly a third of all sites at any given time — could cause it to fail partway through with a generic "something went wrong" error instead of answering normally. Actions that require actual code to edit (like editing a page or replacing an image) are now correctly hidden until a design exists, so the assistant won't promise an edit it can't make. **Where:** Client portal → any site without a generated design yet → assistant chat (including WhatsApp/headless assistant conversations) **How to test:** Create a site, skip generating a design, then ask the assistant a question about the site (e.g. "what pages does this site have") — it should answer normally instead of erroring midway **Watch for:** The assistant failing mid-response or offering to edit a page/image on a site with no generated design

Fixed

Campaign retries no longer duplicate, and a failed email connection no longer locks you out

Retrying a stuck campaign in the outreach wizard could create a second, duplicate campaign, and testing an email sending connection with a wrong password could permanently block you from ever adding that same address again. Both are now fixed — retries resume the same campaign, and a failed connection test leaves nothing behind. **Where:** Dashboard → Agency → Campaigns → New campaign (and Sender accounts setup) **How to test:** - Start creating a campaign, let the targets step fail or interrupt it, then retry — confirm only one campaign is created, not two - Try connecting a sender email account with an intentionally wrong password, see the connection fail, then try again with the correct password — confirm the second attempt succeeds instead of reporting a generic error **Watch for:** Duplicate campaigns appearing after a retry, or a sender email address that can never be added again after one failed connection attempt.

Fixed

Campaign wizard now tells you the truth when previews don't build

When a preview build stopped early — because you hit your plan's preview limit, or cancelled — the wizard used to leave those prospects spinning on "queued" forever while the header cheerfully said "Build complete", and it would still let you continue with prospects that had no preview. **Where:** Growth → New campaign → step 3 "Build previews" **How to test:** Start a campaign with 3+ prospects and run the build. Every prospect now ends on a clear final state — built, failed, or skipped with the reason. If any preview didn't build, the header says so instead of showing a green "Build complete", and Continue stays locked until every prospect has a result. **Watch for:** A prospect row that stays on "queued" after the build finishes, or a green "Build complete" while the list still shows failures.

Fixed

Campaign wizard only emails prospects whose preview you approved

The guided campaign flow used to add every prospect you ticked in step 1 to the campaign — even ones whose preview site failed to build and ones you turned down in the review step. Those businesses got a real email pitching a website with no link in it. Now only approved previews are emailed, and anyone left out is named on screen before you create the campaign. **Where:** Growth, then New campaign (steps 4 "Review" and 5 "Email & create") **How to test:** Pick several prospects, build previews, then approve only some of them in the review step. The summary on the last step should show "Will be emailed" matching only the approved ones, with the rest listed under a reason (no preview site, not approved, rejected, or missing email). Continue stays disabled until at least one preview with an email address is approved. **Watch for:** A prospect you did not approve appearing in the campaign's target list on the next screen. Also watch for an email going out with the words "take a look:" and nothing after it — sending now refuses outright when the preview link it promises does not exist, and the target is left pending with an explanation instead.

New

Change your site's address before you publish

You can now edit your site's address (the subdomain or path it will be reachable at) directly from Settings, with live availability checking as you type. Once a site is published, its address is locked — moving it would break every link people already have — but up until then you're free to pick exactly the address you want. **Where:** Site editor → Settings → Domain **How to test:** - Open a draft (unpublished) site's Settings → Domain - Edit the address field and confirm it checks availability as you type, flagging taken or reserved names - Save a new address and confirm it takes effect - Publish a site, then confirm its address field becomes locked with an explanation **Watch for:** An address field that lets you type something already taken, a locked site whose address can still be changed, or a saved address that doesn't match what actually loads.

Fixed

Cloned sites now get their own shareable address right away

Starting a new site from a gallery template ("use as starting point") could leave it without its own web address, so the Share Preview link handed out a temporary, less trustworthy link instead of the site's real one. Cloned sites now get a proper address immediately, and renaming a site before it goes live keeps that address in sync (with the old link still working). **Where:** Gallery → clone a template as a starting point, then Site editor → Share Preview **How to test:** - Clone a template from the gallery to start a new site - Open Share Preview and confirm the link shown is the site's own address (something like `your-business-name.fullyloadedsites.com/preview`), not a long temporary link - Rename the site before publishing it, then check Share Preview again — it should update to match the new name, and the old link should still redirect correctly **Watch for:** A Share Preview link that still looks like a long temporary token URL, or an address that never updates after a rename

Fixed

Contact sections no longer crash after editing business details

Updating your email or phone number could blank out the contact section of your site with an error. It now updates cleanly, and sites already affected repair themselves. **Where:** Site editor → ask the assistant to update your business email/phone, then view the homepage contact section **How to test:** Open a site whose contact section shows several contact cards (e.g. one per department), update the business email and phone, and reload the preview — the cards should still be there and the new details saved **Watch for:** A contact section that renders empty, or contact cards disappearing after a details update

Fixed

Dashboard prompt box lands you in a live chat, and we never invent your business name

Two fixes from end-to-end testing of the new-account flow. First, describing your business on the dashboard's "What are we building today?" screen now drops you into a chat that immediately starts working on your brief (previously the message could sit unanswered). Second, we no longer treat our auto-generated working title (like "Naples Italian Restaurant") as your real business name — if you didn't name your business, the intake form asks for it instead of a made-up name leaking into your site's header, tab title, and footer. **Where:** Dashboard (empty workspace) → prompt box → site builder chat; also the homepage prompt. **How to test:** 1. In a workspace with no sites, describe a business WITHOUT naming it and submit. 2. You land in the builder with your description already being processed. 3. The intake form asks "What's your business called?" (phrased for your industry). The auto-title shown in the header is a working label, not your brand. 4. Describe a business WITH a name — the question is skipped and your name is used. **Watch for:** Multi-workspace accounts — the site must be created in the workspace you're currently viewing, not another one you belong to.

Improved

Dashboard's attention area now only shows things that need a decision

"New design ready" rows have been removed from the "Needs your attention" area — those same sites already show up as cards further down with a "concepts ready" badge, so busy accounts were seeing the same sites listed twice. Attention now only surfaces failed publishes and other items that need a real decision, and the count of new form leads moved into a quiet stats line instead of taking up an attention slot. Hovering a site card's preview also now labels which design (D1, D2, ...) you're looking at. **Where:** Dashboard → home/portfolio view, top "Needs your attention" area and the stats line beneath it **How to test:** - On an account with several sites awaiting a design pick, confirm those sites no longer appear as their own rows in "Needs your attention" - Confirm a quiet stats line shows live site count, new leads in the last 2 weeks, and how many concepts are awaiting review, each clickable to filter the grid - Hover over a site card with multiple design previews and confirm each frame is labeled D1, D2, etc. **Watch for:** "Needs your attention" still showing concept-ready rows, the stats line missing or showing stale counts, or design labels not matching the design picker's numbering.

Fixed

Draft previews on your custom domain now load correctly, and show the right link

Draft site previews served from a site's own custom domain could fail to load properly — scripts like the chat widget, tracking, cart, and checkout would silently break — and the shareable draft link shown in Settings could be missing or show the wrong address. Draft previews now correctly load their required scripts regardless of which domain they're served from, and the draft link is always shown correctly. **Where:** Client portal → Settings (site address/draft link), and any draft preview served from a custom domain **How to test:** - Open a draft preview for a site with a custom or subdomain address and confirm the page loads fully with no broken widgets (chat, forms, cart/checkout if present) - Go to Settings and confirm the shown draft link is a real, working address (not blank or showing "null") **Watch for:** A draft preview that loads a blank or broken page, missing chat/tracking/cart functionality, or a draft link that's missing or malformed in Settings.

New

Drag to reorder sections in the page rail

You can now reorder a page's sections by dragging the rows in the left "structure" rail — the page updates instantly, no AI prompt needed. **Where:** Site editor → left "structure" rail (the Section Navigator) **How to test:** 1. Open a site in the editor and expand the left structure rail. 2. Hover a section row — a grip handle appears. Drag it up or down; a blue line shows where it will land. Release to drop. 3. Or focus a row and press Alt+↑ / Alt+↓ to move it with the keyboard. 4. Confirm the preview re-renders in the new order and the change is undoable. **Watch for:** Header and footer rows are locked (not draggable). On sites whose sections live in separate component files, dragging is a safe no-op with a "page structure is out of sync — try Rescan" message rather than a broken layout.

New

Edit your site section by section

The editor now shows your page as a list of sections and lets you edit any section's text and photos in one place, with the page updating live as you type. **Where:** Open any site's editor. On desktop, the new left panel lists every section on the page — click one to jump to it and edit all its content on the right. On mobile, open the chat and tap the list icon to pick a section. **How to test:** 1. Open a site in the editor and look at the left panel — your page's sections appear in order. 2. Click a section — the page scrolls to it and its headings, text, and photos appear as editable fields on the right. 3. Type in a text field — the page updates instantly; click away and the change saves automatically. 4. Click Replace on a photo to pick a new one. 5. Collapse the left panel with the arrow button; add site extras (announcement bar, popups) from "Site elements" at the bottom of the panel. 6. On a phone, open the chat bubble and tap the list icon to edit sections the same way. **Watch for:** Sections that were just added by the AI should appear in the list after the page reloads (use the refresh icon in the panel header if not). Fields inside hidden popups or collapsed accordions show a small "hidden" hint but remain editable. Bulk item work (adding or reordering menu items, testimonials, etc.) still opens the full Content Manager via "Manage all".

New

Edit your site's section content from a phone

You can now edit individual sections of your site (text, images, and more) right from a phone. A new "Sections" view in the mobile chat panel lists your page's sections — tap one to edit its content, with the chat assistant still available underneath. We also fixed a positioning bug where the section rail could land under other on-screen controls and become unclickable. **Where:** Site editor on a phone → assistant panel → the list icon in the chat dock header **How to test:** - Open a site in the editor on a phone-sized screen (or resize your browser to ~390px wide) - Tap the list icon in the assistant chat dock header - Confirm you see a list of the page's sections; tap one to open its content editor - Edit some text or replace an image, and confirm the change appears in the live preview and survives a reload - Confirm you can navigate back to chat from the section editor **Watch for:** The sections list not appearing, section edits not saving, or the section rail/toolbar overlapping other controls on desktop.

Fixed

Every 'share your site' link now points to your site's real address

Sharing a preview — from the editor, the assistant, a client portal, an agency's outreach email, a shared design board, or the public API — could still hand out an old-style temporary link instead of your site's actual web address, and one "View on site" link was broken outright. Every one of these surfaces now shares the same correct, current address, including sites forked from another site. **Where:** Site editor → Share Preview, assistant "share preview", client portal, agency Previews page, outreach emails, shared design boards, and the public API **How to test:** - Open Share Preview in the site editor for a site (including one forked/duplicated from another site) and confirm the link is the site's own address, not a long temporary URL - Send yourself a test outreach email with a preview link and confirm it opens the right site without asking you to log in - Open a shared design board and confirm the "view live" link is correct **Watch for:** A share link that requires logging in, points to the wrong site, or still looks like a raw temporary token URL

Fixed

Fixed a rare crash in site sections that display lists

A behind-the-scenes data glitch could occasionally turn a list of items (like contact cards, menu items, or testimonials) into a broken format, causing that section to crash instead of displaying on the live site, preview, or published page. **Where:** Any published site or preview with a section that lists multiple items (contacts, menus, testimonials, etc.) **How to test:** Edit a site with a list-based section (e.g. a menu or testimonials section), save, and confirm the section still renders correctly in preview, SSR, and after publishing **Watch for:** A section that used to show a list of cards rendering blank or throwing a "not a function" style error

Fixed

Fixed some section edits silently failing to save, even after repeated retries

Asking the assistant to change certain page sections could report "Applied" while quietly discarding the edit — leaving the section unchanged no matter how many times you tried the same request. This affected sections whose code included a small helper alongside the main component. The assistant now either saves the change for real or tells you honestly that it couldn't, instead of falsely claiming success. **Where:** Site editor chat — ask the assistant to change a page section's styling or content **How to test:** - Pick a page section and ask the assistant to change something about it (e.g. a stat block or feature list with repeated sub-items) - Confirm the change actually appears in the preview and survives a reload - If the assistant reports it couldn't apply a change, confirm the section is left exactly as it was, with a clear explanation **Watch for:** A section that never visibly changes despite the assistant reporting success on repeated attempts

Fixed

Fixed tabs and toggles sometimes starting in the wrong state on generated sites

When AI-generated components used a repeating pattern with individual toggle or tab state (like an accordion or a set of tabs), a bug in our automatic error-fixing could sometimes give them the wrong starting value, so nothing appeared active or open when the page first loaded. **Where:** Any generated or adapted site with repeated components that each track their own open/active state (accordions, tab groups, expandable cards) **How to test:** Generate or adapt a site with an FAQ accordion or tabbed section and confirm the intended default item shows as open/active on first load, not blank **Watch for:** A tab group or accordion where nothing is highlighted/expanded by default, or the wrong item appears active

Fixed

Fixed the campaign wizard crashing on load

Opening the outreach campaign wizard could fail immediately with "Couldn't load your prospects and templates," blocking campaign creation entirely. A backend dependency issue was crashing several outreach features at once — campaigns list, follow-up emails, and email open/click tracking — and all are now fixed. **Where:** Top nav → Growth → Campaigns → New Campaign **How to test:** - Open the Campaigns section and click New Campaign - Confirm the prospect list and template list both load without an error - Confirm sender account setup, the campaigns list, and email tracking links all continue to work normally **Watch for:** Any error message about loading prospects, templates, or sender accounts when opening the campaign wizard

Improved

Growth explains itself — guide, in-context explainers, and one-click templates from your sites

The Growth workspace now teaches its purpose, not just its next step — and creating your first template no longer requires finding a buried menu. What changed: - The Growth overview opens with a dismissible "How Growth works" panel: the 4-step play plus a concrete example (scan dentists in Austin → build 20 previews from one template → email each their own new site → close 2). Reopen it anytime via "How it works". - Every Growth page (Prospects, Templates, Previews, Campaigns) has a one-line explainer that expands to a few bullets — what the thing is, why it matters — and remembers when you collapse it. - A full **Growth guide** lives in the sub-nav: the objective, the play step by step with quota costs, plain-language definitions (prospect, assessment, template, preview, campaign, convert), what makes a good template, safe-sending rules, and honest expectations (typical run: 50 scanned → 20 previews → 20 emails → 3–5 replies → 1–2 deals). - **Templates suggest themselves**: with zero templates, the Templates page now shows your existing sites and a one-click "Save as template" on each — no more instructions pointing at the site editor's Settings menu. A "New from site" button offers the same picker once you have templates. **Where:** Top nav → Growth → any tab; the guide is the "Guide" link at the right of the Growth sub-nav. **How to test:** Open Growth fresh — the How-it-works panel should show; dismiss it and confirm the "How it works" link brings it back. Visit each tab and expand/collapse the explainer card (state should survive reload). Open the Guide. On Templates with no templates, confirm your real sites appear with screenshots and that "Save as template" creates one without leaving the page. **Watch for:** Explainer cards re-expanding on every load after being collapsed; the suggestions grid showing template snapshots or preview sites (it must only show your own real sites); one-click save failing on legacy monolithic sites without a clear message.

Fixed

Growth hub: accurate funnel numbers, correct sender check, and a working editor link

Several small but confusing bugs in the Growth hub are fixed: the pipeline funnel could show nonsensical percentages over 100%, the hub could claim outreach was ready to send when no sending email was actually verified, and the "Open in Editor" link on a preview card could lead nowhere. **Where:** Top nav → Growth → Overview. **How to test:** - Open the Growth overview with a real pipeline of prospects at different stages — funnel percentages should stay between 0 and 100%. - If no sending email has been verified yet, the next-best-action should still tell you to connect one, even if a sender exists in "pending" state. - On a preview card for a site with an owning client, "Open in Editor" should open the real editor, not a dead link. **Watch for:** Funnel stages showing over 100%, outreach appearing unblocked with no verified sender, or a broken "Open in Editor" link.

New

Guided campaign wizard — from prospect list to ready-to-launch campaign

Creating an outreach campaign is now one guided flow instead of four separate tools, and two silent breakages in the preview pipeline are fixed. What changed: - "New Campaign" opens a 5-step wizard: pick prospects (hot leads first, search + filters) → pick a template → build all preview sites with live progress → approve them → write the email and create the campaign. Prerequisites never dead-end: no sender account? Connect SMTP right inside the final step. - Preview sites built for prospects are now viewable — "View site" opens the shareable preview render. (The old "Open in Editor" button pointed at a page that never existed.) - Outreach emails now carry a working preview link: the {{previewUrl}} variable was silently empty in every sent email because the link was never generated. Adding prospects to a campaign now creates their share links automatically. - Building previews from a template works again — creating templates and spinning up sites had been silently broken since a May data-model change (every attempt failed with "Template snapshot has no blueprint or files"). **Where:** Top nav → Growth → Campaigns → New Campaign (app.mondovo.com/dashboard/agency/campaigns/new) **How to test:** With prospects imported and a template saved, click New Campaign. Select 2–3 prospects (note the "No email — skipped at send" warning on prospects without one), pick the template, run Build previews and watch per-prospect progress, click View site on a built preview (should open the rendered site in a new tab), Approve all, fill the email step, and Create campaign — you should land on the campaign detail page with targets attached. **Watch for:** Build step stuck on "queued"; View site failing or opening a 404; {{previewUrl}} rendering empty in a sent test email; the wizard allowing Continue with no prospects/template; campaign created without its targets.