Skip to content

Commit

Permalink
CHA-RL2h3: reword for clarity
Browse files Browse the repository at this point in the history
  • Loading branch information
AndyTWF committed Nov 13, 2024
1 parent e81e2c8 commit b32a74a
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion textile/chat-features.textile
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ h4(#rooms-lifecycle-operations). Room Lifecycle Operations
** @(CHA-RL2h)@ If during detachment, a channel fails to detach (i.e. the call to @detach()@ returns an error), different operations are performed based on the nature of the detach.
*** @(CHA-RL2h1)@ @[Testable]@ If a channel enters the @FAILED@ state during detachment (i.e. the @detach()@ operation fails and upon subsequently checking the channel state, it is @FAILED@), then the room will transition to the @FAILED@ status. The detach operation continues until, for every channel, either a call to @detach()@ has succeeded, or the channel enters the @FAILED@ state, with the operation throwing an @ErrorInfo@ with the feature-specific error code of the first feature to fail, using the error returned by the call to @detach()@ as the @cause@. The same @ErrorInfo@ must accompany the @FAILED@ room status.
*** @(CHA-RL2h2)@ @[Testable]@ If the room is already in a @FAILED@ status during the detach operation and another channel fails, the @FAILED@ status will not be emitted twice.
*** @(CHA-RL2h3)@ @[Testable]@ If a channel enters another state during detachment (namely @ATTACHED@, which happens when detach times out), then the @CHA-RL2f@ detachment cycle will be retried after a 250ms pause. This is indicated by the @detach()@ call returning an error, at which point the current state may be inspected on the channel object. The rooms status will not change during this process.
*** @(CHA-RL2h3)@ @[Testable]@ A channel may enter another state during detachment (namely @ATTACHED@, which happens when detach times out), whereby the call to @detach()@ on the realtime channel will throw an error and the channel status can be ascertained by inspecting the channel object. If this happens, the @CHA-RL2f@ detachment cycle will be retried after a 250ms pause. The room status will not change during this retry process.
** @(CHA-RL2i)@ @[Testable]@ If a room lifecycle operation is already in progress, this operation shall wait until the current operation completes before continuing, subject to @CHA-RL7@.
* @(CHA-RL3)@ A room must be explicitly released via the @RELEASE@ operation. This operation is not performed directly on a Room object by the client, but is described here.
** @(CHA-RL3a)@ @[Testable]@ If the room is already in the @RELEASED@ status, this operation is no-op.
Expand Down

0 comments on commit b32a74a

Please sign in to comment.