Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
304 commits
Select commit Hold shift + click to select a range
dcbe617
Implement memory management pattern similar to ably-cocoa
lawrence-forooghian Jul 9, 2025
51e209a
Use callback typealiases in implementations
lawrence-forooghian Jul 14, 2025
be7b190
Make public API listeners @escaping
lawrence-forooghian Jul 11, 2025
89394e8
Make callbacks Sendable
lawrence-forooghian Jul 14, 2025
91598b1
Maintain same root object when resetting the ObjectsPool
lawrence-forooghian Jul 11, 2025
a30f635
Fix spec point reference
lawrence-forooghian Jul 15, 2025
cd325c1
Inject callback queue into map and counter
lawrence-forooghian Jul 14, 2025
4822ac3
Mark subscribe methods as throwing
lawrence-forooghian Jul 15, 2025
776996a
Fix some mistakes from cb427d8
lawrence-forooghian Jul 16, 2025
72fb166
Merge pull request #8 from ably/further-initial-setup
lawrence-forooghian Jul 23, 2025
0d5a314
Merge pull request #14 from ably/initial-protocol-changes
lawrence-forooghian Jul 23, 2025
6dadea8
Merge pull request #18 from ably/12-encode-and-decode-ObjectMessage-data
lawrence-forooghian Jul 23, 2025
a668fa1
Merge pull request #19 from ably/2025-06-24-rename-things
lawrence-forooghian Jul 23, 2025
224c87b
Merge pull request #20 from ably/groundwork-for-object-sync
lawrence-forooghian Jul 24, 2025
9ce0b13
Merge pull request #21 from ably/ECO-5332-object-sync
lawrence-forooghian Jul 24, 2025
36982fe
Merge pull request #22 from ably/ECO-5330-LiveMap-access-API
lawrence-forooghian Jul 24, 2025
2d11ea0
Merge pull request #23 from ably/ECO-5333-apply-OBJECT
lawrence-forooghian Jul 24, 2025
f5afce7
Merge pull request #24 from ably/ECO-5334-buffer-OBJECT
lawrence-forooghian Jul 29, 2025
50e092c
Merge pull request #25 from ably/take-abstract-channel
lawrence-forooghian Jul 29, 2025
e71ff0c
Merge pull request #26 from ably/9-memory-management
lawrence-forooghian Jul 29, 2025
392fae3
Implement subscriptions spec
lawrence-forooghian Jul 11, 2025
51e3f9f
Switch to a new internal type for LiveMap data values
lawrence-forooghian Jul 18, 2025
1998057
Inject a clock into our LiveObjects
lawrence-forooghian Jul 18, 2025
94efe5a
Add new serialTimestamp fields
lawrence-forooghian Jul 18, 2025
4724a05
Add placeholder protocol for polymorphic LiveObject functionality
lawrence-forooghian Jul 18, 2025
ec37cca
Make initialValue a string
lawrence-forooghian Jul 24, 2025
842d9e4
Expose LiveObjects' ID internally
lawrence-forooghian Jul 24, 2025
c74a23b
Expose mergeInitialValue methods internally
lawrence-forooghian Jul 24, 2025
f62a457
Expose public types' proxied objects internally
lawrence-forooghian Jul 24, 2025
25455fd
Add an AsyncSequence API for subscribing to LiveObject updates
lawrence-forooghian Jul 29, 2025
5218fde
Merge pull request #27 from ably/ECO-5337-subscriptions
lawrence-forooghian Jul 31, 2025
37e14d7
Add Equatable conformance to (Internal)LiveMapValue
lawrence-forooghian Jul 29, 2025
76ca498
Add logging to PublicObjectsStore
lawrence-forooghian Jul 29, 2025
116ee63
Allow SyncObjectsPool entries to contain additional data
lawrence-forooghian Jul 21, 2025
29aa9fc
Accept a serialTimestamp in replaceData and applySyncObjectsPool
lawrence-forooghian Jul 21, 2025
951473c
Pull the RTLM14d "is map entry tombstoned?" check into method
lawrence-forooghian Jul 22, 2025
83de58a
Bump ably-cocoa to latest commit on LiveObjects integration branch
lawrence-forooghian Jul 29, 2025
b701b46
Create a PartialObjectOperation type
lawrence-forooghian Jul 30, 2025
2d132ef
Extract operations' channel state validation to helper
lawrence-forooghian Jul 30, 2025
bbf8229
Add placeholder for spec's #publish method
lawrence-forooghian Jul 30, 2025
edaf8b3
Merge pull request #42 from ably/groundwork-for-deletions-and-writes
lawrence-forooghian Aug 1, 2025
cb9a11c
Add JSON objects and arrays to allowed LiveMap values
lawrence-forooghian Jul 30, 2025
31894f8
Remove incorrect comment
lawrence-forooghian Jul 30, 2025
562f7b6
Fix typo in comment
lawrence-forooghian Jul 30, 2025
4034382
Update the way that JSON map values are encoded on wire
lawrence-forooghian Jul 30, 2025
50e35a2
Merge pull request #45 from ably/44-JSON-map-entries-support
lawrence-forooghian Aug 1, 2025
133c85b
Implement tombstone() method
lawrence-forooghian Jul 18, 2025
279034b
Update LiveMap.get to handle tombstoned objects
lawrence-forooghian Jul 21, 2025
7279174
Update "apply OBJECT" to exit early if already tombstoned
lawrence-forooghian Jul 21, 2025
2fb4681
Update "replace data" to exit early if tombstoned
lawrence-forooghian Jul 21, 2025
173a9d9
Make "replace data" perform tombstoning when state indicates it
lawrence-forooghian Jul 21, 2025
9e99e18
Apply OBJECT_DELETE operation
lawrence-forooghian Jul 21, 2025
be96ae7
Update map "replace data", MAP_SET, MAP_REMOVE to set entry tombstonedAt
lawrence-forooghian Jul 21, 2025
b867032
Make "is map entry tombstoned" check referenced object per RTLM14c
lawrence-forooghian Jul 22, 2025
2167277
Perform garbage collection per RTO10
lawrence-forooghian Jul 23, 2025
f942ce8
Make some stuff Equatable to help with tests
lawrence-forooghian Jul 31, 2025
5156383
Remove action from PartialObjectOperation
lawrence-forooghian Aug 1, 2025
bf05657
Add Cursor rule re raw string literals
lawrence-forooghian Aug 1, 2025
dcdb350
Implement the createMap and createCounter methods
lawrence-forooghian Jul 24, 2025
d9c327e
Implement increment / decrement / set / delete
lawrence-forooghian Jul 29, 2025
4e8e076
Add another smoke test of the public API
lawrence-forooghian Jul 29, 2025
733b70e
Add ability to prefix integration test log message
lawrence-forooghian Aug 4, 2025
bebbc9d
Improve readability of outbound ObjectMessage log messages
lawrence-forooghian Aug 4, 2025
d62f101
Log outbound ObjectMessages
lawrence-forooghian Aug 4, 2025
d83e93b
Call pluginAPI.sendObject on ably-cocoa internal queue
lawrence-forooghian Aug 4, 2025
b96e585
Make ObjectsMapEntry.data nullable
lawrence-forooghian Aug 4, 2025
548b56d
Fix test bug where fixtures kept getting regenerated
lawrence-forooghian Aug 4, 2025
5c65c74
Move map and counter accessor methods into the mutable state
lawrence-forooghian Aug 4, 2025
c75fa2a
Make integration test subscription behaviour consistent with JS tests
lawrence-forooghian Aug 4, 2025
c4bab5f
Enable disabled integration tests
lawrence-forooghian Aug 4, 2025
93c41af
Merge pull request #33 from ably/ECO-5461-deletions
lawrence-forooghian Aug 12, 2025
1474140
Merge pull request #51 from ably/ECO-5435-write-API
lawrence-forooghian Aug 13, 2025
3fa3be5
Merge pull request #55 from ably/ECO-5465-enable-disabled-integration…
lawrence-forooghian Aug 13, 2025
cd56508
Bump iOS and tvOS version used in CI
lawrence-forooghian Aug 13, 2025
c5a5736
Fix garbage collection sleep duration
lawrence-forooghian Aug 13, 2025
e6f500e
Inject protocol message on internal queue in integration tests
lawrence-forooghian Aug 11, 2025
6f28907
Remove unnecessary `throws` in test helper
lawrence-forooghian Aug 11, 2025
0c05c57
Fix typo
lawrence-forooghian Aug 11, 2025
b8fe642
Change integration tests ProtocolMessage injection to use WireValue
lawrence-forooghian Aug 11, 2025
aa552c4
Add ability to override implementation of `publish`
lawrence-forooghian Aug 11, 2025
5cb337a
Fix type of counter REST operations amount in test helper
lawrence-forooghian Aug 11, 2025
7651229
Implement applyOperationsScenarios + fixtures
lawrence-forooghian Aug 11, 2025
bb6d5be
Implement applyOperationsDuringSyncScenarios
lawrence-forooghian Aug 11, 2025
70306a0
Implement writeApiScenarios
lawrence-forooghian Aug 11, 2025
a7f768b
Implement the subscriptionsCallbacksScenarios
lawrence-forooghian Aug 11, 2025
b69a40d
Add the ability to specify GC options via client options
lawrence-forooghian Aug 13, 2025
b51a9bf
Merge pull request #62 from ably/2025-08-13-fix-ci
lawrence-forooghian Aug 14, 2025
010b3e0
Merge pull request #63 from ably/fix-gc-sleep-duration
lawrence-forooghian Aug 14, 2025
792683d
Implement the tombstonesGCScenarios
lawrence-forooghian Aug 13, 2025
9bae7f3
Remove PrimitiveObjectValue
lawrence-forooghian Aug 14, 2025
59045db
Add missing JSON getters to LiveMapValue
lawrence-forooghian Aug 14, 2025
714988d
Add ExpressibleBy*Literal conformance to LiveMapValue.
lawrence-forooghian Aug 14, 2025
1ae1dee
DRY up usage of PluginAPI.sharedInstance()
lawrence-forooghian Aug 19, 2025
cec94ed
Initial commit
lawrence-forooghian Aug 19, 2025
5795e7c
Update for renamed AblyPlugin -> _AblyPluginSupportPrivate
lawrence-forooghian Aug 19, 2025
b4e1899
Get ably-cocoa plugin APIs from an external repo
lawrence-forooghian Aug 19, 2025
121f18a
Merge pull request #57 from ably/ECO-5465-port-integration-tests
lawrence-forooghian Aug 20, 2025
89e63d4
Fix code snippet in README
lawrence-forooghian Aug 14, 2025
8fcd4a2
Merge pull request #64 from ably/fix-readme-example-code
lawrence-forooghian Aug 20, 2025
19ba2e9
Merge pull request #66 from ably/65-LiveMapValue-improvements
lawrence-forooghian Aug 21, 2025
a54eb3c
Update for renamed repo
lawrence-forooghian Aug 21, 2025
2b1677b
Remove declaration of batch API
lawrence-forooghian Aug 21, 2025
8ff88a0
Fix ordering of maps created from fixtures in test
lawrence-forooghian Aug 21, 2025
dad690e
Make waiting for GC more robust in integration tests
lawrence-forooghian Aug 21, 2025
7df42d2
Run integration tests in serial
lawrence-forooghian Aug 21, 2025
07a771e
Merge pull request #73 from ably/2025-08-21-improve-test-reliability
lawrence-forooghian Aug 22, 2025
604a89e
Merge pull request #69 from ably/ECO-5531-move-plugin-API-to-separate…
lawrence-forooghian Aug 22, 2025
b352c1a
Merge pull request #70 from ably/rename-repo-to-ably-liveobjects-swif…
lawrence-forooghian Aug 22, 2025
02d201c
Merge pull request #71 from ably/ECO-5535-remove-batch-api
lawrence-forooghian Aug 22, 2025
5f181ba
Remove ably-cocoa submodule
lawrence-forooghian Aug 22, 2025
97fe738
Merge pull request #76 from ably/7-remove-ably-cocoa-submodule
lawrence-forooghian Aug 22, 2025
54cbfa2
Example app based on https://ably.com/examples/liveobjects-live-count…
maratal Aug 22, 2025
6f67ae5
Merge pull request #68 from ably/example-app
maratal Aug 22, 2025
1f85b13
DRY up a signature
lawrence-forooghian Aug 22, 2025
77a4c45
Split subscription bookkeeping out of LiveObjectMutableState
lawrence-forooghian Aug 22, 2025
c7d7477
Add event name support to SubscriptionStorage
lawrence-forooghian Aug 22, 2025
40b2d86
Emit the .deleted LiveObject lifecycle event
lawrence-forooghian Aug 22, 2025
ad60504
Emit the channel object sync-related events
lawrence-forooghian Aug 22, 2025
81105e3
Merge pull request #79 from ably/ECO-5521-lifecycle-events
umair-ably Aug 26, 2025
4afef30
update readme
umair-ably Aug 26, 2025
403d1c0
unpins ably-cocoa version. now points to the min required version wit…
umair-ably Aug 28, 2025
8c5e606
Merge pull request #82 from ably/updateReadme
umair-ably Aug 28, 2025
61a15bb
0.1.0 release PR
umair-ably Aug 28, 2025
5c6ff74
Merge pull request #83 from ably/release/0.1.0
umair-ably Aug 28, 2025
29818ab
EDU-2053: Adds new header
franrob-projects Sep 1, 2025
2ce1058
Tighten up threading requirements
lawrence-forooghian Sep 1, 2025
7a2379c
Suppress deletion of updateSelfLater argument label
lawrence-forooghian Sep 3, 2025
ae7d3eb
Add missing @Test
lawrence-forooghian Sep 3, 2025
6404b52
Document the approach for using ably-cocoa internals in tests
lawrence-forooghian Sep 3, 2025
eadbf84
Remove stray gitignore entry
lawrence-forooghian Sep 5, 2025
a766b79
fixup! EDU-2053: Adds new header
franrob-projects Sep 12, 2025
71810d5
fixup! EDU-2053: Adds new header
franrob-projects Sep 18, 2025
8aedccc
Merge pull request #86 from ably/10-document-testing-approach
lawrence-forooghian Sep 26, 2025
b86e09a
Finalise and document threading approach
lawrence-forooghian Sep 1, 2025
5a63313
Add missing @Test
lawrence-forooghian Sep 29, 2025
41c319b
Merge pull request #85 from ably/3-decide-how-threading-will-work
lawrence-forooghian Sep 29, 2025
5ba838b
Remove InternalError
lawrence-forooghian Sep 3, 2025
8db4632
Merge pull request #1 from ably/align-liveobjects-threading-with-ably…
lawrence-forooghian Sep 29, 2025
c396933
Merge pull request #87 from ably/48-get-rid-of-InternalError
lawrence-forooghian Sep 29, 2025
bb36453
Change LiveMap pool delegate to return snapshot of pool
lawrence-forooghian Sep 3, 2025
9bd15c8
Directly use ObjectsPool inside LiveMap getter methods
lawrence-forooghian Sep 3, 2025
96799cb
Pluralise "ObjectPool" thus fixing the typo
lawrence-forooghian Sep 3, 2025
5534d4f
Merge pull request #90 from ably/remove-stray-gitignore-entry
lawrence-forooghian Sep 29, 2025
355497e
Switch JSONValue's `number` case back to Double
lawrence-forooghian Sep 25, 2025
5fb6301
Merge pull request #88 from ably/39-less-passing-LiveMap-delegate
lawrence-forooghian Sep 29, 2025
9a12f17
Merge pull request #91 from ably/switch-JSONValue-number-back-to-Double
lawrence-forooghian Oct 2, 2025
c9dc35a
Unpin ably-cocoa and ably-cocoa-plugin-support
lawrence-forooghian Oct 2, 2025
c4d615c
Pin ably-cocoa-plugin-support to an exact version
lawrence-forooghian Oct 2, 2025
83db1f4
Merge pull request #93 from ably/update-dependencies-for-0.2.0
lawrence-forooghian Oct 2, 2025
85ee618
Remove mis-copied steps in release process
lawrence-forooghian Oct 2, 2025
601a651
Release version 0.2.0
lawrence-forooghian Oct 2, 2025
6a38988
Merge pull request #94 from ably/release/0.2.0
lawrence-forooghian Oct 2, 2025
ace838e
Merge pull request #84 from ably/EDU-2053-header-for-live-objects-swi…
franrob-projects Oct 14, 2025
bef4b85
Remove fancy quotes
lawrence-forooghian Oct 17, 2025
140ef06
Add LICENSE and COPYRIGHT
lawrence-forooghian Oct 20, 2025
dffe135
Merge pull request #2 from ably/add-LICENSE
lawrence-forooghian Oct 21, 2025
f928c7e
Merge pull request #95 from ably/remove-fancy-quotes
lawrence-forooghian Dec 1, 2025
37ad19d
Add API for fetching server time
lawrence-forooghian Dec 1, 2025
e3940fa
Use server time for object ID per spec
lawrence-forooghian Dec 1, 2025
c034504
Add LiveObjects plugin API for receiving connection details
lawrence-forooghian Dec 1, 2025
7c68c4f
Move garbageCollectionGracePeriod into the mutable state
lawrence-forooghian Dec 1, 2025
3989f34
Merge pull request #4 from ably/add-server-time-api
lawrence-forooghian Dec 2, 2025
f35f293
Merge pull request #98 from ably/50-use-server-time-for-object-ID
lawrence-forooghian Dec 2, 2025
d647c46
Use server-sent GC grace period per spec
lawrence-forooghian Dec 1, 2025
ec81481
Merge pull request #99 from ably/32-use-server-gcGracePeriod
lawrence-forooghian Dec 3, 2025
7694789
Remove RTO15 TODO
lawrence-forooghian Dec 3, 2025
e19acc3
Merge pull request #6 from ably/add-connected-protocolmessage-api
lawrence-forooghian Dec 3, 2025
131e7d3
Merge pull request #100 from ably/47-remove-RTO15-TODO
lawrence-forooghian Dec 3, 2025
6a40eb2
Fix nesting of test cases
lawrence-forooghian Dec 3, 2025
0c24406
Add tests for sync events
lawrence-forooghian Dec 3, 2025
bc79014
Use the sync state to drive getRoot's wait-for-sync
lawrence-forooghian Dec 4, 2025
fba49ef
Incorporate sync sequence data into the SYNCING state
lawrence-forooghian Dec 4, 2025
1c901a8
Always transition to SYNCING on receipt of ATTACHED
lawrence-forooghian Dec 5, 2025
1aca9aa
Add spec points for sync events
lawrence-forooghian Dec 5, 2025
fcf3f1d
Merge pull request #101 from ably/80-test-sync-events
lawrence-forooghian Dec 8, 2025
5efb77f
Merge pull request #103 from ably/80-reconcile-redundant-sync-state
lawrence-forooghian Dec 8, 2025
6c84d76
Merge pull request #104 from ably/80-always-transition-to-SYNCING-on-…
lawrence-forooghian Dec 8, 2025
ed21c46
Merge pull request #105 from ably/80-annotate-with-sync-spec-points
lawrence-forooghian Dec 8, 2025
425b9ad
Fix method name in comment
lawrence-forooghian Dec 3, 2025
6f7790c
Document the sendObject… method
lawrence-forooghian Dec 3, 2025
dd11843
Merge pull request #8 from ably/document-sendObject
lawrence-forooghian Dec 8, 2025
73f5672
Unpin ably-cocoa and plugin-support
lawrence-forooghian Dec 8, 2025
ed05520
Release version 0.3.0
lawrence-forooghian Dec 8, 2025
afc2ecf
Merge pull request #108 from ably/release/0.3.0
lawrence-forooghian Dec 9, 2025
c4bf274
Bump CI simulator OS versions
lawrence-forooghian Jan 15, 2026
3c54331
Merge pull request #110 from ably/26.2-simulators
lawrence-forooghian Jan 16, 2026
4d4ee4d
refactor: Simplify handling of object sync
lawrence-forooghian Jan 15, 2026
6a34938
Buffer when not SYNCED per updated RTO8a
lawrence-forooghian Jan 15, 2026
8114e17
Merge pull request #109 from ably/AIT-254-buffer-when-SYNCING
lawrence-forooghian Jan 16, 2026
1185b08
Fix events emitted upon sync
lawrence-forooghian Jan 16, 2026
d1047bc
Merge pull request #111 from ably/AIT-255-fix-replace-data-events
lawrence-forooghian Jan 19, 2026
58f9d8f
Tag integration tests with .integration
lawrence-forooghian Feb 24, 2026
7a0fcef
Add --only-unit-tests flag to BuildTool test-library
lawrence-forooghian Feb 24, 2026
1de0384
Add CLAUDE.md
lawrence-forooghian Feb 24, 2026
d0eb12c
Make test-library build by default
lawrence-forooghian Feb 25, 2026
db28b94
Merge pull request #116 from ably/tag-integration-tests
lawrence-forooghian Feb 25, 2026
1d9864d
Fix incorrect comment on `overriddenPublishImplementation`
lawrence-forooghian Feb 27, 2026
c45cbe8
Synchronize access to MockCoreSDK._publishHandler
lawrence-forooghian Mar 2, 2026
35850d9
Switch CoreSDK to use callback-based methods
lawrence-forooghian Feb 27, 2026
36782f0
Merge pull request #119 from ably/make-CoreSDK-use-callbacks
lawrence-forooghian Mar 5, 2026
8bfbbaa
Add supporting API needed for apply-on-ACK
lawrence-forooghian Feb 20, 2026
f2468ee
Introduce process for increasing protocol version
lawrence-forooghian Feb 24, 2026
1dc20e7
Apply operations on ACK
lawrence-forooghian Feb 20, 2026
2dcf9bb
Bump protocol version to 6
lawrence-forooghian Feb 24, 2026
709f8a6
Add test for clearing local state on ATTACHED without HAS_OBJECTS
lawrence-forooghian Mar 5, 2026
9c20eb8
Add Equatable conformance to InboundObjectMessage
lawrence-forooghian Mar 5, 2026
98178fc
Extract SyncObjectsPool struct
lawrence-forooghian Feb 24, 2026
8631a18
Port OBJECT_SYNC sequence integration tests from ably-js
lawrence-forooghian Feb 26, 2026
12faf8b
Implement partial object sync (RTO5f)
lawrence-forooghian Feb 26, 2026
761376b
Merge pull request #118 from ably/AIT-324-apply-on-ACK
lawrence-forooghian Mar 11, 2026
106424a
Merge pull request #11 from ably/AIT-324-apply-on-ACK
lawrence-forooghian Mar 11, 2026
7a6b9a4
Merge pull request #114 from ably/AIT-322-v6-ProtocolMessage
lawrence-forooghian Mar 11, 2026
1f30a10
Merge pull request #10 from ably/AIT-322-v6-ProtocolMessage
lawrence-forooghian Mar 11, 2026
f15cfac
Implement updated rules for clearing ops buffered during sync
lawrence-forooghian Mar 5, 2026
650f876
Split ObjectsPool "apply sync" method in two
lawrence-forooghian Mar 11, 2026
4df4816
Merge pull request #121 from ably/AIT-287-new-rules-for-discarding-bu…
lawrence-forooghian Mar 11, 2026
060be55
Merge remote-tracking branch 'origin/main' into integration/protocol-v6
lawrence-forooghian Mar 11, 2026
30d867b
Merge pull request #117 from ably/AIT-207-partial-object-sync
lawrence-forooghian Mar 11, 2026
3a348aa
Port Cursor rules to CLAUDE.md and remove the originals
lawrence-forooghian Mar 13, 2026
b72a48a
Merge pull request #123 from ably/claude-md-from-cursor-rules
lawrence-forooghian Mar 13, 2026
3fa1737
Unify reset-to-zero-value code
lawrence-forooghian Mar 11, 2026
99fe9ba
Implement the MAP_CLEAR operation
lawrence-forooghian Mar 10, 2026
e14f8b0
Merge pull request #122 from ably/AIT-454-map-clear
lawrence-forooghian Mar 16, 2026
686fb43
Bump plugin-support to 1.1.0
lawrence-forooghian Mar 16, 2026
a536b1f
Merge pull request #124 from ably/bump-plugin-support-to-1.1.0
lawrence-forooghian Mar 16, 2026
36c529d
Merge pull request #12 from ably/integration/protocol-v6
lawrence-forooghian Mar 16, 2026
a69ec0d
Remove backwards-compatibility scaffolding from apply-on-ACK APIs
lawrence-forooghian Mar 16, 2026
2f9a0f1
Merge remote-tracking branch 'origin/main' into merge-protocol-v6-int…
lawrence-forooghian Mar 16, 2026
f26896e
Merge pull request #125 from ably/merge-protocol-v6-into-main
lawrence-forooghian Mar 16, 2026
a290b89
Merge pull request #14 from ably/remove-methods-for-v2
lawrence-forooghian Mar 16, 2026
bddb0f6
Bump plugin-support to v2
lawrence-forooghian Mar 16, 2026
79a35cf
Merge pull request #126 from ably/bump-plugin-support-to-v2
lawrence-forooghian Mar 16, 2026
8aaaab3
Release version 0.4.0
lawrence-forooghian Mar 16, 2026
ace39c1
Merge pull request #127 from ably/release/0.4.0
lawrence-forooghian Mar 16, 2026
fd04eab
Move repo contents into merged-repos/ably-cocoa-plugin-support/
lawrence-forooghian May 14, 2026
758242c
Move repo contents into merged-repos/ably-liveobjects-swift-plugin/
lawrence-forooghian May 14, 2026
bd976d4
Merge ably-cocoa-plugin-support into ably-cocoa
lawrence-forooghian May 14, 2026
caf0302
Merge ably-liveobjects-swift-plugin into ably-cocoa
lawrence-forooghian May 14, 2026
45af634
Annotate AblyLiveObjects declarations with @available
lawrence-forooghian May 14, 2026
448ab0e
Consolidate Package.swift to absorb the two plugin packages
lawrence-forooghian May 14, 2026
6c3f0ec
Reuse ably-cocoa's ably-common for AblyLiveObjectsTests
lawrence-forooghian May 14, 2026
7b2c40a
Annotate AblyLiveObjectsTests declarations with @available
lawrence-forooghian May 14, 2026
ae2a257
Declare AblyLiveObjectsTests test target
lawrence-forooghian May 14, 2026
f3a96e7
Declare BuildTool executable target
lawrence-forooghian May 14, 2026
7ab9a1e
Add SPM-based CI workflow for AblyLiveObjects; drop dead inner one
lawrence-forooghian May 14, 2026
bcd407b
Add AblyLiveObjects shared Xcode scheme
lawrence-forooghian May 14, 2026
8bd8f06
BuildTool: target ably-cocoa's workspace when invoking xcodebuild
lawrence-forooghian May 14, 2026
c452833
Switch LiveObjects CI to BuildTool for unit tests + Xcode jobs
lawrence-forooghian May 14, 2026
4142d8c
Rename BuildTool to LiveObjectsBuildTool
lawrence-forooghian May 14, 2026
a11bfe2
Prefix LiveObjects CI job IDs with liveobjects-
lawrence-forooghian May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions .github/workflows/check-liveobjects.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Check workflow for the AblyLiveObjects library product. Adapted from the
# former ably-liveobjects-swift-plugin repo's check.yaml. SPM-based and
# xcodebuild-based jobs are wired up. The remaining jobs from the
# original (lint, documentation, code coverage, example app,
# generate-matrices) still need follow-up work; see commit
# 7ab9a1e for the full inventory.

