Marat Al
Marat Al
Closes https://github.com/ably/ably-cocoa/issues/1889 Tests look much better now - https://test-observability.herokuapp.com/repos/ably/ably-cocoa/uploads?branches%5B%5D=fix%2F1889-unskip-presense-tests-looped-5&createdBefore=&createdAfter=2024-05-06T22%3A10%3A42.078Z&failureMessage= Further runs in a loop show that _test__110__Presence__get__Query__set_of_params___waitForSync_is_true__should_wait_until_SYNC_is_complete_befo_re_returning_a_list_of_members_ and _test__080__Presence__private_and_internal_PresenceMap_containing_only_members_that_match_the_current_connec_tionId__any_ENTER__PRESENT__UPDATE_or_LEAVE_event_that_matches_the_current_connectionId_should_be_applied_to_this_object_ needs investigation. Haven't seen them fail that frequently in other loops.
Tests _skipped__test__082__Presence__private_and_internal_PresenceMap_containing_only_members_that_match_the_current_connectionId__events_applied_to_presence_map__should_be_applied_to_ENTER__PRESENT_or_UPDATE_events_with_a_connectionId_that_matches_the_current_client_s_connectionId_ and _skipped__test__083__Presence__private_and_internal_PresenceMap_containing_only_members_that_match_the_current_connectionId__events_applied_to_presence_map__should_be_applied_to_any_LEAVE_event_with_a_connectionId_that_matches_the_current_client_s_connectionId_and_is_not_a_synthesized_ are no longer test current specs and should be re-written. ┆Issue is synchronized with this [Jira Task](https://ably.atlassian.net/browse/ECO-4791) by [Unito](https://www.unito.io)
I strongly feel we should unskip/fix most of / all of presence tests. Those are needed to make sure protocol 2.0 / no connection serial works as expected. We did...
Also, I would love someone to go through the current presence implementation and check if it's compatible with spec https://sdk.ably.com/builds/ably/specification/main/features/#RTP1. You can refer to https://github.com/ably/ably-go/blob/14cd5a206e18571f1012f992397e1092c535919e/ably/realtime_presence.go file for more refined implementation...
[RTP18a](https://sdk.ably.com/builds/ably/specification/main/features/#RTP18a): _The client library determines that a new sync has started whenever a SYNC ProtocolMessage is received with a channel attribute and a new sync sequence identifier in the channelSerial...
[This button](https://github.com/ably/ably-cocoa/releases/new) does pretty much the same thing as the `github_changelog_generator` script described now in the CONTRIBUTING guide. No need for this script anymore since this functionality is now built-in....