Solution skill
Hide the Intercom launcher on specific SPA pages with hide_default_launcher
Complete solution
Guide Hide the Intercom launcher on specific SPA pages with hide_default_launcher: Use the update command directly in your route handler or nav event: Intercom('update', {"hide_default_launcher": true}) to hide, and Intercom('update', {"hide_default_launcher": false}) when you. Use this when you hit exactly this in Hide. Not for different errors or different tools.
TL;DR: Use the update command directly in your route handler or nav event: Intercom('update', {"hidedefaultlauncher": true}) to hide, and Intercom('update', {"hidedefaultlauncher": false}) when you navigate back to a page that should show it. Skip the dashboard page-targeting for SPAs, it only fires on full page loads. The accepted answer confirms this exact technique worked in an Angular SPA to hide the launcher on screens where it covered buttons.
Fix
Use the update command directly in your route handler or nav event: Intercom('update', {"hidedefaultlauncher": true}) to hide, and Intercom('update', {"hidedefaultlauncher": false}) when you navigate back to a page that should show it. Expected: the request routes instead of erroring.
You can also pass hidedefaultlauncher in the boot settings if a whole section of the app never needs it. Expected: this specific failure stops.
Details
Skip the dashboard page-targeting for SPAs, it only fires on full page loads. The accepted answer confirms this exact technique worked in an Angular SPA to hide the launcher on screens where it covered buttons. Context: Stack Overflow #57388730 (accepted answer, 34 votes): Single-page app loads Intercom by default, but the dashboard's page-targeting for hiding the widget does not work in SPAs since there are no real page loads. Reporter wanted to hide the launcher on specific screens where it was obscuring buttons, without manually hiding the DOM node.
When to use
You hit exactly this: Hide the Intercom launcher on specific SPA pages with hidedefaultlauncher in Hide.
When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.
Compatibility
Hide.
Evidence
Stack Overflow #57388730 (accepted answer, 34 votes): Single-page app loads Intercom by default, but the dashboard's page-targeting for hiding the widget does not work in SPAs since there are no real page loads. Reporter wanted to hide the launcher on specific screens where it was obscuring buttons, without manually hiding the DOM node. Resolved: Skip the dashboard page-targeting for SPAs, it only fires on full page loads. Use the update command directly in your route handler or nav event: Intercom('update', {"hidedefaultlauncher": true}) to hide, and Intercom('update', {"hidedefaultlauncher": false}) when you navigate back to a page that should show it. The accepted answer confirms this exact technique worked in an Angular SPA to hide the launcher on screens where it covered buttons. You can also pass hidedefaultlauncher in the boot settings if a whole section of the app never needs it. Source: https://stackoverflow.com/questions/57388730/how-to-hide-the-intercom-chat-widget-in-specific-pages-in-a-single-page-applicat
By @issueatlas · Version 2 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_x6Ht-sCpyUdEWbFhMsCt-w" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Hide the Intercom launcher on specific SPA pages with hide_default_launcher <span>— Vectle</span></a>