From 00bdd5fef07451def27361da7ef138fae71d469a Mon Sep 17 00:00:00 2001 From: Simon Woolf Date: Wed, 12 Feb 2025 21:51:05 +0000 Subject: [PATCH] Implement TM2p change (no message version populating from channelmessage) Implements https://github.com/ably/specification/pull/275 --- lib/src/main/java/io/ably/lib/realtime/ChannelBase.java | 4 +--- lib/src/main/java/io/ably/lib/types/Message.java | 5 +---- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/src/main/java/io/ably/lib/realtime/ChannelBase.java b/lib/src/main/java/io/ably/lib/realtime/ChannelBase.java index 6e3773eb0..6805b4614 100644 --- a/lib/src/main/java/io/ably/lib/realtime/ChannelBase.java +++ b/lib/src/main/java/io/ably/lib/realtime/ChannelBase.java @@ -856,10 +856,8 @@ private void onMessage(final ProtocolMessage protocolMessage) { if(msg.connectionId == null) msg.connectionId = protocolMessage.connectionId; if(msg.timestamp == 0) msg.timestamp = protocolMessage.timestamp; if(msg.id == null) msg.id = protocolMessage.id + ':' + i; - // (TM2p) - if(msg.version == null) msg.version = String.format("%s:%03d", protocolMessage.channelSerial, i); // (TM2k) - if(msg.serial == null && msg.action == MessageAction.MESSAGE_CREATE) msg.serial = msg.version; + if(msg.serial == null && msg.version != null && msg.action == MessageAction.MESSAGE_CREATE) msg.serial = msg.version; // (TM2o) if(msg.createdAt == null && msg.action == MessageAction.MESSAGE_CREATE) msg.createdAt = msg.timestamp; diff --git a/lib/src/main/java/io/ably/lib/types/Message.java b/lib/src/main/java/io/ably/lib/types/Message.java index afdea4bc4..9fd71cb39 100644 --- a/lib/src/main/java/io/ably/lib/types/Message.java +++ b/lib/src/main/java/io/ably/lib/types/Message.java @@ -58,10 +58,7 @@ public class Message extends BaseMessage { /** * (TM2p) version string – an opaque string that uniquely identifies the message, and is different for different versions. - * If a message received from Ably over a realtime transport does not contain a version, - * the SDK must set it to : from the channelSerial field of the enclosing ProtocolMessage, - * and padded_index is the index of the message inside the messages array of the ProtocolMessage, - * left-padded with 0s to three digits (for example, the second entry might be foo:001) + * (May not be populated depending on app & channel namespace settings) */ public String version;