From b0a7e4d957ba5886c34ae8ec9eb00135b8e710cb Mon Sep 17 00:00:00 2001 From: Quintin Willison Date: Thu, 24 Nov 2022 10:35:57 +0000 Subject: [PATCH 1/2] Add JavaDoc to the string variant of the service (Ably) version. I was tempted to make ABLY_VERSION_NUMBER private, as it's not used anywhere outside of this class within this SDK, however there's an outside chance downstream users of the SDK might be using it for some reason. --- lib/src/main/java/io/ably/lib/transport/Defaults.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/src/main/java/io/ably/lib/transport/Defaults.java b/lib/src/main/java/io/ably/lib/transport/Defaults.java index 09f05edea..1abf64d53 100644 --- a/lib/src/main/java/io/ably/lib/transport/Defaults.java +++ b/lib/src/main/java/io/ably/lib/transport/Defaults.java @@ -8,9 +8,14 @@ import java.util.Locale; public class Defaults { - /* versions */ public static final float ABLY_VERSION_NUMBER = 1.1f; + + /** + * The level of compatibility with the Ably service that this SDK supports, also referred to as the 'wire protocol version'. + * This value is presented as a string, as specified in G4a. + */ public static final String ABLY_VERSION = new DecimalFormat("0.0", new DecimalFormatSymbols(Locale.ENGLISH)).format(ABLY_VERSION_NUMBER); + public static final String ABLY_AGENT_VERSION = String.format("%s/%s", "ably-java", BuildConfig.VERSION); /* params */ From efaab30935f16f01fcf4c5dcafdfcfe62110ac01 Mon Sep 17 00:00:00 2001 From: Quintin Willison Date: Thu, 24 Nov 2022 10:39:34 +0000 Subject: [PATCH 2/2] Revert to Ably service wire protocol 1.0. This is because we need this SDK to take advantage of service-side support for automatic presence re-entry, because RTP17c (client-led automatic re-entry) is yet to be implemented in this SDK. This is a temporary patch until we fix this properly under https://github.com/ably/ably-java/issues/859 --- lib/src/main/java/io/ably/lib/transport/Defaults.java | 2 +- .../java/io/ably/lib/test/realtime/RealtimeHttpHeaderTest.java | 2 +- lib/src/test/java/io/ably/lib/test/rest/HttpHeaderTest.java | 2 +- lib/src/test/java/io/ably/lib/transport/DefaultsTest.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/src/main/java/io/ably/lib/transport/Defaults.java b/lib/src/main/java/io/ably/lib/transport/Defaults.java index 1abf64d53..d7627939d 100644 --- a/lib/src/main/java/io/ably/lib/transport/Defaults.java +++ b/lib/src/main/java/io/ably/lib/transport/Defaults.java @@ -8,7 +8,7 @@ import java.util.Locale; public class Defaults { - public static final float ABLY_VERSION_NUMBER = 1.1f; + public static final float ABLY_VERSION_NUMBER = 1.0f; /** * The level of compatibility with the Ably service that this SDK supports, also referred to as the 'wire protocol version'. diff --git a/lib/src/test/java/io/ably/lib/test/realtime/RealtimeHttpHeaderTest.java b/lib/src/test/java/io/ably/lib/test/realtime/RealtimeHttpHeaderTest.java index 404a06511..704ec0ec8 100644 --- a/lib/src/test/java/io/ably/lib/test/realtime/RealtimeHttpHeaderTest.java +++ b/lib/src/test/java/io/ably/lib/test/realtime/RealtimeHttpHeaderTest.java @@ -81,7 +81,7 @@ public void realtime_websocket_param_test() { * Defaults.ABLY_VERSION_PARAM, as ultimately the request param has been derived from those values. */ assertEquals("Verify correct version", requestParameters.get("v"), - Collections.singletonList("1.1")); + Collections.singletonList("1.0")); /* Spec RSC7d3 * This test should not directly validate version against Defaults.ABLY_AGENT_VERSION, nor diff --git a/lib/src/test/java/io/ably/lib/test/rest/HttpHeaderTest.java b/lib/src/test/java/io/ably/lib/test/rest/HttpHeaderTest.java index a46e320f4..d83d04a13 100644 --- a/lib/src/test/java/io/ably/lib/test/rest/HttpHeaderTest.java +++ b/lib/src/test/java/io/ably/lib/test/rest/HttpHeaderTest.java @@ -84,7 +84,7 @@ public void header_lib_channel_publish() { * from those values. */ Assert.assertNotNull("Expected headers", headers); - Assert.assertEquals(headers.get("x-ably-version"), "1.1"); + Assert.assertEquals(headers.get("x-ably-version"), "1.0"); Assert.assertEquals(headers.get("ably-agent"), expectedAblyAgentHeader); } catch (AblyException e) { e.printStackTrace(); diff --git a/lib/src/test/java/io/ably/lib/transport/DefaultsTest.java b/lib/src/test/java/io/ably/lib/transport/DefaultsTest.java index 24b981696..021387da4 100644 --- a/lib/src/test/java/io/ably/lib/transport/DefaultsTest.java +++ b/lib/src/test/java/io/ably/lib/transport/DefaultsTest.java @@ -9,7 +9,7 @@ public class DefaultsTest { @Test public void versions() { - assertThat(Defaults.ABLY_VERSION, is("1.1")); + assertThat(Defaults.ABLY_VERSION, is("1.0")); } @Test