Most widget problems are one of four things, and they are quick to tell apart.
The launcher never appears
Section titled “The launcher never appears”Work down this list in order. It is roughly ordered by how often each one is the culprit.
- The script did not load. Check the network tab for
widget.js. A content security policy that omitschat.omazy.aiwill block it silently, which is the most polite way software has ever ruined an afternoon. initwas never called, or was called without a key.- The key is wrong or the widget is not published. An unpublished widget is configured but not live.
- The launcher is hidden on this viewport. Desktop-only launchers do not render below the mobile breakpoint. That is a setting, not a bug, though it has been mistaken for one many times.
It opens blank
Section titled “It opens blank”Almost always a configuration problem rather than a code one. A landing screen with a malformed footer link block will render an empty card, and an empty card looks exactly like a broken widget.
Check the widget’s landing configuration in the console. If you changed the landing links recently, change them back and reload before investigating anything else.
It looks fine on desktop and wrong on a phone
Section titled “It looks fine on desktop and wrong on a phone”The panel becomes full-screen below the mobile breakpoint, by design. If your
page sets overflow: hidden on body while a menu is open, or traps focus, the
widget inherits that behaviour because it lives in your document.
Events fire twice
Section titled “Events fire twice”You are probably listening for both ouchat: and omazy: prefixed events. They
are the same event dispatched under two names during migration. Pick the
ouchat: one.
Getting help
Section titled “Getting help”Reproduce it with the console open and capture:
- the widget key,
- what
ouWidget('getState', console.log)prints, - any errors from
chat.omazy.ai.
Those three turn a two-day thread into a two-message one.