Skip to main content
Place <char-agent> in application layout outside Turbo frame swaps.
<!-- app/views/layouts/application.html.erb -->
<body>
  <%= yield %>

  <char-agent id="char-widget" publishable-key="pk_live_..."></char-agent>

  <script>
    document.addEventListener("turbo:load", () => {
      const agent = document.getElementById("char-widget");
      const idToken = document.querySelector('meta[name="id-token"]')?.content;
      if (idToken) {
        agent.connect({ publishableKey: "pk_live_...", idToken });
      }
    });
  </script>
</body>