See a bug discovered today at ably/ably-js#312 for ably-js.
This is quite problematic because if we explicitly have to DETACH a channel (due to a timeout for example), then the client now will move the channel into the failed state. This means most customers will never re-attach that channel automatically, see https://www.ably.io/documentation/realtime/connection#handling-failures.
With some urgency, we need to add test coverage to ensure that:
- A server initiated
DETACH with or without an error moves the channel to the DETACHED state and not a failed state
- A server initiated
DISCONNECT with or without an error moves the connection to the DISCONNECTED state and not a failed state.
See a bug discovered today at ably/ably-js#312 for ably-js.
This is quite problematic because if we explicitly have to DETACH a channel (due to a timeout for example), then the client now will move the channel into the failed state. This means most customers will never re-attach that channel automatically, see https://www.ably.io/documentation/realtime/connection#handling-failures.
With some urgency, we need to add test coverage to ensure that:
DETACHwith or without an error moves the channel to theDETACHEDstate and not a failed stateDISCONNECTwith or without an error moves the connection to theDISCONNECTEDstate and not a failed state.