Skip to content

Conversation

@lawrence-forooghian
Copy link
Collaborator

I found the existing rules quite hard to understand; in particular it was not very clear how to derive the base payload in the case where you have a non-delta, non-Base64 message.

I found the existing rules quite hard to understand; in particular it
was not very clear how to derive the base payload in the case where you
have a non-delta, non-Base64 message.
lawrence-forooghian added a commit to ably/ably-cocoa that referenced this pull request Aug 12, 2025
Fix the following scenarios:

- delta decoding of JSON-valued message data: we were not setting the
  base payload to the message's `data` before decoding JSON

- delta decoding when using the non-binary protocol: we were setting the
  base payload to the delta, not the result of vcdiff decoding

Specification references based on [1] at adf8d0f.

Resolves #2082.

[1] ably/specification#356
@lawrence-forooghian lawrence-forooghian marked this pull request as ready for review August 12, 2025 13:58
Copy link
Collaborator

@maratal maratal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left question

*** @(RTL19e2)@ Else, the message's @data@ is a delta, and the base payload is the result of using the @vcdiff@ decoder to apply this delta to the stored base payload.
** @(RTL19a)@ This clause has been deleted. It was valid up to and including specification version @TBD@.
** @(RTL19b)@ This clause has been deleted. It was valid up to and including specification version @TBD@.
** @(RTL19c)@ This clause has been deleted. It was valid up to and including specification version @TBD@.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you're just rewording for clarity (and adding some sub-items) and aren't actually changing what it means, you don't need to deprecate the old spec items - you could just keep RTL19d as RTL19b and RTL19e as RTL19c. (otherwise you're forcing any sdk devs who referenced the old spec items in comments to go and update them to the new ones, even though there's no actual substantive change)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants