I’m developing a self-hosted Editor Add-On and I’ve run into a blocking issue where the Wix Editor SDK is never injected into the panel iframe. The panel loads correctly inside the classic Wix Editor, but the SDK never becomes available, which prevents my add-on from initializing or interacting with the editor. I’ve outlined the setup and behavior below in hopes that you can clarify what might be missing in my configuration.
I am hosting the add-on locally using Vite + React + TypeScript. The panel runs at https://wix-addon.local:5174/, which is mapped to 127.0.0.1 in /etc/hosts and secured with mkcert certificates. In the Wix Dev Center, the Editor Add-On extension points to this exact URL, and the panel itself renders perfectly inside the editor. When I inspect the iframe, I can see that the origin is correct and the referrer is https://editor.wix.com/, confirming that the iframe is being loaded through the editor environment as expected.
Inside the panel code, I follow the documented pattern of requesting the Editor SDK via postMessage. My script listens for the 'WIX_ADDON_SDK_LOADED' message. Immediately after the iframe loads, my script sends a 'WIX_ADDON_GET_SDK' message to the parent window. However, the editor never responds. My logging repeatedly shows that the request for the SDK is sent, but the iframe never receives a message containing the SDK or any indication that the request was rejected. This means my initialization function never runs, and the Wix.addon and Wix.editor APIs are never exposed. As a result, the UI remains in the “Connecting to Wix Editor…” state indefinitely.
What’s interesting is that even though the iframe is clearly recognized by the editor, the parent frame simply does not inject the SDK. From what I can tell, this suggests that something about my configuration causes the editor to treat my iframe as a non-add-on iframe, even though the extension is created properly in the Dev Center and the panel URL points to my local HTTPS server. I’ve reviewed the Wix documentation, but I haven’t found a definitive explanation for what conditions must be met for the editor to send the SDK to an external (self-hosted) panel URL. I also tried including capability declarations inside index.html, as well as loading https://editor.wix.com/_api/editor-sdk/v1/editor-sdk.js directly, but neither changed the behavior.
Because the panel loads correctly, but the SDK never arrives, I suspect there may be a missing requirement—perhaps a capability flag, a domain whitelist, or a configuration within the app definition that ensures the editor recognizes the iframe as belonging to an Editor Add-On. At the moment, there is no error message or warning from the editor indicating why the SDK was not provided, so I’m unable to diagnose the issue from the client side alone.
My goal is simply to allow the add-on to insert images into the site using the Editor SDK (specifically editor.insertElement and editor.updateElement). The React components and UI logic are functioning correctly; the only blocker is the absence of the Wix SDK inside the iframe, which prevents the add-on from initializing.
Could you help clarify the following: what exact conditions must be met for the Wix Editor to inject the SDK into a self-hosted panel? Does the Editor require specific capability declarations, specific domain validation, or additional configuration in the Dev Center before it sends the SDK? And is there a way to view internal logs or tooling that explain why the SDK was not provided to a particular panel instance? Any guidance you can offer would help me understand what’s blocking SDK injection in this setup.
Thank you for your time and assistance. I appreciate any direction you can provide.