Conversation
|
Important Review skippedToo many files! This PR contains 485 files, which is 385 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. Usage-priced reviews support at most 300 files. ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (485)
You can disable this status message by setting the 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 |
dced517 to
7186ce2
Compare
- io.ably.lib.rest -> io.ably.pubsub.http. Merging into the existing io.ably.lib.http would have collided with Http/HttpCore/HttpAuth and the other 15 types already there, and io.ably.pubsub.* is where this major's packages live. The pubsub-adapter classes that sit in this package for package-private access move with it, so that access still resolves. - AblyRest -> AblyHttpClient, naming the thing it is rather than the protocol style. RestClient/RestChannel/RestPresence -> Http*, the adapters and wrappers likewise, RestAnnotations -> HttpAnnotations, TestRestClient -> TestHttpClient, and the io.ably.lib.test.rest suite -> io.ably.lib.test.http with Rest*Test -> Http*Test and RestSuite -> HttpSuite. - The gradle task testRestSuite -> testHttpSuite, with integration-test.yml and CONTRIBUTING updated to match, and the proguard Auth** keep rule repointed at the new package. Move the SDK to io.ably.pubsub and rename the client classes Deliberately left alone: - ClientOptions.restHost and idempotentRestPublishing. These are the cross-SDK option names fixed by the client library spec (RSC11, RSC9/TO3n), so renaming them would diverge this SDK from the spec and break user config for no gain here. - The word REST in prose and docs URLs. Ably's REST API is the product's own name and ably.com/docs/rest/... links have to keep resolving, so only identifiers moved; bare-word prose reads "HTTP" where it described the client rather than the API. - The check-rest-* CI job names, which are required status checks on the PR and would fail branch protection if renamed here. - Restore, restrictions, hamcrest and the restpresence_*/rest_presence* fixture keys, which merely contain the substring. CHANGELOG.md is untouched as a historical record. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
b13df1a to
3e443be
Compare
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The public REST adapter surface was removed without equivalent HTTP replacements.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (4)
What changed in this PR
Renames the SDK namespace from io.ably.lib to io.ably.pubsub and updates REST terminology to HTTP across implementation, tests, examples, and build configuration.
Changes:
- Migrates packages, imports, reflection strings, tests, and examples.
- Updates HTTP/realtime naming and CI/build filters.
- Removes legacy REST adapter APIs without adding equivalent
Http*replacements. - Leaves several public Javadocs pointing to nonexistent packages.
| File | Summary |
|---|---|
uts/src/main/kotlin/io/ably/pubsub/uts/infra/Utils.kt |
UTS namespace migration |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/Utils.kt |
Unit-test package migration |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/PendingRequest.kt |
Package rename |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/PendingConnection.kt |
Package/import updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/MockWebSocketEngineFactory.kt |
Network import updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/MockWebSocket.kt |
Transport import updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/MockHttpEngine.kt |
HTTP mock updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/MockHttpClient.kt |
HTTP naming updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/MockEvent.kt |
Package/import updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/FakeClock.kt |
Utility import updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/DefaultPendingRequest.kt |
HTTP/import updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/unit/DefaultPendingConnection.kt |
Network/import updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/integration/SandboxApp.kt |
Integration package rename |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/integration/proxy/ProxySession.kt |
Proxy/import updates |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/integration/proxy/ProxyManager.kt |
Proxy package rename |
uts/src/main/kotlin/io/ably/pubsub/uts/infra/integration/AblyJwt.kt |
Integration package rename |
uts/build.gradle.kts |
Test filter updates |
server/build.gradle.kts |
Namespace documentation update |
pubsub-adapter/src/test/kotlin/io/ably/pubsub/realtime/ChannelUtils.kt |
New realtime extension |
pubsub-adapter/src/test/kotlin/io/ably/lib/realtime/ChannelUtils.kt |
Legacy extension removal |
pubsub-adapter/src/test/kotlin/com/ably/Utils.kt |
Test client naming updates |
pubsub-adapter/src/main/kotlin/io/ably/pubsub/Utils.kt |
HTTP helper rename |
pubsub-adapter/src/main/kotlin/io/ably/pubsub/realtime/RealtimePresenceAdapter.kt |
Realtime package updates |
pubsub-adapter/src/main/kotlin/io/ably/pubsub/realtime/RealtimeChannelsAdapter.kt |
Realtime channel updates |
pubsub-adapter/src/main/kotlin/io/ably/pubsub/realtime/RealtimeChannelAdapter.kt |
Realtime/import updates |
pubsub-adapter/src/main/kotlin/io/ably/lib/rest/RestChannelsAdapter.kt |
Legacy adapter removal |
pubsub-adapter/src/main/kotlin/io/ably/lib/rest/RestChannelAdapter.kt |
Legacy adapter removal |
pubsub-adapter/src/main/kotlin/com/ably/pubsub/WrapperSdkProxy.kt |
Critical: no replacement HTTP wrapper API |
pubsub-adapter/src/main/kotlin/com/ably/pubsub/RestClient.kt |
Critical: no replacement HTTP client API |
pubsub-adapter/src/main/kotlin/com/ably/pubsub/RestChannel.kt |
Legacy REST interface removal |
pubsub-adapter/src/main/kotlin/com/ably/pubsub/RealtimePresence.kt |
Realtime import updates |
pubsub-adapter/src/main/kotlin/com/ably/pubsub/RealtimeClient.kt |
Realtime client updates |
pubsub-adapter/src/main/kotlin/com/ably/pubsub/Presence.kt |
Type import updates |
pubsub-adapter/src/main/kotlin/com/ably/pubsub/Client.kt |
Client/import updates |
pubsub-adapter/src/main/kotlin/com/ably/pubsub/Channels.kt |
Channel import updates |
pubsub-adapter/src/main/kotlin/com/ably/pubsub/Channel.kt |
Shared channel documentation updates |
network-client-okhttp/src/main/java/io/ably/pubsub/network/OkHttpWebSocketEngineFactory.java |
Network package rename |
network-client-okhttp/src/main/java/io/ably/pubsub/network/OkHttpWebSocketEngine.java |
Network package rename |
network-client-okhttp/src/main/java/io/ably/pubsub/network/OkHttpWebSocketClient.java |
Network package rename |
network-client-okhttp/src/main/java/io/ably/pubsub/network/OkHttpUtils.java |
Network package rename |
network-client-okhttp/src/main/java/io/ably/pubsub/network/OkHttpEngineFactory.java |
Network package rename |
network-client-okhttp/src/main/java/io/ably/pubsub/network/OkHttpEngine.java |
Network package rename |
network-client-okhttp/src/main/java/io/ably/pubsub/network/OkHttpCall.java |
Network package rename |
network-client-default/src/main/java/io/ably/pubsub/network/DefaultWebSocketEngineFactory.java |
Network package rename |
network-client-default/src/main/java/io/ably/pubsub/network/DefaultWebSocketEngine.java |
Network package rename |
network-client-default/src/main/java/io/ably/pubsub/network/DefaultWebSocketClient.java |
Network package rename |
network-client-default/src/main/java/io/ably/pubsub/network/DefaultHttpEngineFactory.java |
Network package rename |
network-client-default/src/main/java/io/ably/pubsub/network/DefaultHttpEngine.java |
Network package rename |
network-client-default/src/main/java/io/ably/pubsub/network/DefaultHttpCall.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/WebSocketListener.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/WebSocketEngineFactory.java |
Package/reflection updates |
network-client-core/src/main/java/io/ably/pubsub/network/WebSocketEngineConfig.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/WebSocketEngine.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/WebSocketClient.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/ProxyConfig.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/ProxyAuthType.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/NotConnectedException.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/HttpResponse.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/HttpRequest.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/HttpEngineFactory.java |
Package/reflection updates |
network-client-core/src/main/java/io/ably/pubsub/network/HttpEngineConfig.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/HttpEngine.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/HttpCall.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/HttpBody.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/FailedConnectionException.java |
Network package rename |
network-client-core/src/main/java/io/ably/pubsub/network/EngineType.java |
Network package rename |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/uts/unit/PathObjectTest.kt |
LiveObjects test migration |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/uts/unit/PathObjectMutationsTest.kt |
LiveObjects test migration |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/uts/unit/ParentReferencesTest.kt |
LiveObjects test migration |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/uts/unit/ObjectIdTest.kt |
LiveObjects test migration |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/uts/unit/LiveObjectSubscribeTest.kt |
LiveObjects test migration |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/uts/unit/InternalLiveMapApiTest.kt |
LiveObjects test migration |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/uts/unit/InternalLiveCounterApiTest.kt |
LiveObjects test migration |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/uts/unit/InstanceTest.kt |
LiveObjects test migration |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/uts/deviations.md |
Test documentation update |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/unit/UtilsTest.kt |
LiveObjects test import updates |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/unit/PathSegmentsTest.kt |
LiveObjects test import updates |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/unit/HelpersTest.kt |
LiveObjects test import updates |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/unit/DefaultRealtimeObjectChannelStateTest.kt |
LiveObjects test import updates |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/unit/DefaultRealtimeObjectAsyncTest.kt |
LiveObjects test import updates |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/TestUtils.kt |
Test package rename |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/integration/helpers/fixtures/DataFixtures.kt |
Fixture import updates |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/integration/helpers/fixtures/CounterFixtures.kt |
HTTP fixture rename |
liveobjects/src/test/kotlin/io/ably/pubsub/liveobjects/integration/DefaultRealtimeObjectTest.kt |
Integration import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/ResolvedValue.kt |
LiveObjects package rename |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/ObjectUpdate.kt |
LiveObjects package rename |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/livemap/LiveMapManager.kt |
LiveMap import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/livemap/LiveMapEntry.kt |
LiveMap import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/livemap/LiveMapChangeCoordinator.kt |
LiveMap import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/livemap/InternalLiveMap.kt |
LiveMap import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/livecounter/LiveCounterManager.kt |
LiveCounter import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/livecounter/LiveCounterChangeCoordinator.kt |
LiveCounter import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/livecounter/InternalLiveCounter.kt |
LiveCounter import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/value/livecounter/DefaultLiveCounter.kt |
LiveCounter import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/Utils.kt |
LiveObjects import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/ServerTime.kt |
Adapter/clock import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/serialization/JsonSerialization.kt |
Serialization import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/serialization/DefaultSerialization.kt |
Serialization import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/types/DefaultStringPathObject.kt |
Path-object import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/types/DefaultNumberPathObject.kt |
Path-object import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/types/DefaultLiveMapPathObject.kt |
Path-object import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/types/DefaultLiveCounterPathObject.kt |
Path-object import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/types/DefaultJsonObjectPathObject.kt |
Path-object import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/types/DefaultJsonArrayPathObject.kt |
Path-object import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/types/DefaultBooleanPathObject.kt |
Path-object import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/types/DefaultBinaryPathObject.kt |
Path-object import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/PathSegments.kt |
Path package rename |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/PathObjectSubscriptionRegister.kt |
Path/import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/path/DefaultPathObjectSubscriptionEvent.kt |
Path message updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/ObjectsSyncTracker.kt |
LiveObjects package rename |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/ObjectsState.kt |
LiveObjects/import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/ObjectsPool.kt |
LiveObjects/import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/ObjectsOperationSource.kt |
LiveObjects package rename |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/ObjectId.kt |
LiveObjects import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/message/WireObjectMessage.kt |
Nit: invalid Javadoc package reference |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/message/DefaultObjectMessage.kt |
Message import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/instance/types/DefaultStringInstance.kt |
Instance import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/instance/types/DefaultNumberInstance.kt |
Instance import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/instance/types/DefaultLiveMapInstance.kt |
Instance import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/instance/types/DefaultLiveCounterInstance.kt |
Instance import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/instance/types/DefaultJsonObjectInstance.kt |
Instance import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/instance/types/DefaultJsonArrayInstance.kt |
Instance import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/instance/types/DefaultBooleanInstance.kt |
Instance import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/instance/types/DefaultBinaryInstance.kt |
Instance import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/instance/DefaultInstanceSubscriptionEvent.kt |
Instance import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/Errors.kt |
Error import updates |
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/DefaultLiveObjectsPlugin.kt |
Plugin import updates |
liveobjects/build.gradle.kts |
Test filter updates |
lib/src/test/kotlin/io/ably/pubsub/uts/unit/realtime/ConnectionRecoveryTest.kt |
UTS realtime import updates |
lib/src/test/kotlin/io/ably/pubsub/uts/deviations.md |
Test documentation update |
lib/src/test/java/io/ably/pubsub/util/ReconnectionStrategyTest.java |
Utility test package rename |
lib/src/test/java/io/ably/pubsub/util/ParamsUtilsTest.java |
Utility test import updates |
lib/src/test/java/io/ably/pubsub/util/EventEmitterTest.java |
Utility test package rename |
lib/src/test/java/io/ably/pubsub/util/CryptoTest.java |
Utility test import updates |
lib/src/test/java/io/ably/pubsub/util/CryptoMessageTest.java |
Utility/test import updates |
lib/src/test/java/io/ably/pubsub/util/AgentHeaderCreatorTest.java |
Utility/transport import updates |
lib/src/test/java/io/ably/pubsub/types/SummaryTest.java |
Types test package rename |
lib/src/test/java/io/ably/pubsub/types/RecoveryKeyContextTest.java |
Types test package rename |
lib/src/test/java/io/ably/pubsub/types/MessageTest.java |
Type/utility import updates |
lib/src/test/java/io/ably/pubsub/types/MessageExtrasTest.java |
Utility import updates |
lib/src/test/java/io/ably/pubsub/types/ClientOptionsTest.java |
Types test package rename |
lib/src/test/java/io/ably/pubsub/types/CapabilityTest.java |
Types test package rename |
lib/src/test/java/io/ably/pubsub/transport/WebSocketTransportTest.java |
Transport import updates |
lib/src/test/java/io/ably/pubsub/transport/SafeSSLSocketFactoryTest.java |
Transport test package rename |
lib/src/test/java/io/ably/pubsub/transport/HostsTest.java |
Transport/type import updates |
lib/src/test/java/io/ably/pubsub/transport/DefaultsTest.java |
Transport test package rename |
lib/src/test/java/io/ably/pubsub/test/util/TimeHandler.java |
Test utility package rename |
lib/src/test/java/io/ably/pubsub/test/util/TestCases.java |
Test utility import updates |
lib/src/test/java/io/ably/pubsub/test/util/StatusHandler.java |
Test utility package rename |
lib/src/test/java/io/ably/pubsub/test/util/StatsWriter.java |
Renamed test helper |
lib/src/test/java/io/ably/pubsub/test/util/MockWebsocketFactory.java |
Transport/type import updates |
lib/src/test/java/io/ably/pubsub/test/util/EmptyPlatformAgentProvider.java |
Utility import updates |
lib/src/test/java/io/ably/pubsub/test/util/AblyCommonsReader.java |
Test utility package rename |
lib/src/test/java/io/ably/pubsub/test/realtime/RealtimeSuite.java |
Realtime test package rename |
lib/src/test/java/io/ably/pubsub/test/common/ParameterizedTest.java |
Test import updates |
lib/src/test/java/io/ably/pubsub/http/HttpHelpersTest.java |
HTTP test package rename |
lib/src/test/java/io/ably/pubsub/http/HttpAuthTypeTest.java |
HTTP test package rename |
lib/src/test/java/io/ably/pubsub/http/DeviceDetailsTest.java |
REST-to-HTTP test rename |
lib/src/test/java/io/ably/lib/test/util/StatsWriter.java |
Legacy helper removal |
lib/src/main/java/io/ably/pubsub/util/TimerInstance.java |
Utility package rename |
lib/src/main/java/io/ably/pubsub/util/SystemClock.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/util/StringUtils.java |
HTTP import updates |
lib/src/main/java/io/ably/pubsub/util/Side.java |
Type import updates |
lib/src/main/java/io/ably/pubsub/util/ReconnectionStrategy.java |
Utility package rename |
lib/src/main/java/io/ably/pubsub/util/PlatformAgentProvider.java |
Utility package rename |
lib/src/main/java/io/ably/pubsub/util/ParamsUtils.java |
Type import updates |
lib/src/main/java/io/ably/pubsub/util/Multicaster.java |
Utility package rename |
lib/src/main/java/io/ably/pubsub/util/Log.java |
Utility package rename |
lib/src/main/java/io/ably/pubsub/util/Listeners.java |
Realtime/type import updates |
lib/src/main/java/io/ably/pubsub/util/JsonUtils.java |
Utility package rename |
lib/src/main/java/io/ably/pubsub/util/InternalMap.java |
Type import updates |
lib/src/main/java/io/ably/pubsub/util/EventEmitter.java |
Package/Javadoc updates |
lib/src/main/java/io/ably/pubsub/util/CurrentThreadExecutor.java |
HTTP import updates |
lib/src/main/java/io/ably/pubsub/util/Crypto.java |
Type/HTTP/Javadoc updates |
lib/src/main/java/io/ably/pubsub/util/CollectionUtils.java |
Utility package rename |
lib/src/main/java/io/ably/pubsub/util/Clock.java |
Package/Javadoc updates |
lib/src/main/java/io/ably/pubsub/util/ClientOptionsUtils.java |
Network/type import updates |
lib/src/main/java/io/ably/pubsub/util/Base64Coder.java |
Utility package rename |
lib/src/main/java/io/ably/pubsub/util/AgentHeaderCreator.java |
Transport import updates |
lib/src/main/java/io/ably/pubsub/util/AblyTimer.java |
Utility package rename |
lib/src/main/java/io/ably/pubsub/types/UpdateDeleteResult.java |
HTTP/utility import updates |
lib/src/main/java/io/ably/pubsub/types/SummaryTotal.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/SummaryClientIdList.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/SummaryClientIdCounts.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/Summary.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/StatsReader.java |
HTTP/utility import updates |
lib/src/main/java/io/ably/pubsub/types/Stats.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/RecoveryKeyContext.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/ReadOnlyMap.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/PublishResult.java |
HTTP/utility import updates |
lib/src/main/java/io/ably/pubsub/types/PublishResponse.java |
HTTP/utility import updates |
lib/src/main/java/io/ably/pubsub/types/ProxyOptions.java |
HTTP import updates |
lib/src/main/java/io/ably/pubsub/types/ProtocolSerializer.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/ProtocolMessage.java |
LiveObjects/utility import updates |
lib/src/main/java/io/ably/pubsub/types/PresenceSerializer.java |
HTTP/utility import updates |
lib/src/main/java/io/ably/pubsub/types/PresenceMessage.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/Param.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/PaginatedResult.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/NonRetriableTokenException.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/MessageVersion.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/MessageSerializer.java |
HTTP/utility import updates |
lib/src/main/java/io/ably/pubsub/types/MessageOperation.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/MessageExtras.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/MessageDecodeException.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/MessageAnnotations.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/MessageAction.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/Message.java |
Package/import/Javadoc updates |
lib/src/main/java/io/ably/pubsub/types/HttpPaginatedResponse.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/ErrorResponse.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/ErrorInfo.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/DeltaExtras.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/DecodingContext.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/ConnectionDetails.java |
Transport/realtime import updates |
lib/src/main/java/io/ably/pubsub/types/ChannelProperties.java |
Realtime Javadoc updates |
lib/src/main/java/io/ably/pubsub/types/ChannelOptions.java |
Utility/API updates |
lib/src/main/java/io/ably/pubsub/types/ChannelMode.java |
Protocol import updates |
lib/src/main/java/io/ably/pubsub/types/Capability.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/Callback.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/BasePaginatedResult.java |
HTTP request type update |
lib/src/main/java/io/ably/pubsub/types/BaseMessage.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/AsyncPaginatedResult.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/AsyncHttpPaginatedResponse.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/AnnotationSerializer.java |
HTTP/utility import updates |
lib/src/main/java/io/ably/pubsub/types/AnnotationAction.java |
Types package rename |
lib/src/main/java/io/ably/pubsub/types/Annotation.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/types/AblyException.java |
Network import updates |
lib/src/main/java/io/ably/pubsub/transport/SafeSSLSocketFactory.java |
Transport package rename |
lib/src/main/java/io/ably/pubsub/transport/NetworkConnectivity.java |
Type import updates |
lib/src/main/java/io/ably/pubsub/transport/ITransport.java |
Transport/type/utility updates |
lib/src/main/java/io/ably/pubsub/transport/Hosts.java |
Type/utility import updates |
lib/src/main/java/io/ably/pubsub/transport/Defaults.java |
Package/build/utility updates |
lib/src/main/java/io/ably/pubsub/realtime/ConnectionStateListener.java |
Realtime/utility import updates |
lib/src/main/java/io/ably/pubsub/realtime/ConnectionState.java |
Realtime package rename |
lib/src/main/java/io/ably/pubsub/realtime/ConnectionEvent.java |
Realtime package rename |
lib/src/main/java/io/ably/pubsub/realtime/CompletionListener.java |
Type/utility import updates |
lib/src/main/java/io/ably/pubsub/realtime/ChannelStateListener.java |
Realtime/utility import updates |
lib/src/main/java/io/ably/pubsub/realtime/ChannelState.java |
Realtime package rename |
lib/src/main/java/io/ably/pubsub/realtime/ChannelEvent.java |
Realtime package rename |
lib/src/main/java/io/ably/pubsub/push/Storage.java |
Push package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/ValueType.java |
LiveObjects package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/value/package-info.java |
Package documentation update |
lib/src/main/java/io/ably/pubsub/liveobjects/value/LiveMapValue.java |
LiveObjects package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/value/LiveMap.java |
Package/reflection updates |
lib/src/main/java/io/ably/pubsub/liveobjects/value/LiveCounter.java |
Package/reflection updates |
lib/src/main/java/io/ably/pubsub/liveobjects/Subscription.java |
LiveObjects package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/state/ObjectStateEvent.java |
State package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/state/ObjectStateChange.java |
State import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/serialization/ObjectSerializer.java |
Utility/reflection updates |
lib/src/main/java/io/ably/pubsub/liveobjects/serialization/ObjectJsonSerializer.java |
Utility import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/RealtimeObject.java |
LiveObjects/type import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/types/StringPathObject.java |
Path import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/types/package-info.java |
Package documentation update |
lib/src/main/java/io/ably/pubsub/liveobjects/path/types/NumberPathObject.java |
Path import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/types/LiveMapPathObject.java |
Path/value import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/types/LiveCounterPathObject.java |
Path import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/types/JsonObjectPathObject.java |
Path import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/types/JsonArrayPathObject.java |
Path import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/types/BooleanPathObject.java |
Path import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/types/BinaryPathObject.java |
Path import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/PathObjectSubscriptionOptions.java |
Path/type import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/PathObjectSubscriptionEvent.java |
Path message updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/PathObjectListener.java |
Path package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/path/PathObject.java |
LiveObjects/path import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/path/package-info.java |
Package documentation update |
lib/src/main/java/io/ably/pubsub/liveobjects/package-info.java |
Package documentation update |
lib/src/main/java/io/ably/pubsub/liveobjects/message/package-info.java |
Message package documentation |
lib/src/main/java/io/ably/pubsub/liveobjects/message/ObjectsMapSemantics.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/ObjectsMapEntry.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/ObjectOperationAction.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/ObjectOperation.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/ObjectMessage.java |
Nit: invalid Javadoc package reference |
lib/src/main/java/io/ably/pubsub/liveobjects/message/ObjectDelete.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/ObjectData.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/MapSet.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/MapRemove.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/MapCreate.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/MapClear.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/CounterInc.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/message/CounterCreate.java |
Message package rename |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/types/StringInstance.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/types/package-info.java |
Instance documentation update |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/types/NumberInstance.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/types/LiveMapInstance.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/types/LiveCounterInstance.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/types/JsonObjectInstance.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/types/JsonArrayInstance.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/types/BooleanInstance.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/types/BinaryInstance.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/package-info.java |
Package documentation update |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/InstanceSubscriptionEvent.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/InstanceListener.java |
Instance import updates |
lib/src/main/java/io/ably/pubsub/liveobjects/instance/Instance.java |
LiveObjects/instance updates |
lib/src/main/java/io/ably/pubsub/liveobjects/adapter/package-info.java |
Nit: invalid Javadoc package reference |
lib/src/main/java/io/ably/pubsub/liveobjects/adapter/AblyClientAdapter.java |
Nit: invalid Javadoc package reference |
lib/src/main/java/io/ably/pubsub/http/SyncHttpScheduler.java |
HTTP/utility import updates |
lib/src/main/java/io/ably/pubsub/http/HttpUtils.java |
HTTP/type/utility updates |
lib/src/main/java/io/ably/pubsub/http/HttpScheduler.java |
HTTP/network/type updates |
lib/src/main/java/io/ably/pubsub/http/HttpConstants.java |
HTTP package rename |
lib/src/main/java/io/ably/pubsub/http/HttpAuth.java |
Type/utility import updates |
lib/src/main/java/io/ably/pubsub/http/DeviceDetails.java |
HTTP package migration |
lib/src/main/java/io/ably/pubsub/http/CloseableExecutor.java |
HTTP package rename |
lib/src/main/java/io/ably/pubsub/http/AsyncHttpScheduler.java |
HTTP/utility import updates |
lib/src/main/java/io/ably/pubsub/debug/DebugOptions.java |
Cross-module import updates |
lib/src/main/java/io/ably/pubsub/annotation/Experimental.java |
Annotation package rename |
lib/src/main/java/io/ably/lib/liveobjects/path/package-info.java |
Legacy documentation removal |
lib/src/main/java/io/ably/lib/liveobjects/package-info.java |
Legacy documentation removal |
lib/src/main/java/io/ably/lib/liveobjects/instance/package-info.java |
Legacy documentation removal |
lib/src/main/java/io/ably/lib/liveobjects/adapter/package-info.java |
Legacy documentation removal |
examples/src/main/kotlin/com/ably/example/screen/TaskManagementScreen.kt |
Client/import updates |
examples/src/main/kotlin/com/ably/example/screen/ObjectsSyncStatus.kt |
LiveObjects/realtime updates |
examples/src/main/kotlin/com/ably/example/screen/MainScreen.kt |
Realtime client rename |
examples/src/main/kotlin/com/ably/example/screen/ColorVotingScreen.kt |
Realtime client rename |
examples/src/main/kotlin/com/ably/example/MainActivity.kt |
Client/auth/import updates |
device/src/commonTest/kotlin/io/ably/pubsub/device/PubSubDeviceTest.kt |
Utility import updates |
device/src/androidTest/java/io/ably/pubsub/device/PubSubDeviceTest.java |
Package/type updates |
device/build.gradle.kts |
Namespace documentation update |
core/src/test/java/io/ably/pubsub/test/loader/ResourceLoader.java |
Test loader package rename |
core/src/test/java/io/ably/pubsub/test/loader/ArgumentLoader.java |
Test loader package rename |
core/src/main/java/io/ably/pubsub/util/JavaPlatformAgentProvider.java |
Utility package rename |
core/src/main/java/io/ably/pubsub/realtime/Channel.java |
New realtime channel package |
core/src/main/java/io/ably/pubsub/push/Push.java |
HTTP base type update |
core/src/main/java/io/ably/pubsub/platform/Platform.java |
Transport package update |
core/src/main/java/io/ably/pubsub/http/Channel.java |
New HTTP channel package |
core/src/main/java/io/ably/lib/rest/Channel.java |
Legacy REST channel removal |
core/src/main/java/io/ably/lib/realtime/Channel.java |
Legacy realtime channel removal |
core-android/src/main/java/io/ably/pubsub/util/IntentUtils.java |
Type import updates |
core-android/src/main/java/io/ably/pubsub/util/AndroidPlatformAgentProvider.java |
Utility package rename |
core-android/src/main/java/io/ably/pubsub/types/RegistrationToken.java |
Types package rename |
core-android/src/main/java/io/ably/pubsub/realtime/Channel.java |
Android realtime channel rename |
core-android/src/main/java/io/ably/pubsub/push/SharedPreferenceStorage.java |
Push package rename |
core-android/src/main/java/io/ably/pubsub/push/LocalDevice.java |
HTTP/type/utility updates |
core-android/src/main/java/io/ably/pubsub/platform/Platform.java |
Transport/type/utility updates |
core-android/src/main/java/io/ably/pubsub/platform/AndroidNetworkConnectivity.java |
Transport/type updates |
core-android/src/main/java/io/ably/pubsub/http/Channel.java |
Android HTTP channel rename |
core-android/src/main/java/io/ably/lib/rest/Channel.java |
Legacy Android REST removal |
core-android/src/main/java/io/ably/lib/realtime/Channel.java |
Legacy Android realtime removal |
core-android/src/androidTest/java/io/ably/pubsub/types/RegistrationTokenTypeTest.java |
Android test package rename |
core-android/src/androidTest/java/io/ably/pubsub/test/RetryTestRule.java |
Android test package rename |
core-android/src/androidTest/java/io/ably/pubsub/test/loader/ResourceLoader.java |
Android loader package rename |
core-android/src/androidTest/java/io/ably/pubsub/test/loader/ArgumentLoader.java |
Android loader package rename |
core-android/src/androidTest/java/io/ably/pubsub/test/android/AndroidSuite.java |
Android test/import updates |
core-android/src/androidTest/java/io/ably/pubsub/push/LocalDeviceStorageTest.java |
Push/type import updates |
core-android/build.gradle.kts |
Namespace/runner updates |
.github/workflows/integration-test.yml |
HTTP test task rename |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| @@ -6,15 +6,11 @@ public interface SdkWrapperCompatible<T> { | |||
|
|
|||
| /** | |||
| * Creates a proxy client to be used to supply analytics information for Ably-authored SDKs. | |||
| * The proxy client shares the state of the `RealtimeClient` or `RestClient` instance on which this method is called. | |||
| * The proxy client shares the state of the `RealtimeClient` instance on which this method is called. | |||
There was a problem hiding this comment.
@coderabbitai above review comment makes sense right? Accordingly go through all review comments, understand and post your own comments
There was a problem hiding this comment.
Confirmed. I checked all four current review findings.
The adapter finding is valid. The base revision exposed RestClient, RestChannel, RestPresence, their adapters, and RestClient.createWrapperSdkProxy. This PR removes all of them. It adds no HttpClient, HttpChannel, or HttpPresence adapter API. PubSubBaseInternals.kt is explicitly an internal access bridge. It does not replace the removed public API. Rename and restore this adapter surface as Http*, including the HTTP wrapper proxy path.
The three Javadoc findings are also valid. io.ably.pubsub.object and io.ably.pubsub.object.message do not exist in this revision. Use io.ably.pubsub.liveobjects and io.ably.pubsub.liveobjects.message instead.
I found no additional distinct issue in these reviewed areas.
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo '=== PR metadata ==='
gh pr view 1246 --repo ably/ably-pubsub-java --json title,body,baseRefName,headRefName,changedFiles,additions,deletions,url
echo '=== Review comments ==='
gh api --paginate 'repos/ably/ably-pubsub-java/pulls/1246/comments?per_page=100' \
--jq '.[] | {id, user: .user.login, path, line, original_line, side, body, in_reply_to_id, html_url}'
echo '=== Changed files ==='
gh pr diff 1246 --repo ably/ably-pubsub-java --name-only
echo '=== Kotlin source outline ==='
ast-grep outline pubsub-adapter/src/main/kotlin --items all --type class,interface,function --match 'SdkWrapperCompatible|createWrapperSdkProxy|PubSubHttpClient|HttpClient|HttpChannel|HttpPresence|RestClient|RealtimeClient' || true
echo '=== Relevant API references ==='
rg -n -i -C 3 '(SdkWrapperCompatible|createWrapperSdkProxy|PubSubHttpClient|PubSubRestClient|HttpClient|HttpChannel|HttpPresence|RestClient)' \
pubsub-adapter/src/main/kotlin pubsub-adapter/src/test 2>/dev/null || true
echo '=== Current PR diff for adapter Kotlin files ==='
gh pr diff 1246 --repo ably/ably-pubsub-java -- pubsub-adapter/src/main/kotlin || trueLength of output: 4692
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo '=== Checkout and refs ==='
git status --short
git branch --show-current
git remote -v | head -2
git branch -a --no-color | sed -n '1,80p'
base_ref=$(git merge-base HEAD origin/integration/v2 2>/dev/null || git merge-base HEAD integration/v2)
printf 'base_ref=%s\n' "$base_ref"
echo '=== Changed relevant files ==='
git diff --name-status "$base_ref"...HEAD -- \
pubsub-adapter \
lib/src/main/java/io/ably/pubsub/liveobjects \
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects \
| sed -n '1,240p'
echo '=== Adapter source tree ==='
fd -t f . pubsub-adapter/src/main | sort
echo '=== Adapter API definitions and proxy calls ==='
rg -n -i -C 4 '^(public )?(data )?(class|interface|fun)\b.*(SdkWrapperCompatible|WrapperSdkProxy|PubSub.*Client|Http.*Client|Realtime.*Client)|\b(createWrapperSdkProxy|SdkWrapperCompatible|PubSubHttpClient|PubSubRestClient|HttpChannel|HttpPresence)\b' \
pubsub-adapter/src/main 2>/dev/null || true
echo '=== Base and PR versions of Kotlin proxy API ==='
git show "$base_ref":pubsub-adapter/src/main/kotlin/com/ably/pubsub/WrapperSdkProxy.kt 2>/dev/null || true
printf '\n--- PR version ---\n'
cat pubsub-adapter/src/main/kotlin/com/ably/pubsub/WrapperSdkProxy.kt
echo '=== Referenced package directories ==='
for dir in \
lib/src/main/java/io/ably/pubsub/object \
lib/src/main/java/io/ably/pubsub/liveobjects \
liveobjects/src/main/kotlin/io/ably/pubsub/object \
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects; do
if [ -d "$dir" ]; then echo "PRESENT $dir"; else echo "ABSENT $dir"; fi
done
echo '=== Target Javadoc files ==='
for file in \
lib/src/main/java/io/ably/pubsub/liveobjects/adapter/AblyClientAdapter.java \
lib/src/main/java/io/ably/pubsub/liveobjects/message/ObjectMessage.java \
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/message/WireObjectMessage.kt; do
echo "--- $file ---"
nl -ba "$file" | sed -n '1,80p'
done
echo '=== All nonexistent-looking public package references ==='
rg -n -C 2 'io\.ably\.pubsub\.object(\.|\b)' \
--glob '*.{java,kt}' \
lib liveobjects pubsub-adapter 2>/dev/null || trueLength of output: 2755
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo '=== Current commit ==='
git rev-parse HEAD
git show -s --format='%H%n%s%n%D' HEAD
echo '=== Pull request refs ==='
gh api 'repos/ably/ably-pubsub-java/pulls/1246' \
--jq '{base: {ref: .base.ref, sha: .base.sha}, head: {ref: .head.ref, sha: .head.sha}}'
echo '=== Changed files relevant to review ==='
gh api --paginate 'repos/ably/ably-pubsub-java/pulls/1246/files?per_page=100' \
--jq '.[] | select(.filename | test("^(pubsub-adapter/|lib/src/main/java/io/ably/pubsub/liveobjects/|liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/)")) | [.status, .previous_filename, .filename] | `@tsv`'
echo '=== Adapter source tree at checkout ==='
if [ -d pubsub-adapter/src/main ]; then
fd -t f . pubsub-adapter/src/main | sort
else
echo 'pubsub-adapter source is absent from checkout'
fi
echo '=== Adapter API definitions and proxy references ==='
rg -n -i -C 4 '^(public )?(data )?(class|interface|fun)\b.*(SdkWrapperCompatible|WrapperSdkProxy|PubSub.*Client|Http.*Client|Realtime.*Client)|\b(createWrapperSdkProxy|SdkWrapperCompatible|PubSubHttpClient|PubSubRestClient|HttpChannel|HttpPresence)\b' \
pubsub-adapter/src/main 2>/dev/null || true
echo '=== Referenced package directories ==='
for dir in \
lib/src/main/java/io/ably/pubsub/object \
lib/src/main/java/io/ably/pubsub/liveobjects \
liveobjects/src/main/kotlin/io/ably/pubsub/object \
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects; do
if [ -d "$dir" ]; then echo "PRESENT $dir"; else echo "ABSENT $dir"; fi
done
echo '=== Target Javadoc files ==='
for file in \
lib/src/main/java/io/ably/pubsub/liveobjects/adapter/AblyClientAdapter.java \
lib/src/main/java/io/ably/pubsub/liveobjects/message/ObjectMessage.java \
liveobjects/src/main/kotlin/io/ably/pubsub/liveobjects/message/WireObjectMessage.kt; do
echo "--- $file ---"
if [ -f "$file" ]; then nl -ba "$file" | sed -n '1,90p'; else echo 'ABSENT'; fi
done
echo '=== All references to obsolete package name ==='
rg -n -C 2 'io\.ably\.pubsub\.object(\.|\b)' \
--glob '*.{java,kt}' \
. 2>/dev/null || trueLength of output: 43763
🏁 Script executed:
#!/bin/bash
set -euo pipefail
base_sha='7186ce26fcc20d9a14c1b3d9671050da53996229'
echo '=== Base revision: REST proxy API ==='
gh api "repos/ably/ably-pubsub-java/contents/pubsub-adapter/src/main/kotlin/com/ably/pubsub/WrapperSdkProxy.kt?ref=${base_sha}" \
-H 'Accept: application/vnd.github.raw+json' || true
echo '=== Base revision: removed REST adapter files ==='
for file in \
pubsub-adapter/src/main/kotlin/com/ably/pubsub/RestClient.kt \
pubsub-adapter/src/main/kotlin/com/ably/pubsub/RestChannel.kt \
pubsub-adapter/src/main/kotlin/com/ably/pubsub/RestPresence.kt \
pubsub-adapter/src/main/kotlin/io/ably/lib/rest/RestClientAdapter.kt \
pubsub-adapter/src/main/kotlin/io/ably/lib/rest/WrapperRestClient.kt; do
echo "--- $file ---"
gh api "repos/ably/ably-pubsub-java/contents/${file}?ref=${base_sha}" \
-H 'Accept: application/vnd.github.raw+json' 2>/dev/null | sed -n '1,140p' || echo 'unavailable'
done
echo '=== Current public adapter API and HTTP internals ==='
for file in \
pubsub-adapter/src/main/kotlin/com/ably/pubsub/Client.kt \
pubsub-adapter/src/main/kotlin/com/ably/pubsub/Channel.kt \
pubsub-adapter/src/main/kotlin/com/ably/pubsub/Presence.kt \
pubsub-adapter/src/main/kotlin/io/ably/pubsub/http/PubSubBaseInternals.kt; do
echo "--- $file ---"
nl -ba "$file" | sed -n '1,220p'
done
echo '=== Production references to removed REST adapter types ==='
rg -n -C 2 '\b(RestClient|RestChannel|RestPresence|WrapperRestClient|RestClientAdapter)\b' \
--glob '!**/src/test/**' --glob '*.{kt,java}' . 2>/dev/null || true
echo '=== Production declarations of expected HTTP adapter types ==='
rg -n -C 2 '\b(class|interface|fun|typealias)\s+(HttpClient|HttpChannel|HttpPresence|PubSubHttpClient)\b' \
--glob '!**/src/test/**' --glob '*.{kt,java}' . 2>/dev/null || true
echo '=== Public Javadoc references to renamed or missing packages ==='
rg -n -C 1 'io\.ably\.(lib|pubsub)\.(object|rest)(\.|\b)' \
--glob '!**/src/test/**' --glob '*.{kt,java}' . 2>/dev/null || trueLength of output: 34367
🏁 Script executed:
#!/bin/bash
set -euo pipefail
body=$(cat <<'EOF'
Confirmed. I checked all four current review findings.
The adapter finding is valid. The base revision exposed `RestClient`, `RestChannel`, `RestPresence`, their adapters, and `RestClient.createWrapperSdkProxy`. This PR removes all of them. It adds no `HttpClient`, `HttpChannel`, or `HttpPresence` adapter API. `PubSubBaseInternals.kt` is explicitly an internal access bridge. It does not replace the removed public API. Rename and restore this adapter surface as `Http*`, including the HTTP wrapper proxy path.
The three Javadoc findings are also valid. `io.ably.pubsub.object` and `io.ably.pubsub.object.message` do not exist in this revision. Use `io.ably.pubsub.liveobjects` and `io.ably.pubsub.liveobjects.message` instead.
I found no additional distinct issue in these reviewed areas.
EOF
)
gh api --method POST 'repos/ably/ably-pubsub-java/pulls/1246/comments' \
-f body="$body" \
-F in_reply_to=4069095108 \
--jq '{id, html_url, in_reply_to_id, body}'Length of output: 2104
@sacOO7, confirmed. I reviewed all four current findings and posted an independent reply in the thread.
The REST-to-HTTP adapter API regression is valid. The three liveobjects Javadoc package-reference findings are also valid. I found no additional distinct issue in the reviewed areas.
You are interacting with an AI system.
| * | ||
| * <p>This is the adapter for the path-based {@code io.ably.lib.object} API and is intentionally | ||
| * kept independent of the legacy {@code io.ably.lib.objects} package. | ||
| * <p>This is the adapter for the path-based {@code io.ably.pubsub.object} API and is intentionally |
| * messages without an operation (e.g. sync state messages) are never surfaced to users. | ||
| * | ||
| * <p>This type is the entry point of the {@code io.ably.lib.object.message} package; | ||
| * <p>This type is the entry point of the {@code io.ably.pubsub.object.message} package; |
| * prefix distinguishes these internal carriers from the public interfaces in | ||
| * `io.ably.lib.object.message`. | ||
| * `io.ably.pubsub.object.message`. |
sacOO7
left a comment
There was a problem hiding this comment.
Most of the changes are renaming specific, so I'm good with changes 👍
But you should take a look at some of review comments


No description provided.