Repository navigation
docs: deprecate releasing a realtime channel that isn't detached (RTS4b) - #609
SimonWoolf wants to merge 1 commit into
Conversation
Spec 6.3.0 deletes RTS4a, under which release() detaches a channel not already in the INITIALIZED, DETACHED or FAILED state before removing it, and replaces it with RTS4e, under which release() fails with error 90011 instead. RTS4b lets SDKs keep the old behaviour until their next major version, provided they log a deprecation warning when it takes effect. That warning is logged by the platform SDKs (ably-java, ably-cocoa), which perform the release and see the channel's true state. The Dart-side RealtimeChannel.state is updated asynchronously from platform events and can lag behind it, so a Dart-side check could warn spuriously. This change only updates the release() documentation to match. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (2)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe ChangesRelease documentation
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~3 minutes Change: Other Merge Risk: ⚪ Minimal · up to This change clarifies release-state guidance without changing runtime behavior. No merge-blocking concern is apparent; it appears ready after normal checks. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit reads the release note, Comment |
Implements the documentation side of RTS4b from spec 6.3.0 (ably/specification#557) for the current major version. Spec 6.3.0 replaces RTS4a (
release()implicitly detaches a channel that isn't INITIALIZED, DETACHED or FAILED) with RTS4e (release()fails with error 90011). SDKs may keep the old behaviour until their next major version, but must log a deprecation warning.RealtimeChannels.release/Channels.releasedocs to say that releasing a realtime channel that isn't INITIALIZED, DETACHED or FAILED is deprecated and will be an error in the next major version. They previously claimed, incorrectly, that the channel had to be in one of those states.RealtimeChannel.stateon the Dart side is updated asynchronously from platform events, so a Dart-side check could warn spuriously. Users will see the warning once this plugin is bumped to the ably-java / ably-cocoa releases that include it.The next-major change is in #610. Reference ably-js PRs: ably/ably-pubsub-js#2322 (deprecation) and ably/ably-pubsub-js#2323 (next major).
🤖 Generated with Claude Code
Summary by CodeRabbit
INITIALIZED,DETACHED, orFAILEDstates is deprecated. The documentation notes that this operation will throw an error in the next major version.