42924: Per-connection protocol message rate exceeded
rate_limit_exceeded_protocol_message_rate_fatalA connection was terminated because the rate of inbound protocol messages from the connection exceeded its configured per-connection limit. Protocol messages include message publishes, presence updates, attach/detach requests, and other client-initiated actions on the connection.
What you should do
The threshold is high (around 2000 protocol messages per second), well above what the official Ably SDKs send, so reaching it usually indicates a client that is not using an official SDK and is sending far more protocol messages than intended. Look for a loop or bug in that client, such as repeatedly attaching and detaching a channel or publishing in a tight loop. The connection can be re-established, but it will be closed again if the behavior continues.
Why it happens
A connection may send only a limited number of protocol messages per second, around 2000, covering every client-initiated action on it and not just published messages. This is a safeguard against a misbehaving or runaway client. When a connection exceeds it, Ably closes the connection rather than rejecting individual messages.
What you'll see
The connection is closed. The error is reported with code 42924 and HTTP status 429, with a message of the form Connection terminated for abuse (inbound protocol message rate exceeded 2000/s).