phx-update="ignore" so LiveView does not re-render the agent element.
<body>
<%= @inner_content %>
<div phx-update="ignore">
<char-agent id="char-widget" publishable-key="pk_live_..."></char-agent>
</div>
<script>
window.addEventListener("phx:page-loading-stop", () => {
const agent = document.getElementById("char-widget");
const idToken = window.currentUserIdToken;
if (idToken) {
agent.connect({ publishableKey: "pk_live_...", idToken });
}
});
</script>
</body>