name: Check LiveObjects

on:
workflow_dispatch:
pull_request:
push:
branches:
- main

jobs:
liveobjects-build-and-test-spm:
name: SPM (Xcode ${{ matrix.xcode-version }})
runs-on: macos-15
strategy:
fail-fast: false
matrix:
xcode-version: ['16.4']

steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode-version }}

- name: Build the AblyLiveObjects library
run: swift build --target AblyLiveObjects

- name: Run AblyLiveObjects unit tests
run: swift run LiveObjectsBuildTool test-library --platform macOS --only-unit-tests

liveobjects-build-release-configuration-spm:
name: SPM, `release` configuration (Xcode ${{ matrix.xcode-version }})
runs-on: macos-15
strategy:
fail-fast: false
matrix:
xcode-version: ['16.4']

steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode-version }}

- name: Build the AblyLiveObjects library in release configuration
run: swift build --target AblyLiveObjects --configuration release

liveobjects-build-and-test-xcode:
name: Xcode, ${{ matrix.platform }} (Xcode ${{ matrix.xcode-version }})
runs-on: macos-15
strategy:
fail-fast: false
matrix:
xcode-version: ['16.4']
platform: [macOS, iOS, tvOS]

steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode-version }}

- name: Build for testing
run: swift run LiveObjectsBuildTool build-library-for-testing --platform ${{ matrix.platform }}

