54321G
Liftmira
HomeArticleAboutContactDocs

Advanced

Troubleshooting

The viewer is empty or shows an error. What each code means and what to change, from the browser console to the Dashboard.

Also available in Vietnamese

Start with what you see on the page. The three cases below cover where the failure happened. Every error has a code written in capital letters, and the code tells you the cause.

The viewer is empty or shows an error

Decision tree. First choose what you see on the page, then read the code to find the cause and the fix.

What do you see on the page?
  • The container is empty, no iframe

    What does the console or the VIEWER_ERROR event say?

    • SERVICE_UNAVAILABLENo answer. Check your own route, the network and the 15-second limit.
    • LICENSE_KEY_MISSING, LICENSE_KEY_INVALID, LICENSE_INACTIVE, LICENSE_KEY_SHOP_MISMATCHCheck the License key in your server, its end date and its shop.
    • SHOWCASE_NOT_FOUND, SHOWCASE_NOT_ACTIVATED, SHOWCASE_NOT_IN_PRODUCTIONCheck the Showcase ID, that your shop is active and that you use the production code.
    • EXCHANGE_TOKEN_INVALIDThe code was used already or is older than 60 seconds. Look for cached HTML or a reused code.
    • ORIGIN_NOT_ALLOWEDAdd the page's domain to the Showcase's allowed domains.
    • RATE_LIMITEDToo many requests from one address. Wait and reload.
  • The viewer opens and shows a card with a code

    Which code is printed on the card?

    • SHOWCASE_NOT_ACTIVATEDYour shop is not active yet.
    • SHOWCASE_DISABLED, SHOWCASE_NOT_FOUNDThe Showcase was switched off or removed in the Dashboard.
    • ORIGIN_NOT_ALLOWEDThe domain list changed or the page is on another host.
    • SESSION_EXPIRED, SESSION_INVALIDPress Reload. If it keeps coming back, check your route.
    • RATE_LIMITED, SERVICE_UNAVAILABLEThe service is busy. Press Retry.
    • PREVIEW_ENDED, PREVIEW_NOT_ENABLED_HERE, PREVIEW_PAGE_LIMIT, PREVIEW_DAILY_LIMIT, PREVIEW_UNAVAILABLEA Preview rule applies. See Troubleshooting.
  • The model shows, with a small notice

    Which notice?

    • Sample contentThe Showcase still holds the sample content of your industry.
    • PreviewThe page runs a Preview, not production.
    • Trial/plan expired, renew soonThe license passed its end date or the shop used its monthly views. The viewer keeps working.

Where to find the code

In the browser console, the SDK logs [Comnoira SDK] init failed followed by the error. Your page can also read it from the VIEWER_ERROR event, which carries { code, message, fatal }. When the viewer itself shows an error card, the code is printed on the card in small type.

Case 1: the container stays empty

No iframe appears, so the failure happened before the viewer started. The code in the console or in VIEWER_ERROR names the step.

  • SERVICE_UNAVAILABLE: the SDK got no answer. Your own route returned an error or threw, the visitor was offline, or a request took longer than 15 seconds. Open the network tab and look at your route first.
  • LICENSE_KEY_MISSING, LICENSE_KEY_INVALID, LICENSE_INACTIVE, LICENSE_KEY_SHOP_MISMATCH: your server's call is refused. Read the answer from POST /api/v1/viewer/session in your server log. Check that the right License key is in the environment variable, that the license has not passed its end date, and that the key belongs to the shop that owns the Showcase.
  • SHOWCASE_NOT_FOUND: the Showcase ID is wrong, or the Showcase is not active.
  • SHOWCASE_NOT_ACTIVATED: your shop is not active yet. Use a Preview until Comnoira activates it.
  • SHOWCASE_NOT_IN_PRODUCTION: the Showcase is a demo or a Preview. Use the production code.
  • EXCHANGE_TOKEN_INVALID: the code was already used or is older than 60 seconds. Look for cached page HTML with a code in it, a route that returns the same code twice, or a page that starts the SDK twice with one code.
  • ORIGIN_NOT_ALLOWED: the page's domain is not in the Showcase's allowed domains. Add the exact host, or *.yourdomain.com, in the Dashboard.
  • RATE_LIMITED: too many requests from one address. Wait and reload.
  • Container #id not found in the console: the container option names an element that does not exist when init runs. Write the id without # and call init after the element exists.

Case 2: the viewer opens and shows a card

The session worked and the viewer asked the Backend for the Showcase. A card with a title and a small code appears.

  • SHOWCASE_NOT_ACTIVATED: "This Showcase isn't available yet." The shop is not active.
  • SHOWCASE_DISABLED or SHOWCASE_NOT_FOUND: "This Showcase is unavailable." The Showcase was switched off or removed in the Dashboard.
  • ORIGIN_NOT_ALLOWED: "This website isn't allowed to show this Showcase." The domain list changed, or the visitor reached the page through a different host. This also appears when the SDK renews the session.
  • SESSION_EXPIRED or SESSION_INVALID: "Your session has expired." The card has a Reload button, and the SDK asks for a new session. If it keeps coming back, check that your route still works.
  • RATE_LIMITED or SERVICE_UNAVAILABLE: "The service is busy." The card has a Retry button.

On a Preview, these codes also exist. PREVIEW_ENDED: the Preview passed its end date or used up its sessions. PREVIEW_NOT_ENABLED_HERE: the page is not on the website you verified, or the verification is not done. PREVIEW_PAGE_LIMIT: the Preview was opened on more pages than it allows. PREVIEW_DAILY_LIMIT: today's allowance is used. PREVIEW_UNAVAILABLE: Comnoira has Previews switched off.

Case 3: the model shows, with a small notice

  • "Sample content" at the top: the Showcase still holds the sample content of your industry. Your own model replaces it when Comnoira adds it to the Showcase.
  • "Preview": the page runs a Preview, not production.
  • "Trial/plan expired, renew soon" at the bottom: the session was flagged because the license passed its end date, or the shop used its plan's monthly views. The viewer keeps working. Contact Comnoira about the plan.

Still stuck

Write to liftmira@comnosoft.com with the code, the page address and the time of the attempt.