I IngestAI docs

Troubleshooting

Widget doesn't show

Widget isn't showing on your site, or shows only for logged-in users, or shows blank when you open it. This page is the symptom โ†’ cause โ†’ fix flowchart. Run the checks in order; most installs hit the first one and skip the rest.

Symptom: widget shows for logged-in users only

Cause: page cache. WordPress caching plugins (W3 Total Cache, WP Rocket, LiteSpeed Cache, WP Super Cache), hosting- level page cache (Hostinger, SiteGround, Cloudways, Kinsta), or Cloudflare APO all serve anonymous visitors a cached HTML snapshot taken BEFORE you installed Pitchbar. Logged-in users bypass page cache, so they always hit fresh PHP and see the widget.

Fix:

  1. WP admin โ†’ your caching plugin โ†’ click Purge All Cache.
  2. If you're on Hostinger / SiteGround / Cloudways / Kinsta: control panel โ†’ Page Cache โ†’ Purge.
  3. If Cloudflare is proxying your domain: Cloudflare dashboard โ†’ Caching โ†’ Configuration โ†’ Purge Everything.
  4. Open your site in incognito (new private window) โ†’ right-click โ†’ View Source โ†’ search for widget.js. Present = fixed.

Symptom: widget doesn't show at all

Walkthrough:

  1. Confirm the Pitchbar WP plugin is configured. WP admin โ†’ Pitchbar (left sidebar). All three fields must be set: Base URL, API Token, Agent ID. Missing any one of them = the plugin's shouldRender() gate returns false and nothing renders.
  2. Confirm the widget is enabled. Same Pitchbar settings page โ†’ checkbox "Widget enabled". Default on, but worth confirming.
  3. Confirm post-type scoping. Settings page โ†’ "Show on these post types". Defaults to post + page. If your front page is a custom post type (e.g. landing, product) and you haven't ticked it, the widget skips that page. Tick the box.
  4. Open browser DevTools โ†’ Network tab on your front-end page. Search for widget.js:
    • Present + 200 OK: the script loaded. Check Console for JS errors.
    • Present + 404: your Base URL setting points at a host that doesn't serve widget.js. Should be your Pitchbar install root (e.g. https://pitchbar.your-domain.com).
    • Missing entirely: the plugin isn't emitting the tag. Confirm via View Source โ€” look for <script async src=โ€ฆwidget.jsโ€ฆ>. Missing tag = the shouldRender() gate failed; re-check the previous 3 items.

Symptom: widget shows but says "Sorry โ€” something went wrong"

Widget retries the SSE stream 3 times then surfaces this generic bubble. The real error is logged server-side; the bubble is intentionally vague so visitors don't see raw provider errors.

Tail your Laravel logs while reproducing in the widget:

tail -f storage/logs/laravel.log

Common patterns and their fixes:

  • Workers AI 401: ... โ€” Cloudflare API token rejected. See Cloudflare 401 troubleshooting.
  • Vectorize ... expected N dimensions, got M โ€” embed model and index dim mismatch. See Vector dim recovery.
  • Workers AI timeout โ€” Cloudflare flaky. Retry; if persistent, switch CLOUDFLARE_CHAT_MODEL to a smaller variant.
  • message_quota_exceeded โ€” workspace plan cap reached. Upgrade workspace plan.
  • conversation_not_found โ€” widget JWT is older than the conversations.cleared_at on its conversation row. Visitor needs to refresh the page so the widget reissues a fresh JWT via the next /api/v1/widget/init.

Symptom: widget shows but the launcher pill never appears

Theme conflict. Some themes set iframe { display: none !important } or use a global z-index reset. The Pitchbar widget renders inside a Shadow DOM but its mount point is a <div> on the host page.

Fix: add this CSS to your theme's Additional CSS:

#pitchbar-root,
#pitchbar-root * {
    display: revert !important;
    visibility: visible !important;
    z-index: 2147483647 !important;
}

Still stuck?

Reach out at support@pitchbar.app with:

  • One screenshot of the front-end page where the widget isn't showing.
  • Output of tail -200 storage/logs/laravel.log (or browser Console output if the script never reached your server).
  • The URL of an affected page (if public).