diff --git a/packages/wxt/src/core/create-server.ts b/packages/wxt/src/core/create-server.ts index 6b183198..b83e6bd4 100644 --- a/packages/wxt/src/core/create-server.ts +++ b/packages/wxt/src/core/create-server.ts @@ -97,15 +97,17 @@ async function createServerInternal(): Promise { wxt.logger.success(`Started dev server @ ${server.origin}`); await wxt.hooks.callHook('server:started', wxt, server); - await buildAndOpenBrowser(); - - // Register content scripts for the first time after the background starts up since they're not - // listed in the manifest + // Register content scripts for the first time after the background starts + // up since they're not listed in the manifest. + // Add listener before opening the browser to guarentee it is present when + // the extension sends back the initialization message. server.ws.on('wxt:background-initialized', () => { if (server.currentOutput == null) return; reloadContentScripts(server.currentOutput.steps, server); }); + await buildAndOpenBrowser(); + // Listen for file changes and reload different parts of the extension accordingly const reloadOnChange = createFileReloader(server); server.watcher.on('all', reloadOnChange);