Skip to content

Diagnose plugin registration

Start with the global status query after the configurator becomes ready:

js
const api = await window.iConfigurator.ready()

console.table(api.getPluginStatus())
console.table(api.getSnapshot().pluginErrors)

Inspect one plugin by its stable ID:

js
const registration = window.iConfigurator.getPluginStatus('customer.dealer-recommendation')
console.log(registration)

Registration statuses

StatusMeaning
queuedDiscovered but not yet registered.
registeredAccepted by the plugin system.
setting-upThe setup callback is currently running.
readySetup and applicable lifecycle callbacks completed.
failedA setup or lifecycle phase failed.
disabledThe descriptor was retained for diagnostics but not enabled.
disposedThe plugin was unregistered and cleaned up.

Failed registrations include a public error and errorPhase when available. Timestamps identify when discovery, setup, readiness, failure, and disposal occurred.

Inspect the configurator snapshot

js
const snapshot = window.iConfigurator.getSnapshot()

console.log(snapshot.status)
console.table(snapshot.plugins)
console.table(snapshot.pluginAssets)
console.table(snapshot.pluginErrors)

pluginAssets reports whether external plugin files loaded successfully. A file can fail before registering a plugin, so inspect both asset and registration status.

Enable development diagnostics

Set this before the embed script on a test page:

html
<script>
  window.IconMediaConfig = {
    debugPlugins: true,
  }
</script>

Do not enable verbose diagnostics solely to compensate for missing plugin error handling.

Icon Visualizer developer documentation