<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>

