Web Messaging Guest API: Typing indicators not triggering agent side updates

trying to get typing indicators and read receipts working via the Guest API. the docs say to send typing events, but the payload structure for these meta-events isn’t super clear.

here’s what i’m sending for a typing event:

{
 "content": "",
 "type": "typing",
 "metadata": {
 "source": "guest"
 }
}

the request returns a 200 OK. the message object comes back with an id and timestamp. but on the agent desktop, nothing happens. no typing bubble. no notification. if i send a normal text message right after, the agent sees the text, but the typing indicator from before is gone.

i’ve checked the interaction logs. the message is recorded as type: "typing". so the platform is receiving it. why isn’t the UI reacting? is there a specific status field i need to set? or maybe a rate limit on these meta-messages? we’re hitting the endpoint every 500ms while the user is typing. feels like we’re spamming it, but the API isn’t complaining.

also, for read receipts, i’m trying to POST a read type message. same issue. 200 OK, but the agent doesn’t see the “read” checkmarks update.

await fetch(`${BASE_URL}/conversations/messages/${conversationId}/communications/${communicationId}/messages`, {
 method: 'POST',
 headers: {
 'Authorization': `Bearer ${token}`,
 'Content-Type': 'application/json'
 },
 body: JSON.stringify({
 type: 'read',
 content: '',
 metadata: { source: 'guest' }
 })
});

is this supported via the REST API? or do i need to use the WebSocket connection for these real-time UI updates? the docs are vague on whether the REST API triggers the same UI events as the native widget.