[WIP, AIT-287] Implement new rules for discarding buffered object operations#112
Draft
lawrence-forooghian wants to merge 1 commit intomainfrom
Draft
[WIP, AIT-287] Implement new rules for discarding buffered object operations#112lawrence-forooghian wants to merge 1 commit intomainfrom
lawrence-forooghian wants to merge 1 commit intomainfrom
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ 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. Comment |
11de235 to
5e0c796
Compare
5e0c796 to
45e17cd
Compare
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
Tests/AblyLiveObjectsTests/InternalDefaultRealtimeObjectsTests.swift
Outdated
Show resolved
Hide resolved
45e17cd to
18a9f76
Compare
a9c8eef to
83643ca
Compare
83643ca to
6125bf0
Compare
6125bf0 to
4942c24
Compare
4942c24 to
b8a86e8
Compare
The specification changed how bufferedObjectOperations is cleared during the objects sync lifecycle. Previously, the buffer was cleared in two places: when a new OBJECT_SYNC sequence starts (RTO5a2b), and as part of the no-HAS_OBJECTS path on ATTACHED (RTO4b5). The new spec replaces both with a single unconditional clear on every ATTACHED message (RTO4d), performed after the RTO4c state transition. Source changes: - Add RTO4d: clear bufferedObjectOperations on every ATTACHED - Remove RTO5a2b: no longer clear buffer on new sync sequence start - Remove RTO4b5: redundant with RTO4d Test changes: - Add clearsBufferedOperationsOnAttached test for RTO4d - Update newSequenceIdDiscardsInFlightSync: buffered operations are now retained across new sync sequences and applied at completion - Remove RTO4b5 from handlesHasObjectsFalse spec annotations TODO: Port across the ably-js integration tests for this change. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
b8a86e8 to
4049153
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note: This is currently a draft since ably/specification#416 and ably/ably-js#2150 are still in review.
That is, do it when we get a discontinuity, not when a new sync sequence starts, per spec changes in ably/specification#416.
Related PRs:
RESUMEDflag toonChannelAttachedably-cocoa-plugin-support#9RESUMEDflag to LiveObjectsonChannelAttachedably-cocoa#2185