Skip to content

Conversation

@lawrence-forooghian
Copy link
Collaborator

@lawrence-forooghian lawrence-forooghian commented Jun 10, 2025

This fixes:

  • an issue with decoding MessagePack data due to a breaking change in the websocket-driver gem (we should do a release for this because it may be affecting customers)
  • a partial fix for Nature of error not considered when deciding whether to use a fallback host for realtime connections #444, to prevent token errors from triggering the use of a fallback host for realtime connections, which fixes an intermittent test failure
  • a test that was failing because of backend changes
  • a couple of other things that were causing issues in CI

See commit messages for more details.

@github-actions github-actions bot temporarily deployed to staging/pull/443/features June 10, 2025 13:09 Inactive
@github-actions github-actions bot temporarily deployed to staging/pull/443/docs June 10, 2025 13:09 Inactive
To get rid of a GitHub warning about using `set-output`.
websocket-driver 0.8 changed the format in which it emits binary data
[1]:

> Emit binary message as a string with Encoding::BINARY instead of an array
> Add the option :binary_data_format to force the previous behaviour

[1] https://github.com/faye/websocket-driver-ruby/blob/main/CHANGELOG.md#080--2025-05-25
@lawrence-forooghian lawrence-forooghian changed the title Fix CI Fix decoding of MessagePack data, and other fixes to CI Jun 11, 2025
@github-actions github-actions bot temporarily deployed to staging/pull/443/docs June 11, 2025 14:27 Inactive
@github-actions github-actions bot temporarily deployed to staging/pull/443/features June 11, 2025 14:27 Inactive
This was changed in Realtime a while ago [1], and we've already had to
update other SDKs' test suites to handle it.

Also, remove an assertion of an error message, as in 72120de.

[1] https://ably-real-time.slack.com/archives/CURL4U2FP/p1733420816469159
I guess they must have changed it on the backend to make the statusCode
match the code?
@github-actions github-actions bot temporarily deployed to staging/pull/443/docs June 11, 2025 15:39 Inactive
@github-actions github-actions bot temporarily deployed to staging/pull/443/features June 11, 2025 15:39 Inactive
@github-actions github-actions bot temporarily deployed to staging/pull/443/docs June 11, 2025 18:43 Inactive
@github-actions github-actions bot temporarily deployed to staging/pull/443/features June 11, 2025 18:43 Inactive
This is a partial fix for #444 (nature of error not considered when
deciding whether to use a fallback host for realtime connections).

Here, I implement just enough of RTN17f to make sure that we don't use a
fallback host in response to a token error. This fixes an intermittent
failure in the test case on connection_failures_spec.rb:1361, which
tests that we correctly handle token errors when resuming a connection
per RTN15c5. This test was intermittently failing because it would
incorrectly try and use a fallback host after receiving the token error,
causing the resume attempt to sometimes fail with "Unable to resume
connection from another site".

I don't have loads of time on to spend on this issue right now, which is
why I'm applying the smallest possible fix. We need to return to #444
and properly consider how to identify the types of errors mentioned in
RTN17f.
Copy link
Contributor

@ttypic ttypic left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@sacOO7 sacOO7 left a comment

Choose a reason for hiding this comment

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

lgtm

@lawrence-forooghian lawrence-forooghian merged commit b971e84 into main Jun 12, 2025
23 checks passed
@lawrence-forooghian lawrence-forooghian deleted the 2025-06-10-fix-ci branch June 12, 2025 16:05
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.

4 participants