From fb83085369ec883ecf08e5c6b219042da8eb76e9 Mon Sep 17 00:00:00 2001 From: umair Date: Mon, 22 Jun 2026 13:33:02 +0100 Subject: [PATCH] Reserve error codes 90009 and 91008 for SDK silent-failure surfacing ably-js #2236 (DX-1211) surfaces two previously-silent SDK failures as hinted ErrorInfos and needs client-side error codes for them. It first used 93002 (presence.get without presence_subscribe) and 93003 (channel.subscribe without subscribe). 93002 collides with the existing server code "this operation can only be performed on a channel in a namespace with Mutable Messages enabled" (faqs.ably.com/error-code-93002), and 93xxx is the annotations / mutable-messages block. Move each to its subsystem block and reserve here so they are unique platform-wide, mirroring how 93001 is already registered for the annotation mode-check: - 90009 (channel block): channel.subscribe() on a channel attached without the subscribe mode. - 91008 (presence block): presence.get() on a channel attached without the presence_subscribe mode. Co-Authored-By: Claude Opus 4.8 (1M context) --- protocol/errors.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/protocol/errors.json b/protocol/errors.json index f6ee1474..2933eda6 100644 --- a/protocol/errors.json +++ b/protocol/errors.json @@ -204,6 +204,7 @@ "90006": "unable to recover channel (unbounded request)", "90007": "channel operation failed (no response from server)", "90008": "unable to get channel history (attach point not found)", + "90009": "messages not delivered to subscriber (channel attached without the subscribe mode)", "90010": "maximum number of channels per connection/request exceeded", "90021": "exceeded maximum permitted account-wide rate of creating new channels", "91000": "unable to enter presence channel (no clientId)", @@ -214,6 +215,7 @@ "91005": "presence state is out of sync", "91006": "unable to enter presence channel (maximum presence set data size exceeded)", "91007": "Unexpected loss of presence membership", + "91008": "unable to retrieve presence members (channel attached without the presence_subscribe mode)", "91100": "member implicitly left presence channel (connection closed)", "92000": "invalid object message",