- name: Run unit tests
run: swift run LiveObjectsBuildTool test-library --platform ${{ matrix.platform }} --only-unit-tests --without-building

liveobjects-build-release-configuration-xcode:
name: Xcode, `release` configuration, ${{ matrix.platform }} (Xcode ${{ matrix.xcode-version }})
runs-on: macos-15
strategy:
fail-fast: false
matrix:
xcode-version: ['16.4']
platform: [macOS, iOS, tvOS]

steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ matrix.xcode-version }}

- name: Build library
run: swift run LiveObjectsBuildTool build-library --platform ${{ matrix.platform }} --configuration release
87 changes: 87 additions & 0 deletions .swiftpm/xcode/xcshareddata/xcschemes/AblyLiveObjects.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1600"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AblyLiveObjects"
BuildableName = "AblyLiveObjects"
BlueprintName = "AblyLiveObjects"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<TestPlans>
<TestPlanReference
reference = "container:merged-repos/ably-liveobjects-swift-plugin/TestPlans/AllTests.xctestplan"
default = "YES">
</TestPlanReference>
<TestPlanReference
reference = "container:merged-repos/ably-liveobjects-swift-plugin/TestPlans/UnitTests.xctestplan">
</TestPlanReference>
</TestPlans>
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AblyLiveObjectsTests"
BuildableName = "AblyLiveObjectsTests"
BlueprintName = "AblyLiveObjectsTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AblyLiveObjects"
BuildableName = "AblyLiveObjects"
BlueprintName = "AblyLiveObjects"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
144 changes: 85 additions & 59 deletions Package.resolved

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading