Troubleshooting
What each console warning and API error means, and how to fix it.
The launcher does not show
Section titled “The launcher does not show”- Open the browser console and look for a warning that starts with
Iris:. Each warning links to its entry on this page. - Check that your Content Security Policy allows
cdn.irisdesk.app. See Allowed origins and CSP. - Check that the origin of the page is in Settings → Widget → Allowed origins.
- Check that you did not pass
launcher: false.
Console warnings
Section titled “Console warnings”| Message | What happened | Fix |
|---|---|---|
Iris: the widget did not start, because the App ID is missing or not valid.# | Iris.init got no appId, an empty one or one longer than 64 characters. | Pass your App ID as appId. Copy it from Settings → Install. |
Iris: ignored <option>: <value>, because it is not a valid value.# | An Iris.init option or a widget setting is outside its limits, such as verticalPadding: 300. Iris used the workspace value. | Use a value within the limits of the Iris.init options. |
Iris: <method> ran before Iris.init, so nothing changed.# | identify, logout or update ran before Iris.init. After an early identify, the contact stays anonymous. | Call Iris.init({ appId }) first. Calls made before iris.js loads wait in a queue, in order. |
Iris: identify got no identity token, so the contact stays anonymous.# | The token is empty or not a string. Often your token endpoint failed. | Check that your server returns an identity token, then pass it as Iris.identify({ token }). |
Iris: on ignored the listener, because the event is not "unread" or the listener is not a function.# | The event name is not "unread", or the listener is not a function. | Pass "unread" and a function. See Events. |
Iris: setPageContext ignored the page context, because it is outside the limits.# | The value is not a flat object, it has more than 48 keys, or a value is too long or has the wrong type. Iris kept the earlier page context. | Keep to the page context limits. |
Iris: update ignored <option>, because update changes only launcher.# | Iris.update got an option other than launcher. Iris applied launcher and ignored the rest. | Pass that option to Iris.init. |
Iris: ignored the unknown method "<name>".# | A queued call names a method that iris.js does not have, often because of a typo. | Check the method name. Copy the loader snippet again from Settings → Install. |
Iris: <action> failed: <reason>.# | A request to Iris failed, for example because the network dropped or Iris had an error. | Check your connection and the network tab of your browser, then reload the page. |
API errors
Section titled “API errors”You see these in the network tab of your browser. The console also shows a warning that links here.
| Message | What happened | Fix |
|---|---|---|
403 origin_not_allowed# | The origin of the page is not in the allowed origins, so Iris refused the request. The console shows Iris: <action> failed, because the origin of this page is not allowed. | Add the origin in Settings → Widget → Allowed origins. See Allowed origins. |
401 on the session request# | Iris rejected the identity token. It expired, its signature does not match the identity secret, or sub or exp is missing. The console shows Iris: <action> failed, because Iris rejected the identity token. | Sign a new identity token with the current identity secret and both required claims. Check your code with the test token. |