<testsuite name="rspec1" tests="682" skipped="2" failures="418" errors="0" time="15383.456837" timestamp="2025-06-10T13:08:54+00:00" hostname="pkrvmxyh4eaekms">
<properties>
<property name="seed" value="9532"/>
</properties>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol using shortcut method #channel on the client object behaves like a channel returns a channel object" file="./spec/acceptance/realtime/channels_spec.rb" time="35.860179"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2bYSrvjLr1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dX0K1OA2ApEM!2bYSrvjLr1AVhCqObBxbjF-1fc19\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cfae.us-east-1-A.i-041a0db6b56056333.e7dX0K1OA2ApEM\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2bYSrvjLr1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dX0K1OA2ApEM!2bYSrvjLr1AVhCqObBxbjF-1fc19\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cfae.us-east-1-A.i-041a0db6b56056333.e7dX0K1OA2ApEM\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a channel&quot; called from ./spec/acceptance/realtime/channels_spec.rb:67
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol using shortcut method #channel on the client object behaves like a channel returns channel object and passes the provided options" file="./spec/acceptance/realtime/channels_spec.rb" time="34.548674"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApAKMrKfuZQ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!pAKMrKfuZQAZ-9_AyZHp22-1b3ca\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApAKMrKfuZQ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!pAKMrKfuZQAZ-9_AyZHp22-1b3ca\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a channel&quot; called from ./spec/acceptance/realtime/channels_spec.rb:67
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol accessing an existing channel object without specifying any channel options returns the existing channel without modifying the channel options" file="./spec/acceptance/realtime/channels_spec.rb" time="12.427750"></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol accessing an existing channel object with different options overrides the existing channel options and returns the channel object" file="./spec/acceptance/realtime/channels_spec.rb" time="34.261251"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2i4jZeMom4\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!2i4jZeMom4Aa32DI6Ig24G-1e147\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2i4jZeMom4\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!2i4jZeMom4Aa32DI6Ig24G-1e147\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol accessing an existing channel object with different options shows deprecation warning" file="./spec/acceptance/realtime/channels_spec.rb" time="34.250400"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5SaXsMvbOW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!5SaXsMvbOWAcQZmW1q8mnu-1b811\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5SaXsMvbOW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!5SaXsMvbOWAcQZmW1q8mnu-1b811\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol when channel supposed to trigger reattachment per RTL16a (#RTS3c1) will raise an error" file="./spec/acceptance/realtime/channels_spec.rb" time="35.059036"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9QaaMuIoz7\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dX0K1OA2ApEM!9QaaMuIoz7AS0QQEDfuL2z-203d4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cfae.us-east-1-A.i-041a0db6b56056333.e7dX0K1OA2ApEM\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9QaaMuIoz7\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dX0K1OA2ApEM!9QaaMuIoz7AS0QQEDfuL2z-203d4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cfae.us-east-1-A.i-041a0db6b56056333.e7dX0K1OA2ApEM\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol when channel supposed to trigger reattachment per RTL16a (#RTS3c1) params keys are the same but values are different will raise an error" file="./spec/acceptance/realtime/channels_spec.rb" time="34.704886"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzEUrlk-pxZ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!zEUrlk-pxZAaXZaebGHAji-1bba7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzEUrlk-pxZ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!zEUrlk-pxZAaXZaebGHAji-1bba7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol using #get method on client#channels behaves like a channel returns channel object and passes the provided options" file="./spec/acceptance/realtime/channels_spec.rb" time="33.642134"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJlZTZk14jd\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!JlZTZk14jdARX76tRdKfKO-1e7d5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJlZTZk14jd\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!JlZTZk14jdARX76tRdKfKO-1e7d5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a channel&quot; called from ./spec/acceptance/realtime/channels_spec.rb:73
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol using #get method on client#channels behaves like a channel returns a channel object" file="./spec/acceptance/realtime/channels_spec.rb" time="37.497827"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQo8unF5b1i\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!Qo8unF5b1iAQHMX7DN6U45-1be99\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQo8unF5b1i\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!Qo8unF5b1iAQHMX7DN6U45-1be99\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a channel&quot; called from ./spec/acceptance/realtime/channels_spec.rb:73
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol using undocumented array accessor [] method on client#channels behaves like a channel returns channel object and passes the provided options" file="./spec/acceptance/realtime/channels_spec.rb" time="44.726246"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiIMhkTt9Xu\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!iIMhkTt9XuAfwBycgo0pZ1-1c034\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiIMhkTt9Xu\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!iIMhkTt9XuAfwBycgo0pZ1-1c034\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a channel&quot; called from ./spec/acceptance/realtime/channels_spec.rb:117
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.channels_spec" name="Ably::Realtime::Channels using MsgPack protocol using undocumented array accessor [] method on client#channels behaves like a channel returns a channel object" file="./spec/acceptance/realtime/channels_spec.rb" time="44.976407"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAow1JoNjC5m\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!ow1JoNjC5mAQhUBOS0yYG--1c154\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAow1JoNjC5m\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!ow1JoNjC5mAQhUBOS0yYG--1c154\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a channel&quot; called from ./spec/acceptance/realtime/channels_spec.rb:117
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest using MsgPack protocol token authentication failures when NOT auth#token_renewable? should raise an TokenExpired exception" file="./spec/acceptance/rest/base_spec.rb" time="0.031958"></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest using MsgPack protocol token authentication failures when auth#token_renewable? should automatically reissue a token" file="./spec/acceptance/rest/base_spec.rb" time="0.011596"></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest using MsgPack protocol failed requests due to invalid Auth should raise an InvalidRequest exception with a valid error message and code" file="./spec/acceptance/rest/base_spec.rb" time="48.804631"><failure message="expected #&lt;Ably::Exceptions::UnauthorizedRequest: unable to handle request; no application id found in request... 401, code: 40101) (code: 40101, http status: 401) -&gt; see https://help.ably.io/error/40101 for help&gt; to be a kind of Ably::Exceptions::ResourceMissing" type="RSpec::Expectations::ExpectationNotMetError">Failure/Error: orig_handle_failure(*args, &amp;block)
  expected #&lt;Ably::Exceptions::UnauthorizedRequest: unable to handle request; no application id found in request... 401, code: 40101) (code: 40101, http status: 401) -&gt; see https://help.ably.io/error/40101 for help&gt; to be a kind of Ably::Exceptions::ResourceMissing
./spec/support/event_machine_helper.rb:156:in `handle_failure&apos;
./spec/acceptance/rest/base_spec.rb:77:in `block (5 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest using MsgPack protocol failed requests 500 server error without a valid JSON response body should raise a ServerError exception" file="./spec/acceptance/rest/base_spec.rb" time="0.010314"></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest using MsgPack protocol failed requests server error with JSON error response body should raise a ServerError exception" file="./spec/acceptance/rest/base_spec.rb" time="0.007388"></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest transport protocol when option {:use_binary_protocol=&gt;false} is used uses JSON" file="./spec/acceptance/rest/base_spec.rb" time="0.007310"></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest transport protocol when protocol is not defined it defaults to :msgpack uses MsgPack" file="./spec/acceptance/rest/base_spec.rb" time="0.002592"></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest transport protocol when option {:use_binary_protocol=&gt;true} is used uses MsgPack" file="./spec/acceptance/rest/base_spec.rb" time="0.002469"></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest transport protocol when option {:protocol=&gt;:json} is used uses JSON" file="./spec/acceptance/rest/base_spec.rb" time="0.002435"></testcase>
<testcase classname="spec.acceptance.rest.base_spec" name="Ably::Rest transport protocol when option {:protocol=&gt;:msgpack} is used uses MsgPack" file="./spec/acceptance/rest/base_spec.rb" time="0.002488"></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #auth_header_sync returns an auth header synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="36.170818"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQTZ8cqrte_\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!QTZ8cqrte_AdRfdFp8stJO-1edad\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQTZ8cqrte_\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!QTZ8cqrte_AdRfdFp8stJO-1edad\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token request with a client_id is not true as identification is not confirmed until authenticated" file="./spec/acceptance/realtime/auth_spec.rb" time="34.431540"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJRRQ0UQEa_\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9)e7dTSjKlQKMEvx!JRRQ0UQEa_Ad9qrNHYeHrK-204\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJRRQ0UQEa_\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9)e7dTSjKlQKMEvx!JRRQ0UQEa_Ad9qrNHYeHrK-204\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token request with a client_id once connected is true as identification is completed following CONNECTED ProtocolMessage" file="./spec/acceptance/realtime/auth_spec.rb" time="35.914458"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPmE-VuGWmo\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!PmE-VuGWmoAV0rCBu_NHwV-1c4ad\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPmE-VuGWmo\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!PmE-VuGWmoAV0rCBu_NHwV-1c4ad\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with no client_id (anonymous) before connected is false as identification is not possible from an opaque token string" file="./spec/acceptance/realtime/auth_spec.rb" time="35.551586"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPGNuUDVAE6\xB1connectionDetails\x88\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!PGNuUDVAE6AaPxm9mROnlY-1f05a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPGNuUDVAE6\xB1connectionDetails\x88\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!PGNuUDVAE6AaPxm9mROnlY-1f05a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with no client_id (anonymous) once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="35.553205"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8N2P7iVzzf\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dX0K1OA2ApEM!8N2P7iVzzfAVqxDbdHwU0G-21085\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cfae.us-east-1-A.i-041a0db6b56056333.e7dX0K1OA2ApEM\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8N2P7iVzzf\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dX0K1OA2ApEM!8N2P7iVzzfAVqxDbdHwU0G-21085\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cfae.us-east-1-A.i-041a0db6b56056333.e7dX0K1OA2ApEM\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a wildcard client_id (anonymous) before connected is false as identification is not possible from an opaque token string" file="./spec/acceptance/realtime/auth_spec.rb" time="35.290396"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6taiSw3aUX\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!6taiSw3aUXAdUZfR07bTKR-1f2aa\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6taiSw3aUX\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!6taiSw3aUXAdUZfR07bTKR-1f2aa\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a wildcard client_id (anonymous) once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="35.713747"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAcKATEZLq7X\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!cKATEZLq7XAc5nEiGvZiZy-1c927\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAcKATEZLq7X\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!cKATEZLq7XAc5nEiGvZiZy-1c927\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a valid client_id before connected #client_id is nil" file="./spec/acceptance/realtime/auth_spec.rb" time="34.870616"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZCCm3iqLYS\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dX0K1OA2ApEM!ZCCm3iqLYSAao0zHN1l76d-21488\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cfae.us-east-1-A.i-041a0db6b56056333.e7dX0K1OA2ApEM\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZCCm3iqLYS\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dX0K1OA2ApEM!ZCCm3iqLYSAao0zHN1l76d-21488\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cfae.us-east-1-A.i-041a0db6b56056333.e7dX0K1OA2ApEM\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a valid client_id before connected is false as identification is not possible from an opaque token string" file="./spec/acceptance/realtime/auth_spec.rb" time="35.078727"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAd8_IfITLEq\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!d8_IfITLEqAWgD3vr1VdWf-1cc1e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAd8_IfITLEq\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!d8_IfITLEqAWgD3vr1VdWf-1cc1e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a valid client_id once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="35.671714"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAeujd1ObU4o\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!eujd1ObU4oAQHSy-kmkulE-1cdf2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAeujd1ObU4o\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!eujd1ObU4oAQHSy-kmkulE-1cdf2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token string with a valid client_id once connected #client_id is populated" file="./spec/acceptance/realtime/auth_spec.rb" time="35.166788"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqpdTvmF32J\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!qpdTvmF32JATAotan9gmrQ-1cfc4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqpdTvmF32J\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!qpdTvmF32JATAotan9gmrQ-1cfc4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using basic auth once connected contains a validated wildcard client_id" file="./spec/acceptance/realtime/auth_spec.rb" time="34.020645"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjsm0kH59w9\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!jsm0kH59w9AReutT8nz-wJ-1fc43\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjsm0kH59w9\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!jsm0kH59w9AReutT8nz-wJ-1fc43\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using basic auth once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.889681"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAutBXpXhxso\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!utBXpXhxsoAU4lKKbpQm3M-1d2fc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAutBXpXhxso\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!utBXpXhxsoAU4lKKbpQm3M-1d2fc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using basic auth before connected is false as basic auth users do not have an identity" file="./spec/acceptance/realtime/auth_spec.rb" time="35.390934"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJ4QfB7MJTF\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!J4QfB7MJTFAXF3O5HN33pi-1ffb4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJ4QfB7MJTF\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!J4QfB7MJTFAXF3O5HN33pi-1ffb4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with no client_id (anonymous) is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.494068"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoHJBADOhqq\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!oHJBADOhqqAdchyD0cKfi6-149f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoHJBADOhqq\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!oHJBADOhqqAdchyD0cKfi6-149f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with no client_id (anonymous) once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.592587"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKb9AIFEGug\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Kb9AIFEGugAcs5CoKcSQmW-1660\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKb9AIFEGug\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Kb9AIFEGugAcs5CoKcSQmW-1660\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with a wildcard client_id (anonymous) is true" file="./spec/acceptance/realtime/auth_spec.rb" time="35.981717"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApIAvKganmH\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!pIAvKganmHAR_K2_wC-bnA-17fe\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApIAvKganmH\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!pIAvKganmHAR_K2_wC-bnA-17fe\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with a wildcard client_id (anonymous) once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="36.001888"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyYfQ3edHiO\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!yYfQ3edHiOAXuqhXRtKINV-19d9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyYfQ3edHiO\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!yYfQ3edHiOAXuqhXRtKINV-19d9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with a client_id is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.493640"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAATMfMyR_VtU\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9*e7dTSjKlQKMEvx!TMfMyR_VtUAXX0O_8iMFMG-1b7a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAATMfMyR_VtU\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9*e7dTSjKlQKMEvx!TMfMyR_VtUAXX0O_8iMFMG-1b7a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #client_id_validated? when using a token with a client_id once connected is true" file="./spec/acceptance/realtime/auth_spec.rb" time="34.046543"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqvE2dtzED3\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!qvE2dtzED3AUZHeTvN0l5b-2091f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqvE2dtzED3\xB1connectionDetails\x89\xA8clientId\xA7present\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!qvE2dtzED3AUZHeTvN0l5b-2091f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when the JWT token request includes a client_id the client_id is the same that was specified in the auth_callback that generated the JWT token" file="./spec/acceptance/realtime/auth_spec.rb" time="34.848476"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAa-2NRGOwxU\xB1connectionDetails\x89\xA8clientId\xD9 c4635bc02189bd214dbd2508f5bc2db0\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!a-2NRGOwxUAQ34PsBb_8FR-20a74\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAa-2NRGOwxU\xB1connectionDetails\x89\xA8clientId\xD9 c4635bc02189bd214dbd2508f5bc2db0\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!a-2NRGOwxUAQ34PsBb_8FR-20a74\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_callback when credentials are valid authentication succeeds and client can post a message" file="./spec/acceptance/realtime/auth_spec.rb" time="37.245022"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAArJ6C-i4Ho3\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!rJ6C-i4Ho3AazGm-Qo0FFb-1f77\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAArJ6C-i4Ho3\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!rJ6C-i4Ho3AazGm-Qo0FFb-1f77\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_callback when credentials are invalid authentication fails and reason for disconnection is invalid signature" file="./spec/acceptance/realtime/auth_spec.rb" time="34.994755"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9CUnexpected error decoding Ably token or JWT; the token is not valid\xA4href\xD9 https://help.ably.io/error/40144\xA4code\xCE\x00\x00\x9C\xD0\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z\b\t\xF5&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9CUnexpected error decoding Ably token or JWT; the token is not valid\xA4href\xD9 https://help.ably.io/error/40144\xA4code\xCE\x00\x00\x9C\xD0\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z\b\t\xF5&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when the JWT token request includes a subscribe-only capability client fails to publish to a channel with subscribe-only capability and publishes successfully on a channel with permissions" file="./spec/acceptance/realtime/auth_spec.rb" time="35.520880"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtBXgIeQx5Q\xB1connectionDetails\x88\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!tBXgIeQx5QAfPNV1QuqGm2-20ead\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtBXgIeQx5Q\xB1connectionDetails\x88\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!tBXgIeQx5QAfPNV1QuqGm2-20ead\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_url when token is expired receives a 40142 error from the server" file="./spec/acceptance/realtime/auth_spec.rb" time="35.198496"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQgWgQU7Rvg\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!QgWgQU7RvgAXE00QVD7zHc-234d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQgWgQU7Rvg\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!QgWgQU7RvgAXE00QVD7zHc-234d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_url when credentials are wrong disconnected includes and invalid signature message" file="./spec/acceptance/realtime/auth_spec.rb" time="35.386513"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9CUnexpected error decoding Ably token or JWT; the token is not valid\xA4href\xD9 https://help.ably.io/error/40144\xA4code\xCE\x00\x00\x9C\xD0\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z\t\xA8b&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9CUnexpected error decoding Ably token or JWT; the token is not valid\xA4href\xD9 https://help.ably.io/error/40144\xA4code\xCE\x00\x00\x9C\xD0\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z\t\xA8b&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when using auth_url when credentials are valid client successfully fetches a channel and publishes a message" file="./spec/acceptance/realtime/auth_spec.rb" time="35.881861"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWLtXR2mgQP\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!WLtXR2mgQPAaC0bCcA0Nub-24de\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWLtXR2mgQP\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!WLtXR2mgQPAaC0bCcA0Nub-24de\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when JWT token expires client disconnects, a new token is requested via auth_callback and the client gets reconnected" file="./spec/acceptance/realtime/auth_spec.rb" time="36.057481"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQYMXjJZ-P0\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!QYMXjJZ-P0AU-eV5sNJz1c-1e720\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQYMXjJZ-P0\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!QYMXjJZ-P0AU-eV5sNJz1c-1e720\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when JWT token expires and an AUTH procol message is received client reauths correctly without going through a disconnection" file="./spec/acceptance/realtime/auth_spec.rb" time="34.887965"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbe7Y7KQyag\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!be7Y7KQyagAZIgFCPDYGGJ-2671\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbe7Y7KQyag\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!be7Y7KQyagAZIgFCPDYGGJ-2671\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when the client is initialized with ClientOptions and the token is a JWT token when credentials are invalid fails with an invalid signature error" file="./spec/acceptance/realtime/auth_spec.rb" time="34.783689"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9CUnexpected error decoding Ably token or JWT; the token is not valid\xA4href\xD9 https://help.ably.io/error/40144\xA4code\xCE\x00\x00\x9C\xD0\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z\v\xD1C&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9CUnexpected error decoding Ably token or JWT; the token is not valid\xA4href\xD9 https://help.ably.io/error/40144\xA4code\xCE\x00\x00\x9C\xD0\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z\v\xD1C&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol when using JWT when the client is initialized with ClientOptions and the token is a JWT token when credentials are valid posts successfully to a channel" file="./spec/acceptance/realtime/auth_spec.rb" time="35.060902"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuGrlNWJ_kh\xB1connectionDetails\x88\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!uGrlNWJ_khAQrcsswge9Oh-2144d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuGrlNWJ_kh\xB1connectionDetails\x88\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!uGrlNWJ_khAQrcsswge9Oh-2144d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #key contains the API key" file="./spec/acceptance/realtime/auth_spec.rb" time="35.282972"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALoPy-D61Ql\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!LoPy-D61QlAWMv_AXEIJ20-2153b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALoPy-D61Ql\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!LoPy-D61QlAWMv_AXEIJ20-2153b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #using_token_auth? is false when using Basic Auth" file="./spec/acceptance/realtime/auth_spec.rb" time="0.154888"></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #using_basic_auth? is true when using Basic Auth" file="./spec/acceptance/realtime/auth_spec.rb" time="26.470175"></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #authentication_security_requirements_met? returns true" file="./spec/acceptance/realtime/auth_spec.rb" time="0.157717"></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #key_name contains the API key name" file="./spec/acceptance/realtime/auth_spec.rb" time="38.309380"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACVGApiQ_b6\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!CVGApiQ_b6AafVc76FQoTg-21790\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACVGApiQ_b6\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7d5wgTPQx1Kx2!CVGApiQ_b6AafVc76FQoTg-21790\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.f5e7.us-east-1-A.i-0de16df68bbf13b4a.e7d5wgTPQx1Kx2\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with basic auth #key_secret contains the API key secret" file="./spec/acceptance/realtime/auth_spec.rb" time="34.729986"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbc2UiMxhoD\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!bc2UiMxhoDAd_FoWKRirUO-2c52\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbc2UiMxhoD\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!bc2UiMxhoDAd_FoWKRirUO-2c52\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol server initiated AUTH ProtocolMessage when not received should expect the connection to be disconnected by the server but should resume automatically (#RTN22a)" file="./spec/acceptance/realtime/auth_spec.rb" time="33.898421"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMhGFljem3k\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!MhGFljem3kAbAAvph40-Kx-2d5a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMhGFljem3k\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!MhGFljem3kAbAAvph40-Kx-2d5a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol server initiated AUTH ProtocolMessage when received should immediately start a new authentication process (#RTN22)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.619127"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGgNoVLqsT2\xB1connectionDetails\x88\xADconnectionKey\xD9)e7dgXSyUQbNp_6!GgNoVLqsT2AQnxXeRthe2C-396\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGgNoVLqsT2\xB1connectionDetails\x88\xADconnectionKey\xD9)e7dgXSyUQbNp_6!GgNoVLqsT2AQnxXeRthe2C-396\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #auth_header returns an auth header asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="35.149653"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5APHrgQsl6\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!5APHrgQsl6AdRSozt4s8M6-2f5c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5APHrgQsl6\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!5APHrgQsl6AdRSozt4s8M6-2f5c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #create_token_request returns a token request asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.450916"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzhfDkRX1xs\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dgXSyUQbNp_6!zhfDkRX1xsAVGLSz-6c522-591\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzhfDkRX1xs\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dgXSyUQbNp_6!zhfDkRX1xsAVGLSz-6c522-591\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #create_token_request_async returns a token request synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.904869"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoroPFIb4kP\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dgXSyUQbNp_6!oroPFIb4kPAar7CRoQuKn4-6bb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoroPFIb4kP\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dgXSyUQbNp_6!oroPFIb4kPAar7CRoQuKn4-6bb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize_async returns a token synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="35.256314"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqPlbz0D6lX\xB1connectionDetails\x89\xA8clientId\xD9 8ce0354681c2bf32a826e7bd317d80f5\xADconnectionKey\xD9*e7dTSjKlQKMEvx!qPlbz0D6lXAQpVwVzgk5Dd-327c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqPlbz0D6lX\xB1connectionDetails\x89\xA8clientId\xD9 8ce0354681c2bf32a826e7bd317d80f5\xADconnectionKey\xD9*e7dTSjKlQKMEvx!qPlbz0D6lXAQpVwVzgk5Dd-327c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #request_token returns a token asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.472881"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAnHeaPivUZM\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!nHeaPivUZMAfmVRaKWH29P-33c1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAnHeaPivUZM\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!nHeaPivUZMAfmVRaKWH29P-33c1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when implicitly called, with an explicit ClientOptions client_id and an incompatible client_id in a TokenRequest object passed to the auth callback and fails with an exception rejects a TokenRequests object with an incompatible client_id and fails with an exception" file="./spec/acceptance/realtime/auth_spec.rb" time="0.289610"></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when implicitly called, with an explicit ClientOptions client_id and an incompatible client_id in a TokenDetails object passed to the auth callback rejects a TokenDetails object with an incompatible client_id and fails with an exception" file="./spec/acceptance/realtime/auth_spec.rb" time="0.271832"></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize with auth_callback blocking with a slow auth callback response asynchronously authenticates" file="./spec/acceptance/realtime/auth_spec.rb" time="50.944923"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAG4Zxv6fMfl\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!G4Zxv6fMflAbxqJ2v6WHAq-1f728\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAG4Zxv6fMfl\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!G4Zxv6fMflAbxqJ2v6WHAq-1f728\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when explicitly called, with an explicit ClientOptions client_id and an incompatible client_id in a TokenDetails object passed to the auth callback rejects a TokenDetails object with an incompatible client_id and fails with an exception" file="./spec/acceptance/realtime/auth_spec.rb" time="65.886096"><failure message="execution expired" type="Timeout::Error">Failure/Error:
  ::EventMachine.run do
    yield
  end

Timeout::Error:
  execution expired
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize with token auth returns a token asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.734453"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAORcMjEoEeS\xB1connectionDetails\x89\xA8clientId\xD9 ff40c5f6584e9858e452b26dfb72bfa0\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!ORcMjEoEeSAX_O3-K9q9bt-1fba1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAORcMjEoEeS\xB1connectionDetails\x89\xA8clientId\xD9 ff40c5f6584e9858e452b26dfb72bfa0\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!ORcMjEoEeSAX_O3-K9q9bt-1fba1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token ensures message delivery continuity whilst upgrading (#RTC8a1)" file="./spec/acceptance/realtime/auth_spec.rb" time="33.989385"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAD6OXgDz-VL\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!D6OXgDz-VLAV0pR72HgRzW-3be2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAD6OXgDz-VL\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!D6OXgDz-VLAV0pR72HgRzW-3be2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when in the CONNECTED state with a valid token in the AUTH ProtocolMessage sent obtains a new token (that upgrades from anonymous to identified) and upgrades the connection after receiving an updated CONNECTED ProtocolMessage (#RTC8a, #RTC8a3)" file="./spec/acceptance/realtime/auth_spec.rb" time="0.001716"><skipped/></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when in the CONNECTED state with a valid token in the AUTH ProtocolMessage sent obtains a new token (as anonymous user before &amp; after) and upgrades the connection after receiving an updated CONNECTED ProtocolMessage (#RTC8a, #RTC8a3)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.283845"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAsFis34OTP2\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!sFis34OTP2AZPf11d5NAS--3d97\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAsFis34OTP2\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!sFis34OTP2AZPf11d5NAS--3d97\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when the authCallback fails calls the error callback of authorize and leaves the connection intact (#RSA4c3)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.040729"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApv0BEdU-sr\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!pv0BEdU-srAYWbkM7n8dYo-3f32\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApv0BEdU-sr\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!pv0BEdU-srAYWbkM7n8dYo-3f32\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when CONNECTING aborts the current connection process, obtains a token, and connects to Ably again (#RTC8b)" file="./spec/acceptance/realtime/auth_spec.rb" time="33.817201"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJyXpn5Te83\xB1connectionDetails\x89\xA8clientId\xA3bob\xADconnectionKey\xD9*e7dTSjKlQKMEvx!JyXpn5Te83AVGjRZ0znUic-40dc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJyXpn5Te83\xB1connectionDetails\x89\xA8clientId\xA3bob\xADconnectionKey\xD9*e7dTSjKlQKMEvx!JyXpn5Te83AVGjRZ0znUic-40dc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when SUSPENDED obtains a token and connects to Ably immediately (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.154134"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAAr9xaOctf2\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!Ar9xaOctf2AafzwCisskWP-173b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAAr9xaOctf2\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!Ar9xaOctf2AafzwCisskWP-173b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when client is identified transitions the connection state to FAILED if the client_id changes (#RSA15c, #RTC8a2)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.998876"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJei6xxMpId\xB1connectionDetails\x89\xA8clientId\xA4mike\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Jei6xxMpIdAW_vEgeO7CY_-43b3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJei6xxMpId\xB1connectionDetails\x89\xA8clientId\xA4mike\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Jei6xxMpIdAW_vEgeO7CY_-43b3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when downgrading capabilities (#RTC8a1) is allowed and channels are detached" file="./spec/acceptance/realtime/auth_spec.rb" time="35.907698"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuG954lHm8j\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!uG954lHm8jAd-ATKuz3dwp-450f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuG954lHm8j\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!uG954lHm8jAd-ATKuz3dwp-450f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when upgrading capabilities is allowed (#RTC8a1)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.945935"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABxZl92LAwm\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!BxZl92LAwmATd89FOKxZzO-1bab\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABxZl92LAwm\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!BxZl92LAwmATd89FOKxZzO-1bab\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when auth fails transitions the connection state to the FAILED state (#RSA15c, #RTC8a2, #RTC8a3)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.036727"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAhBOXHyg6DI\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!hBOXHyg6DIAZF1Gl8RWUYS-1ce8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAhBOXHyg6DI\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!hBOXHyg6DIAZF1Gl8RWUYS-1ce8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when INITIALIZED obtains a token and connects to Ably (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.254723"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWYjuNTIA-x\xB1connectionDetails\x89\xA8clientId\xA3bob\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!WYjuNTIA-xAYVkexsJyjp3-20a5e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWYjuNTIA-x\xB1connectionDetails\x89\xA8clientId\xA3bob\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!WYjuNTIA-xAYVkexsJyjp3-20a5e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when DISCONNECTED obtains a similar anonymous token and connects to Ably immediately (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.358909"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAw_J_Zg4aME\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!w_J_Zg4aMEAe96JIbCo5eu-20b94\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAw_J_Zg4aME\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!w_J_Zg4aMEAe96JIbCo5eu-20b94\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when DISCONNECTED obtains a token, upgrades from anonymous to identified, and connects to Ably immediately (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="0.002819"><skipped/></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when FAILED obtains a token and connects to Ably (#RTC8c, #RTC8b1)" file="./spec/acceptance/realtime/auth_spec.rb" time="34.012660"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9&lt;unable to handle request; no application id found in request\xA4href\xD9 https://help.ably.io/error/40101\xA4code\xCE\x00\x00\x9C\xA5\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z\x1A\xD5\x8D&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9&lt;unable to handle request; no application id found in request\xA4href\xD9 https://help.ably.io/error/40101\xA4code\xCE\x00\x00\x9C\xA5\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z\x1A\xD5\x8D&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #authorize when already authenticated with a valid token when CLOSED obtains a token and connects to Ably (#RTC8c, #RTC8b1, #RTC8a3)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.150014"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABdkfcJJnRP\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!BdkfcJJnRPAQ3ikmXW_JbE-4cd7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABdkfcJJnRP\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!BdkfcJJnRPAQ3ikmXW_JbE-4cd7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol methods #request_token_async returns a token synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="35.677603"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2rbLVAZ95u\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!2rbLVAZ95uAeo5yX6XbUO2-2307\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2rbLVAZ95u\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!2rbLVAZ95uAeo5yX6XbUO2-2307\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #client_id contains the ClientOptions client ID" file="./spec/acceptance/realtime/auth_spec.rb" time="35.718351"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA3d0pTxgr_Y\xB1connectionDetails\x89\xA8clientId\xD9 9bc22edebb943c33544eaac24cee05c9\xADconnectionKey\xD9*e7dgXSyUQbNp_6!3d0pTxgr_YAaUgQWelOQvH-2447\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA3d0pTxgr_Y\xB1connectionDetails\x89\xA8clientId\xD9 9bc22edebb943c33544eaac24cee05c9\xADconnectionKey\xD9*e7dgXSyUQbNp_6!3d0pTxgr_YAaUgQWelOQvH-2447\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #using_basic_auth? is false when using Token Auth" file="./spec/acceptance/realtime/auth_spec.rb" time="34.270465"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9qJdrtwiiW\xB1connectionDetails\x89\xA8clientId\xD9 5c8455f7ec7ccd2c6f1de3036172fb45\xADconnectionKey\xD9*e7dgXSyUQbNp_6!9qJdrtwiiWAcqCoySr0_G8-25ac\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9qJdrtwiiW\xB1connectionDetails\x89\xA8clientId\xD9 5c8455f7ec7ccd2c6f1de3036172fb45\xADconnectionKey\xD9*e7dgXSyUQbNp_6!9qJdrtwiiWAcqCoySr0_G8-25ac\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #using_token_auth? is true when using Token Auth" file="./spec/acceptance/realtime/auth_spec.rb" time="34.977235"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAvsDMYNQ1oc\xB1connectionDetails\x89\xA8clientId\xD9 59d4810501d743e2855fb77268ad2552\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!vsDMYNQ1ocAarC-WuynYOf-2135c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAvsDMYNQ1oc\xB1connectionDetails\x89\xA8clientId\xD9 59d4810501d743e2855fb77268ad2552\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!vsDMYNQ1ocAarC-WuynYOf-2135c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #options (auth_options) contains the configured auth options" file="./spec/acceptance/realtime/auth_spec.rb" time="36.728043"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAz3nDVbq2Wa\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!z3nDVbq2WaAbxSn_dsH3Hb-214d0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAz3nDVbq2Wa\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!z3nDVbq2WaAbxSn_dsH3Hb-214d0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #token_renewable? is true when an API key exists" file="./spec/acceptance/realtime/auth_spec.rb" time="34.837420"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjBbne_xzuF\xB1connectionDetails\x89\xA8clientId\xD9 dcb36352b41630e1a61c698420936ea9\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!jBbne_xzuFAbrjnsiWSbNz-21625\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjBbne_xzuF\xB1connectionDetails\x89\xA8clientId\xD9 dcb36352b41630e1a61c698420936ea9\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!jBbne_xzuFAbrjnsiWSbNz-21625\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #current_token_details contains the current token after auth" file="./spec/acceptance/realtime/auth_spec.rb" time="35.156932"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYSGcRw0_s_\xB1connectionDetails\x89\xA8clientId\xD9 968138cb2c679a309a83ffc68f47a99c\xADconnectionKey\xD9*e7dgXSyUQbNp_6!YSGcRw0_s_Aff1ucms-CsA-2b01\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYSGcRw0_s_\xB1connectionDetails\x89\xA8clientId\xD9 968138cb2c679a309a83ffc68f47a99c\xADconnectionKey\xD9*e7dgXSyUQbNp_6!YSGcRw0_s_Aff1ucms-CsA-2b01\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol with token auth #token_params contains the configured auth options" file="./spec/acceptance/realtime/auth_spec.rb" time="44.525056"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAOYosugimPB\xB1connectionDetails\x89\xA8clientId\xD9 ed81f26a772af5259a24b1af3af40f20\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!OYosugimPBARQY4oxYcMJk-2195a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAOYosugimPB\xB1connectionDetails\x89\xA8clientId\xD9 ed81f26a772af5259a24b1af3af40f20\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!OYosugimPBARQY4oxYcMJk-2195a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #auth_params_sync returns the auth params synchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="34.027840"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKopVP3781l\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!KopVP3781lAW_EtnoiJppO-2de7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKopVP3781l\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!KopVP3781lAW_EtnoiJppO-2de7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol deprecated #authorise logs a deprecation warning (#RSA10l)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.937209"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWjpIjuW6f2\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!WjpIjuW6f2ARS5ESKTIs3b-5a17\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWjpIjuW6f2\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTSjKlQKMEvx!WjpIjuW6f2ARS5ESKTIs3b-5a17\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol deprecated #authorise returns a valid token (#RSA10l)" file="./spec/acceptance/realtime/auth_spec.rb" time="35.495843"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjaa2hCgoBe\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!jaa2hCgoBeAQbJyzxm_8Pd-21cdb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjaa2hCgoBe\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!jaa2hCgoBeAQbJyzxm_8Pd-21cdb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.auth_spec" name="Ably::Realtime::Auth using MsgPack protocol #auth_params returns the auth params asynchronously" file="./spec/acceptance/realtime/auth_spec.rb" time="35.517874"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZMqWIpTxEw\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!ZMqWIpTxEwAaLUOa5B69_P-21de6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZMqWIpTxEw\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!ZMqWIpTxEwAaLUOa5B69_P-21de6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.time_spec" name="Ably::Realtime::Client#time using MsgPack protocol fetching the service time returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/time_spec.rb" time="36.053352"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAdoFbqSg6MJ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!doFbqSg6MJARzU_LlunjX9-5cfd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAdoFbqSg6MJ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!doFbqSg6MJARzU_LlunjX9-5cfd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.time_spec" name="Ably::Realtime::Client#time using MsgPack protocol fetching the service time should return the service time as a Time object" file="./spec/acceptance/realtime/time_spec.rb" time="35.674807"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuS8PHmWmRl\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!uS8PHmWmRlAYDE9WharIzP-3303\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuS8PHmWmRl\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!uS8PHmWmRlAYDE9WharIzP-3303\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.time_spec" name="Ably::Realtime::Client#time using MsgPack protocol fetching the service time with reconfigured HTTP timeout should raise a timeout exception" file="./spec/acceptance/realtime/time_spec.rb" time="35.916851"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFZ-B7FtDpi\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!FZ-B7FtDpiAdk4oRWTiXAb-5f0a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFZ-B7FtDpi\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!FZ-B7FtDpiAdk4oRWTiXAb-5f0a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a frozen payload succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.157837"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a Message object publishes the message" file="./spec/acceptance/rest/channel_spec.rb" time="0.102762"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with name and data arguments publishes the message and return true indicating success" file="./spec/acceptance/rest/channel_spec.rb" time="0.156057"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with name and data arguments and additional attributes publishes the message with the attributes and return true indicating success" file="./spec/acceptance/rest/channel_spec.rb" time="0.116114"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a Token string with an implicit client_id without having a confirmed identity with an invalid client_id in the message succeeds in the client library but then fails when published to Ably" file="./spec/acceptance/rest/channel_spec.rb" time="0.039883"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a Token string with an implicit client_id without having a confirmed identity with a valid client_id in the message succeeds" file="./spec/acceptance/rest/channel_spec.rb" time="0.170590"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a Token string with an implicit client_id without having a confirmed identity with an empty client_id in the message succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.139349"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a wildcard client_id with a valid client_id in the message succeeds" file="./spec/acceptance/rest/channel_spec.rb" time="0.118342"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a wildcard client_id with an empty client_id in the message succeeds and publishes without a client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.119344"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with a wildcard client_id with a wildcard client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.030467"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with TokenDetails with a valid client_id with a wildcard client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.028288"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with TokenDetails with a valid client_id with an empty client_id in the message succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.132572"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with TokenDetails with a valid client_id with a valid client_id in the message succeeds" file="./spec/acceptance/rest/channel_spec.rb" time="0.128700"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when authenticated with TokenDetails with a valid client_id with an invalid client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.016246"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when anonymous and no client_id with a wildcard client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.015400"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when anonymous and no client_id with an empty client_id in the message succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.112434"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish identified clients when anonymous and no client_id with a client_id in the message throws an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.018576"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a frozen message event name succeeds and publishes with an implicit client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.097781"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a Message object and query params should fail to publish the message (RSL1l1)" file="./spec/acceptance/rest/channel_spec.rb" time="0.014411"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish message size is exceeded (#TO3l8) should raise Ably::Exceptions::MaxMessageSizeExceeded exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.001117"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with Messages and query params should fail to publish the message (RSL1l1)" file="./spec/acceptance/rest/channel_spec.rb" time="0.022349"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Message objects when max_message_size and max_frame_size is not set and messages size (130 bytes) is smaller than the max_message_size publishes an array of messages in one HTTP request" file="./spec/acceptance/rest/channel_spec.rb" time="0.149640"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Message objects when max_message_size and max_frame_size is not set and messages size (177784 bytes) is bigger than the max_message_size should not publish and raise Ably::Exceptions::MaxMessageSizeExceeded" file="./spec/acceptance/rest/channel_spec.rb" time="2.520505"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Message objects when max_message_size is 655 bytes and messages size (130 bytes) is smaller than the max_message_size publishes an array of messages in one HTTP request" file="./spec/acceptance/rest/channel_spec.rb" time="0.141977"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Message objects when max_message_size is 655 bytes and messages size (177784 bytes) is bigger than the max_message_size should not publish and raise Ably::Exceptions::MaxMessageSizeExceeded" file="./spec/acceptance/rest/channel_spec.rb" time="2.542008"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a non ASCII channel name stubbed correctly encodes the channel name" file="./spec/acceptance/rest/channel_spec.rb" time="0.004936"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish without adequate permissions on the channel raises a permission error when publishing" file="./spec/acceptance/rest/channel_spec.rb" time="0.042003"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with an array of Hash objects with :name and :data attributes publishes an array of messages in one HTTP request" file="./spec/acceptance/rest/channel_spec.rb" time="0.136506"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a client_id configured in the ClientOptions expects a client_id to be added by the realtime service" file="./spec/acceptance/rest/channel_spec.rb" time="0.100146"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish with a client_id configured in the ClientOptions publishes the message without a client_id" file="./spec/acceptance/rest/channel_spec.rb" time="0.001744"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish null attributes with neither name or data attributes publishes the message without any attributes in the payload" file="./spec/acceptance/rest/channel_spec.rb" time="0.127912"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish null attributes when name is null publishes the message without a name attribute in the payload" file="./spec/acceptance/rest/channel_spec.rb" time="0.131095"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #publish null attributes when data is null publishes the message without a data attribute in the payload" file="./spec/acceptance/rest/channel_spec.rb" time="0.120956"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #presence returns a REST Presence object" file="./spec/acceptance/rest/channel_spec.rb" time="0.001138"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #status should return channel details status (#RSL8, #RSL8a)" file="./spec/acceptance/rest/channel_spec.rb" time="0.099962"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history returns the current message history for the channel" file="./spec/acceptance/rest/channel_spec.rb" time="0.118917"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history returns paged history using the PaginatedResult model" file="./spec/acceptance/rest/channel_spec.rb" time="0.146444"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history returns a PaginatedResult model" file="./spec/acceptance/rest/channel_spec.rb" time="0.113761"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history message timestamps are after the messages were published" file="./spec/acceptance/rest/channel_spec.rb" time="0.111563"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history message IDs is unique" file="./spec/acceptance/rest/channel_spec.rb" time="0.112975"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history limit defaults to 100" file="./spec/acceptance/rest/channel_spec.rb" time="0.207242"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history direction returns paged history backwards by default" file="./spec/acceptance/rest/channel_spec.rb" time="0.114720"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history direction returns history forward if specified in the options" file="./spec/acceptance/rest/channel_spec.rb" time="0.112221"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option :end with a Time object value converts the value to milliseconds since epoch in the hisotry request" file="./spec/acceptance/rest/channel_spec.rb" time="0.005193"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option :end with milliseconds since epoch value uses this value in the history request" file="./spec/acceptance/rest/channel_spec.rb" time="0.004102"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option when argument start is after end should raise an exception" file="./spec/acceptance/rest/channel_spec.rb" time="0.000735"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option :start with milliseconds since epoch value uses this value in the history request" file="./spec/acceptance/rest/channel_spec.rb" time="0.004215"></testcase>
<testcase classname="spec.acceptance.rest.channel_spec" name="Ably::Rest::Channel using MsgPack protocol #history option :start with a Time object value converts the value to milliseconds since epoch in the hisotry request" file="./spec/acceptance/rest/channel_spec.rb" time="0.004019"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_callback opening a new connection existing CONNECTED connection when callback fails due to the request taking longer than realtime_request_timeout the authorization request fails as configured in the realtime_request_timeout (#RSA4c, #RSA4c1, #RSA4c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.296446"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAC7XajdAAMD\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!C7XajdAAMDATYsD9SGQRZA-2220e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAC7XajdAAMD\xB1connectionDetails\x88\xADconnectionKey\xD9+e7dZ86kJwDZ2YJ!C7XajdAAMDATYsD9SGQRZA-2220e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.5537.us-east-1-A.i-0ea096a23dbd480e6.e7dZ86kJwDZ2YJ\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_callback opening a new connection when callback fails due to an exception the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="2.169001"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure when API key is invalid with invalid key name part of the key enters the failed state and returns an authorization error" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="36.162425"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x83\xA7message\xD9%No key found with id invalid_key_name\xA4code\xCE\x00\x00\x9D\xD0\xAAstatusCode\xCE\x00\x00\x01\x94\xA9timestamp\xCF\x00\x00\x01\x97Z$\xDFX&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x83\xA7message\xD9%No key found with id invalid_key_name\xA4code\xCE\x00\x00\x9D\xD0\xAAstatusCode\xCE\x00\x00\x01\x94\xA9timestamp\xCF\x00\x00\x01\x97Z$\xDFX&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure when API key is invalid with invalid app part of the key enters the failed state and returns a not found error" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="36.091849"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9&lt;unable to handle request; no application id found in request\xA4href\xD9 https://help.ably.io/error/40101\xA4code\xCE\x00\x00\x9C\xA5\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z%j\xE1&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9&lt;unable to handle request; no application id found in request\xA4href\xD9 https://help.ably.io/error/40101\xA4code\xCE\x00\x00\x9C\xA5\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97Z%j\xE1&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url existing CONNECTED connection authorize request failure leaves connection in existing condition the connection remains in the CONNECTED state and authorize fails (#RSA4c, #RSA4c1, #RSA4c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="36.234700"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAw_dlpCruL3\xB1connectionDetails\x88\xADconnectionKey\xD9)e7dI4G6RQmal47!w_dlpCruL3Afuw02uR4gwP-99c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAw_dlpCruL3\xB1connectionDetails\x88\xADconnectionKey\xD9)e7dI4G6RQmal47!w_dlpCruL3Afuw02uR4gwP-99c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url opening a new connection request fails once due to slow response but succeeds the second time the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="65.008397"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAIUrmUUhO-C\xB1connectionDetails\x88\xADconnectionKey\xD9*e027_LA5w-dA5c!IUrmUUhO-CAZT4D1yZ0Wa1-58f4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.bfe9.eu-west-2-A.i-0ec5824f8f57dc957.e027_LA5w-dA5c\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAIUrmUUhO-C\xB1connectionDetails\x88\xADconnectionKey\xD9*e027_LA5w-dA5c!IUrmUUhO-CAZT4D1yZ0Wa1-58f4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.bfe9.eu-west-2-A.i-0ec5824f8f57dc957.e027_LA5w-dA5c\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url opening a new connection request fails due to network failure the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="2.358983"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url opening a new connection request fails due to invalid content the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="2.164123"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol authentication failure with auth_url opening a new connection request fails due to slow response and subsequent timeout the connection moves to the disconnected state and tries again, returning again to the disconnected state (#RSA4c, #RSA4c1, #RSA4c2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="21.665643"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume whilst resuming with a token error code in the region 40140 &lt;= code &lt; 40150 (RTN15c5) triggers a re-authentication and then resumes the connection" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="50.756259"><failure message="execution expired" type="Timeout::Error">Failure/Error:
  ::EventMachine.run do
    yield
  end

Timeout::Error:
  execution expired
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming retains connection_id and updates the connection_key (#RTN15e, #RTN16d)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.439546"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA63c_bDQuzE\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!63c_bDQuzEAQL2EMCREOe--105d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA63c_bDQuzE\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!63c_bDQuzEAQL2EMCREOe--105d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming includes the error received in the connection state change from Ably but leaves the channels attached" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.528907"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxJypo4x8yG\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!xJypo4x8yGAZVWvpRhPq3w-6bc8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxJypo4x8yG\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!xJypo4x8yGAZVWvpRhPq3w-6bc8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming retains channel subscription state" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.075469"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-wsCshIa94\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!-wsCshIa94ARtusiinM3cr-420e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-wsCshIa94\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!-wsCshIa94ARtusiinM3cr-420e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming retains the client_msg_serial (#RTN15c2, #RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.559482"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACOqFGtAhEH\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!COqFGtAhEHAYrglGCsUU8X-6e7d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACOqFGtAhEH\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!COqFGtAhEHAYrglGCsUU8X-6e7d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume after successfully reconnecting and resuming when messages were published whilst the client was disconnected receives the messages published whilst offline" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.816376"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-_c8MHVT_c\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!-_c8MHVT_cAUlgF7x_9Vrx-6ff0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-_c8MHVT_c\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!-_c8MHVT_cAUlgF7x_9Vrx-6ff0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connected with a token error code in the range 40140 &lt;= code &lt; 40150 (#RTN14b) triggers a re-authentication" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.537833"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAa8dcSTkDen\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dI4G6RQmal47!a8dcSTkDenAbrwbBljbSXS-16b1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAa8dcSTkDen\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dI4G6RQmal47!a8dcSTkDenAbrwbBljbSXS-16b1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connected with an error code indicating an error other than a token failure (#RTN14g, #RTN15i) causes the connection to fail" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="36.438236"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApyO847-_iN\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!pyO847-_iNAUTXaxgKFokj-7273\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApyO847-_iN\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!pyO847-_iNAUTXaxgKFokj-7273\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connected with no error code indicating an error other than a token failure (#RTN14g, #RTN15i) causes the connection to fail" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="38.004383"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAf75nic71jH\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!f75nic71jHAf8emPvUofk0-48c1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAf75nic71jH\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!f75nic71jHAf8emPvUofk0-48c1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connecting with no error code indicating an error other than a token failure (#RTN14g, #RTN15i) causes the connection to fail" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="38.145020"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALv-xWAMbIs\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Lv-xWAMbIsAXZh3ie0euv5-753c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALv-xWAMbIs\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Lv-xWAMbIsAXZh3ie0euv5-753c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connecting with a token error code in the range 40140 &lt;= code &lt; 40150 (#RTN14b) triggers a re-authentication" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="38.142227"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHbwQeY74G5\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!HbwQeY74G5ASZUeeifIwNX-4b88\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHbwQeY74G5\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!HbwQeY74G5ASZUeeifIwNX-4b88\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when an ERROR protocol message is received whilst connecting with an error code indicating an error other than a token failure (#RTN14g, #RTN15i) causes the connection to fail" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="38.947171"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAUIn9KGJgVR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!UIn9KGJgVRAXfqRINJjkwn-4ccb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAUIn9KGJgVR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!UIn9KGJgVRAXfqRINJjkwn-4ccb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server reconnects automatically and immediately (#RTN15a)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="37.204402"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAeUtCjRcGFh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!eUtCjRcGFhAabnfccBv8Tz-798a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAeUtCjRcGFh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!eUtCjRcGFhAabnfccBv8Tz-798a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server when protocolMessage contains token error library have a means to renew the token (#RTN15h2) attempts to reconnect" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="36.584443"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA10SciY6SFf\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!10SciY6SFfATa0rofaBF8W-7af6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA10SciY6SFf\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!10SciY6SFfATa0rofaBF8W-7af6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server when protocolMessage contains token error library does not have a means to renew the token (#RTN15h1) moves connection state to failed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="36.574909"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA1sdjpcHC8F\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!1sdjpcHC8FAVZXxAUHny-3-517b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA1sdjpcHC8F\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!1sdjpcHC8FAVZXxAUHny-3-517b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server and subsequently fails to reconnect retries every 15 seconds" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.861562"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkzcaXW0Yxc\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!kzcaXW0YxcAWIr3l4AR3BQ-7dfa\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkzcaXW0Yxc\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!kzcaXW0YxcAWIr3l4AR3BQ-7dfa\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored resumes connections when disconnected within the connection_state_ttl period (#RTN15g)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.540494"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-E-wUfTH4v\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!-E-wUfTH4vAQOUbZro7AT_-2567\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-E-wUfTH4v\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!-E-wUfTH4vAQOUbZro7AT_-2567\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored when connection_state_ttl period has passed since being disconnected clears the local connection state and uses a new connection when the connection_state_ttl period has passed (#RTN15g)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.001072"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFuJMcyNclP\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!FuJMcyNclPAcNy7BvfR5fO-8114\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFuJMcyNclP\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!FuJMcyNclPAcNy7BvfR5fO-8114\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored when connection_state_ttl period has passed since last activity on the connection still reattaches the channels automatically following a new connection being established (#RTN15g2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="33.680280"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtfcL3oLQG-\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!tfcL3oLQG-AQcg49OmzvLk-570a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtfcL3oLQG-\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!tfcL3oLQG-AQcg49OmzvLk-570a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored when connection_state_ttl period has passed since last activity on the connection clears the local connection state and uses a new connection when the connection_state_ttl + max_idle_interval period has passed since last activity (#RTN15g1, #RTN15g2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.938798"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAINYSY7CCQ-\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!INYSY7CCQ-AUNGKT7vPVx0-587d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAINYSY7CCQ-\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!INYSY7CCQ-AUNGKT7vPVx0-587d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when DISCONNECTED ProtocolMessage received from the server connection state freshness is monitored when connection_state_ttl period has passed since last activity on the connection does not clear the local connection state when the connection_state_ttl period has passed since last activity, but the idle timeout has not passed (#RTN15g1, #RTN15g2)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.257596"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuz0zp21u5c\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!uz0zp21u5cAf3d-7ojb2na-59f5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuz0zp21u5c\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!uz0zp21u5cAf3d-7ojb2na-59f5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume as the DISCONNECTED window to resume has passed starts a new connection automatically and does not try and resume" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.888792"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWOTHs9-caR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!WOTHs9-caRAUW-jm2kmGzH-5b4e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWOTHs9-caR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!WOTHs9-caRAUW-jm2kmGzH-5b4e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid continues to use the client_msg_serial (#RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.915756"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAfFqQ78xMQb\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!fFqQ78xMQbAZM5ddsGZa8y-5c6a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAfFqQ78xMQb\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!fFqQ78xMQbAZM5ddsGZa8y-5c6a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid issue a attach for all suspended channels (#RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="36.100348"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkJQJIFpsHL\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!kJQJIFpsHLAS4cXSlny91N-88db\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkJQJIFpsHL\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!kJQJIFpsHLAS4cXSlny91N-88db\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid issue a reattach for all attached channels and fail all message awaiting an ACK (#RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.793030"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8hXkfkYMXR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!8hXkfkYMXRAeewWspswJ_K-2fc1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8hXkfkYMXR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!8hXkfkYMXRAeewWspswJ_K-2fc1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid updates the connection_id and connection_key" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.808915"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAArS8I_NI4ZB\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!rS8I_NI4ZBAfu65Vod2l-7-8b5b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAArS8I_NI4ZB\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!rS8I_NI4ZBAfu65Vod2l-7-8b5b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid sets the error reason on each channel" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.201977"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQE45PzC7sh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!QE45PzC7shAQP5-Kyf_F37-325b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQE45PzC7sh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!QE45PzC7shAQP5-Kyf_F37-325b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when failing to resume because the connection_key is not or no longer valid issue a reattach for all attaching channels and fail all queued messages (#RTN15c3)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.300820"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAphjXvFk2KN\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!phjXvFk2KNAUrcW6qkwWCr-62b8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAphjXvFk2KN\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!phjXvFk2KNAUrcW6qkwWCr-62b8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume with any other error (#RTN15c4) moves the connection to the failed state" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="35.888153"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAADeOGBWeVRb\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!DeOGBWeVRbAc9kx2fPyhBR-8ec8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAADeOGBWeVRb\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!DeOGBWeVRbAc9kx2fPyhBR-8ec8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when websocket transport is abruptly disconnected reconnects automatically" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.912098"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHdy-qIQLvV\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!Hdy-qIQLvVATr7Kkoao2Lf-6564\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHdy-qIQLvV\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!Hdy-qIQLvVATr7Kkoao2Lf-6564\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol connection resume when websocket transport is abruptly disconnected hosts used reconnects with the default host" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.571206"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxcnI9qzeK5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!xcnI9qzeK5ARrKUu6GIhsP-374d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxcnI9qzeK5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!xcnI9qzeK5ARrKUu6GIhsP-374d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with non-production environment :fallback_hosts_use_default is unset uses fallback hosts by default" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="8.399955"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with non-production environment :fallback_hosts_use_default is true uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k7)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="4.176570"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with non-production environment :fallback_hosts_use_default is true does not use a fallback host if the connection connects on the default host and then later becomes disconnected" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.366042"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGMa0fN3bX0\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!GMa0fN3bX0AWx7WnYAZt9C-38de\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGMa0fN3bX0\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!GMa0fN3bX0AWx7WnYAZt9C-38de\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with non-production environment :fallback_hosts array is provided uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="4.302828"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up :fallback_hosts array is provided by an empty array uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="3.216678"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up :fallback_hosts array is provided uses a fallback host on every subsequent disconnected attempt until suspended (#RTN17b, #TO3k6)" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="3.233598"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up and default options uses the correct host name for the WebSocket requests to the fallback hosts" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="3.011974"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up and default options uses a fallback host + the original host once on every subsequent disconnected attempt until suspended" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="2.187153"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is up and default options uses the primary host when suspended, and then every fallback host and the primary host again on every subsequent suspended attempt" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="3.006176"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with production environment when the Internet is down never uses a fallback host" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.967314"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with custom realtime websocket port option never uses a fallback host" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.965870"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol fallback host feature with custom realtime websocket host option never uses a fallback host" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.965647"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry #connect connection opening times out attempts to reconnect" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="36.128807"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAb6OGXrAMjc\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!b6OGXrAMjcAWoOwxz9Qvrq-3afd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAb6OGXrAMjc\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!b6OGXrAMjcAWoOwxz9Qvrq-3afd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry #connect connection opening times out when retry intervals are stubbed to attempt reconnection quickly never calls the provided success block" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.562773"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason contains the error when state is failed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.819631"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason contains the error when state is disconnected" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.017201"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason contains the error when state is suspended" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.800095"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason is reset to nil when :connected" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.274717"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGV4n1HOYG0\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!GV4n1HOYG0ASXVnvg96FeY-9644\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGV4n1HOYG0\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!GV4n1HOYG0ASXVnvg96FeY-9644\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host #error_reason is reset to nil when :closed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.168839"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when connection state is :suspended stays in the suspended state after any number of reconnection attempts" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="3.851674"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when connection state is :suspended #close transitions connection state to :closed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.780535"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when connection state is :suspended for the first time waits suspended_retry_timeout before attempting to reconnect" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="34.995574"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPgl_3ua8uG\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!Pgl_3ua8uGAZ2-bsicWvwr-3d9c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPgl_3ua8uG\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!Pgl_3ua8uGAZ2-bsicWvwr-3d9c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when disconnected enters the suspended state after multiple attempts to connect" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.805138"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when disconnected for the first time reattempts connection immediately and then waits disconnected_retry_timeout for a subsequent attempt" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="2.176548"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when disconnected #close transitions connection state to :closed" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.160335"></testcase>
<testcase classname="spec.acceptance.realtime.connection_failures_spec" name="Ably::Realtime::Connection failures using MsgPack protocol automatic connection retry with invalid WebSocket host when connection state is :failed #close will not transition state to :close and fails with an InvalidStateChange exception" file="./spec/acceptance/realtime/connection_failures_spec.rb" time="0.784127"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #auth provides access to the Realtime::Auth object" file="./spec/acceptance/realtime/client_spec.rb" time="35.029270"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAASbfQzcnmQJ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!SbfQzcnmQJAQKgxvbeDb2N-6e3b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAASbfQzcnmQJ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!SbfQzcnmQJAQKgxvbeDb2N-6e3b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) get returns an HttpPaginatedResponse object" file="./spec/acceptance/realtime/client_spec.rb" time="36.956398"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzYgkwsnrpv\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!zYgkwsnrpvAV7kKXVayVbo-9a45\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzYgkwsnrpv\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!zYgkwsnrpvAV7kKXVayVbo-9a45\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) get paged results provides paging" file="./spec/acceptance/realtime/client_spec.rb" time="39.219906"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALvIK1z7F9O\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!LvIK1z7F9OAWZfN0HnsmZi-9b86\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALvIK1z7F9O\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!LvIK1z7F9OAWZfN0HnsmZi-9b86\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) get 404 request to invalid URL returns an object with 404 status code and error message" file="./spec/acceptance/realtime/client_spec.rb" time="37.168962"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARhqo3A0nbZ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Rhqo3A0nbZAdt_KyckFHI5-9cd7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARhqo3A0nbZ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Rhqo3A0nbZAdt_KyckFHI5-9cd7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) delete supports delete" file="./spec/acceptance/realtime/client_spec.rb" time="0.166449"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) post supports post" file="./spec/acceptance/realtime/client_spec.rb" time="0.159095"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) patch supports patch" file="./spec/acceptance/realtime/client_spec.rb" time="0.160227"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #request (#RSC19*) put supports put" file="./spec/acceptance/realtime/client_spec.rb" time="0.158472"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing does not result in a channel being created" file="./spec/acceptance/realtime/client_spec.rb" time="37.784147"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAIDb_VOMllJ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!IDb_VOMllJASDi9kVfl1nA-737f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAIDb_VOMllJ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!IDb_VOMllJASDi9kVfl1nA-737f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing a message implicity connects and publishes the message successfully on the provided channel" file="./spec/acceptance/realtime/client_spec.rb" time="36.580594"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAANEvY-iNCfi\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9(e7dTlO6Dw9GHY1!NEvY-iNCfiAZvTEgTj_Uo_-d1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAANEvY-iNCfi\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9(e7dTlO6Dw9GHY1!NEvY-iNCfiAZvTEgTj_Uo_-d1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing on a closed connection fails" file="./spec/acceptance/realtime/client_spec.rb" time="35.105855"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAlr-mn0L6Hd\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!lr-mn0L6HdAS_tbVvjL4JQ-7523\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAlr-mn0L6Hd\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!lr-mn0L6HdAS_tbVvjL4JQ-7523\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing supports an array of Hash objects" file="./spec/acceptance/realtime/client_spec.rb" time="35.322053"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA90RP0zLP0_\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!90RP0zLP0_AXkXEbTKgQVJ-4618\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA90RP0zLP0_\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!90RP0zLP0_AXkXEbTKgQVJ-4618\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) publishing supports an array of Message objects" file="./spec/acceptance/realtime/client_spec.rb" time="35.477493"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAm93Wo90AH4\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!m93Wo90AH4AWm5Z0dNR5R9-4693\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAm93Wo90AH4\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!m93Wo90AH4AWm5Z0dNR5R9-4693\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) queue_messages ClientOption when true will queue messages whilst connecting and publish once connected" file="./spec/acceptance/realtime/client_spec.rb" time="35.037469"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALilht08tbc\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Lilht08tbcAZjYpQo7ep4X-a12d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALilht08tbc\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!Lilht08tbcAZjYpQo7ep4X-a12d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) queue_messages ClientOption when false will reject messages on an initializing connection" file="./spec/acceptance/realtime/client_spec.rb" time="34.338777"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAnP59jpR1oB\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!nP59jpR1oBASaTwn4yw30L-771b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAnP59jpR1oB\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!nP59jpR1oBASaTwn4yw30L-771b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) with more than allowed messages in a single publish rejects the publish" file="./spec/acceptance/realtime/client_spec.rb" time="24.939221"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #publish (#TBC) with extras publishing supports extras" file="./spec/acceptance/realtime/client_spec.rb" time="43.824356"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA792eYUBPTW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!792eYUBPTWAYQT22kJN5Fn-a2cf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA792eYUBPTW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTSjKlQKMEvx!792eYUBPTWAYQT22kJN5Fn-a2cf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.63c0.us-east-1-A.i-05cacebc956c4df30.e7dTSjKlQKMEvx\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with TLS enabled with valid :key and :use_token_auth option set to true automatically authorizes on connect and generates a token" file="./spec/acceptance/realtime/client_spec.rb" time="36.248130"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAIEmTEL1PCJ\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!IEmTEL1PCJAXu0pjfDvr5--79d9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAIEmTEL1PCJ\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dgXSyUQbNp_6!IEmTEL1PCJAXu0pjfDvr5--79d9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with TLS enabled and a pre-generated Token provided with the :token option connects using token auth" file="./spec/acceptance/realtime/client_spec.rb" time="34.652291"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMX9Rm0SJvC\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dTlO6Dw9GHY1!MX9Rm0SJvCATGMWRiKx2oq-70f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMX9Rm0SJvC\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dTlO6Dw9GHY1!MX9Rm0SJvCATGMWRiKx2oq-70f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/realtime/client_spec.rb" time="34.563388"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAn3dnWAKbfm\xB1connectionDetails\x89\xA8clientId\xD9 7495ca75af356f3097b17528d12c3d2f\xADconnectionKey\xD9*e7dI4G6RQmal47!n3dnWAKbfmAaDw_S4ggtKo-4c8d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAn3dnWAKbfm\xB1connectionDetails\x89\xA8clientId\xD9 7495ca75af356f3097b17528d12c3d2f\xADconnectionKey\xD9*e7dI4G6RQmal47!n3dnWAKbfmAaDw_S4ggtKo-4c8d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option calls the Proc" file="./spec/acceptance/realtime/client_spec.rb" time="34.117379"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8kYmNZkmJ7\xB1connectionDetails\x89\xA8clientId\xD9 44ef7f76635e64e982323d7db170136e\xADconnectionKey\xD9*e7dI4G6RQmal47!8kYmNZkmJ7AVLWc8fhtmwp-4db2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8kYmNZkmJ7\xB1connectionDetails\x89\xA8clientId\xD9 44ef7f76635e64e982323d7db170136e\xADconnectionKey\xD9*e7dI4G6RQmal47!8kYmNZkmJ7AVLWc8fhtmwp-4db2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option with a wildcard client_id token  and an explicit client_id in ClientOptions allows uses the explicit client_id in the connection" file="./spec/acceptance/realtime/client_spec.rb" time="33.362813"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARt3kxG4G6w\xB1connectionDetails\x89\xA8clientId\xD9 eaeffbd445cafbf10f7be1854b3bf8ca\xADconnectionKey\xD9*e7dI4G6RQmal47!Rt3kxG4G6wAVcldX0wv4UN-4ef7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARt3kxG4G6w\xB1connectionDetails\x89\xA8clientId\xD9 eaeffbd445cafbf10f7be1854b3bf8ca\xADconnectionKey\xD9*e7dI4G6RQmal47!Rt3kxG4G6wAVcldX0wv4UN-4ef7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option with a wildcard client_id token  and client_id omitted in ClientOptions uses the token provided clientId in the connection" file="./spec/acceptance/realtime/client_spec.rb" time="34.714933"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_0LvsPtWYL\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dTlO6Dw9GHY1!_0LvsPtWYLAZaln5NrTiM_-bd3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_0LvsPtWYL\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dTlO6Dw9GHY1!_0LvsPtWYLAZaln5NrTiM_-bd3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option when the returned token has a client_id sets Client#client_id to the new token&apos;s client_id immediately when connecting" file="./spec/acceptance/realtime/client_spec.rb" time="34.336582"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAevpOxaa6g1\xB1connectionDetails\x89\xA8clientId\xD9 c25a41ced7c7b9a271f193fe1952adf7\xADconnectionKey\xD9*e7dgXSyUQbNp_6!evpOxaa6g1AZCUnlqA4W8W-8135\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAevpOxaa6g1\xB1connectionDetails\x89\xA8clientId\xD9 c25a41ced7c7b9a271f193fe1952adf7\xADconnectionKey\xD9*e7dgXSyUQbNp_6!evpOxaa6g1AZCUnlqA4W8W-8135\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with a Proc for the :auth_callback option when the returned token has a client_id sets Auth#client_id to the new token&apos;s client_id immediately when connecting" file="./spec/acceptance/realtime/client_spec.rb" time="35.426173"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARrZEfwHUIm\xB1connectionDetails\x89\xA8clientId\xD9 fae02dc3acf98021a413a3839dd5e319\xADconnectionKey\xD9*e7dI4G6RQmal47!RrZEfwHUImAelhKveFrBMB-52f6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARrZEfwHUIm\xB1connectionDetails\x89\xA8clientId\xD9 fae02dc3acf98021a413a3839dd5e319\xADconnectionKey\xD9*e7dI4G6RQmal47!RrZEfwHUImAelhKveFrBMB-52f6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with TLS disabled with valid :key and :use_token_auth option set to true automatically authorizes on connect and generates a token" file="./spec/acceptance/realtime/client_spec.rb" time="35.715209"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_x_sNzqEKz\xB1connectionDetails\x88\xADconnectionKey\xD9)e7dTlO6Dw9GHY1!_x_sNzqEKzAUO8U3Cp4Aql-f86\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_x_sNzqEKz\xB1connectionDetails\x88\xADconnectionKey\xD9)e7dTlO6Dw9GHY1!_x_sNzqEKzAUO8U3Cp4Aql-f86\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with TLS disabled and a pre-generated Token provided with the :token option connects using token auth" file="./spec/acceptance/realtime/client_spec.rb" time="35.357005"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYxzQBPHmh7\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!YxzQBPHmh7AXAPZbNAs65e-5584\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYxzQBPHmh7\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!YxzQBPHmh7AXAPZbNAs65e-5584\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization token auth with an invalid wildcard &quot;*&quot; :client_id raises an exception" file="./spec/acceptance/realtime/client_spec.rb" time="0.001790"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization basic auth is enabled by default with a provided :key option" file="./spec/acceptance/realtime/client_spec.rb" time="34.445029"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAEXp1z8t8xl\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!EXp1z8t8xlARsCifAq90JY-11f2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAEXp1z8t8xl\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!EXp1z8t8xlARsCifAq90JY-11f2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization basic auth with an invalid API key logs an entry with a help href url matching the code #TI5" file="./spec/acceptance/realtime/client_spec.rb" time="34.559753"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9&lt;unable to handle request; no application id found in request\xA4href\xD9 https://help.ably.io/error/40101\xA4code\xCE\x00\x00\x9C\xA5\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97ZH\xDA\xFC&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\t\xA5error\x84\xA7message\xD9&lt;unable to handle request; no application id found in request\xA4href\xD9 https://help.ably.io/error/40101\xA4code\xCE\x00\x00\x9C\xA5\xAAstatusCode\xCE\x00\x00\x01\x91\xA9timestamp\xCF\x00\x00\x01\x97ZH\xDA\xFC&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization basic auth :tls option set to false to force a plain-text connection fails to connect because a private key cannot be sent over a non-secure connection" file="./spec/acceptance/realtime/client_spec.rb" time="0.153623"></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization realtime connection settings defaults suspended_retry_timeout is 30s" file="./spec/acceptance/realtime/client_spec.rb" time="35.147741"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAA6FQKXfqoj\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!A6FQKXfqojAQ9fGxzLfmMG-88c8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAA6FQKXfqoj\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!A6FQKXfqojAQ9fGxzLfmMG-88c8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization realtime connection settings defaults disconnected_retry_timeout is 15s" file="./spec/acceptance/realtime/client_spec.rb" time="34.655265"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAY4otcn24z3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!Y4otcn24z3AaBGj4xZoV3R-8a09\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAY4otcn24z3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dgXSyUQbNp_6!Y4otcn24z3AaBGj4xZoV3R-8a09\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization realtime connection settings overriden in ClientOptions disconnected_retry_timeout is updated" file="./spec/acceptance/realtime/client_spec.rb" time="34.704619"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkDDlb1k1JX\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!kDDlb1k1JXAVU93VmFJSdB-16d6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkDDlb1k1JX\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!kDDlb1k1JXAVU93VmFJSdB-16d6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol initialization realtime connection settings overriden in ClientOptions suspended_retry_timeout is updated" file="./spec/acceptance/realtime/client_spec.rb" time="34.826088"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkoHgz2EPTg\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!koHgz2EPTgAbMB1QO8y2pg-1803\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkoHgz2EPTg\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!koHgz2EPTgAbMB1QO8y2pg-1803\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #channels provides access to the Channels collection object" file="./spec/acceptance/realtime/client_spec.rb" time="37.921268"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHtQ49lvW9R\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!HtQ49lvW9RAZhnOirG7sqy-5dd8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHtQ49lvW9R\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!HtQ49lvW9RAZhnOirG7sqy-5dd8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.client_spec" name="Ably::Realtime::Client using MsgPack protocol #connection provides access to the Connection object" file="./spec/acceptance/realtime/client_spec.rb" time="0.154276"></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol channel state side effects (RTP5) channel transitions to the FAILED state clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)" file="./spec/acceptance/realtime/presence_spec.rb" time="45.103476"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAOMKrAqkPJg\xB1connectionDetails\x89\xA8clientId\xD9 8ff0dc2b3744af7420c90dc508e591a0\xADconnectionKey\xD9*e7dgXSyUQbNp_6!OMKrAqkPJgAVDT28ET8sQT-8f80\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAOMKrAqkPJg\xB1connectionDetails\x89\xA8clientId\xD9 8ff0dc2b3744af7420c90dc508e591a0\xADconnectionKey\xD9*e7dgXSyUQbNp_6!OMKrAqkPJgAVDT28ET8sQT-8f80\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol channel state side effects (RTP5) channel transitions to the SUSPENDED state maintains the PresenceMap and only publishes presence event changes since the last attached state (#RTP5f)" file="./spec/acceptance/realtime/presence_spec.rb" time="45.349752"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAp9Tlbk6AGU\xB1connectionDetails\x89\xA8clientId\xD9 c940745831bcafbfd49abd1f7c23589a\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!p9Tlbk6AGUARt5Z20a-OkI-1ca9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAp9Tlbk6AGU\xB1connectionDetails\x89\xA8clientId\xD9 c940745831bcafbfd49abd1f7c23589a\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!p9Tlbk6AGUARt5Z20a-OkI-1ca9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol channel state side effects (RTP5) channel transitions to the DETACHED state clears the PresenceMap and local member map copy and does not emit any presence events (#RTP5a)" file="./spec/acceptance/realtime/presence_spec.rb" time="44.543696"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAePFOPqphtT\xB1connectionDetails\x89\xA8clientId\xD9 8162b0f66faf431a5f165961c3bd6d52\xADconnectionKey\xD9*e7dgXSyUQbNp_6!ePFOPqphtTATBz6XKsKwkS-924e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAePFOPqphtT\xB1connectionDetails\x89\xA8clientId\xD9 8162b0f66faf431a5f165961c3bd6d52\xADconnectionKey\xD9*e7dgXSyUQbNp_6!ePFOPqphtTATBz6XKsKwkS-924e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol channel state side effects (RTP5) channel transitions to the ATTACHED state (RTP5b) all queued presence messages are sent" file="./spec/acceptance/realtime/presence_spec.rb" time="44.498752"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMxGGQQ6U6Q\xB1connectionDetails\x89\xA8clientId\xD9 607de56712a1f74aaf75124e4ba2a1cf\xADconnectionKey\xD9*e7dI4G6RQmal47!MxGGQQ6U6QAVDHFbvXgTtw-62bf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMxGGQQ6U6Q\xB1connectionDetails\x89\xA8clientId\xD9 607de56712a1f74aaf75124e4ba2a1cf\xADconnectionKey\xD9*e7dI4G6RQmal47!MxGGQQ6U6QAVDHFbvXgTtw-62bf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave succeeds and does not emit an event (#RTP10d)" file="./spec/acceptance/realtime/presence_spec.rb" time="44.425928"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA44HjIZw0ml\xB1connectionDetails\x89\xA8clientId\xD9 d0b6c8c789ffabe863042ab826a1b731\xADconnectionKey\xD9*e7dgXSyUQbNp_6!44HjIZw0mlAUFfbXSBHBgy-93f8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA44HjIZw0ml\xB1connectionDetails\x89\xA8clientId\xD9 d0b6c8c789ffabe863042ab826a1b731\xADconnectionKey\xD9*e7dgXSyUQbNp_6!44HjIZw0mlAUFfbXSBHBgy-93f8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="35.220658"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA0HUEu8up_k\xB1connectionDetails\x89\xA8clientId\xD9 fdc8a55a1a57bdff40ba4be64445d11c\xADconnectionKey\xD9*e7dgXSyUQbNp_6!0HUEu8up_kAZG00a_1HyNS-94b3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA0HUEu8up_k\xB1connectionDetails\x89\xA8clientId\xD9 fdc8a55a1a57bdff40ba4be64445d11c\xADconnectionKey\xD9*e7dgXSyUQbNp_6!0HUEu8up_kAZG00a_1HyNS-94b3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="34.299700"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMaNCkVFjyT\xB1connectionDetails\x89\xA8clientId\xD9 acfaf831983fa94259c3964de7cbf2f8\xADconnectionKey\xD9*e7dI4G6RQmal47!MaNCkVFjyTATI4uvHVJLqm-64cc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMaNCkVFjyT\xB1connectionDetails\x89\xA8clientId\xD9 acfaf831983fa94259c3964de7cbf2f8\xADconnectionKey\xD9*e7dI4G6RQmal47!MaNCkVFjyTATI4uvHVJLqm-64cc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.537017"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzebmkjI3R2\xB1connectionDetails\x89\xA8clientId\xD9 d14950c3b916f81135d85e53b462876c\xADconnectionKey\xD9(e7dqW6HGg8KeB1!zebmkjI3R2AZwDRm7EcfAh-29\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzebmkjI3R2\xB1connectionDetails\x89\xA8clientId\xD9 d14950c3b916f81135d85e53b462876c\xADconnectionKey\xD9(e7dqW6HGg8KeB1!zebmkjI3R2AZwDRm7EcfAh-29\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="35.093733"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAsqWKjjMtAU\xB1connectionDetails\x89\xA8clientId\xD9 074d3679977fe0d630ac659da94148ce\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!sqWKjjMtAUAbm35o402_S5-223e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAsqWKjjMtAU\xB1connectionDetails\x89\xA8clientId\xD9 074d3679977fe0d630ac659da94148ce\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!sqWKjjMtAUAbm35o402_S5-223e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.418144"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJBKZnGRVo_\xB1connectionDetails\x89\xA8clientId\xD9 5ee4c5992c81d078a1327841ce9633a3\xADconnectionKey\xD9*e7dgXSyUQbNp_6!JBKZnGRVo_AYZsNit85S0v-97af\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJBKZnGRVo_\xB1connectionDetails\x89\xA8clientId\xD9 5ee4c5992c81d078a1327841ce9633a3\xADconnectionKey\xD9*e7dgXSyUQbNp_6!JBKZnGRVo_AYZsNit85S0v-97af\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.753423"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVxzIRdAMmh\xB1connectionDetails\x89\xA8clientId\xD9 1e6708c247121ff0355cb5b516a1a6d3\xADconnectionKey\xD9)e7dqW6HGg8KeB1!VxzIRdAMmhAXg0xGJhz76O-2b2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVxzIRdAMmh\xB1connectionDetails\x89\xA8clientId\xD9 1e6708c247121ff0355cb5b516a1a6d3\xADconnectionKey\xD9)e7dqW6HGg8KeB1!VxzIRdAMmhAXg0xGJhz76O-2b2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.363328"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAcjdfJR6Ksx\xB1connectionDetails\x89\xA8clientId\xD9 c486f48352670c4adc1acb1fcfa3beb1\xADconnectionKey\xD9*e7dI4G6RQmal47!cjdfJR6KsxAaPIHW64MuT7-691b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAcjdfJR6Ksx\xB1connectionDetails\x89\xA8clientId\xD9 c486f48352670c4adc1acb1fcfa3beb1\xADconnectionKey\xD9*e7dI4G6RQmal47!cjdfJR6KsxAaPIHW64MuT7-691b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.969616"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAEHXq0GGD2p\xB1connectionDetails\x89\xA8clientId\xD9 651e97731da48abd6affcf87f8119b35\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!EHXq0GGD2pAV0y6QEGJW3y-25e9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAEHXq0GGD2p\xB1connectionDetails\x89\xA8clientId\xD9 651e97731da48abd6affcf87f8119b35\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!EHXq0GGD2pAV0y6QEGJW3y-25e9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.553682"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAATwNsEgJMxi\xB1connectionDetails\x89\xA8clientId\xD9 cd0f5aed5d4521691ba2c853a491e9ca\xADconnectionKey\xD9*e7dI4G6RQmal47!TwNsEgJMxiAdpa5FXyiVqP-6aea\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAATwNsEgJMxi\xB1connectionDetails\x89\xA8clientId\xD9 cd0f5aed5d4521691ba2c853a491e9ca\xADconnectionKey\xD9*e7dI4G6RQmal47!TwNsEgJMxiAdpa5FXyiVqP-6aea\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="39.854071"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6C4tqfLRn-\xB1connectionDetails\x89\xA8clientId\xD9 2a832c9271656f988c89933ecac0fc4d\xADconnectionKey\xD9*e7dI4G6RQmal47!6C4tqfLRn-AY2sRfD6XVsj-6bc6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6C4tqfLRn-\xB1connectionDetails\x89\xA8clientId\xD9 2a832c9271656f988c89933ecac0fc4d\xADconnectionKey\xD9*e7dI4G6RQmal47!6C4tqfLRn-AY2sRfD6XVsj-6bc6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.294116"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZnfhuMPFk7\xB1connectionDetails\x89\xA8clientId\xD9 d90bc8d8d14291791de9b9373bdc1b34\xADconnectionKey\xD9*e7dgXSyUQbNp_6!ZnfhuMPFk7AavjVveNLhvU-9d43\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZnfhuMPFk7\xB1connectionDetails\x89\xA8clientId\xD9 d90bc8d8d14291791de9b9373bdc1b34\xADconnectionKey\xD9*e7dgXSyUQbNp_6!ZnfhuMPFk7AavjVveNLhvU-9d43\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ba4e.us-east-1-A.i-06f10490f904dccf6.e7dgXSyUQbNp_6\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="35.912247"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAmCOcKJGBrk\xB1connectionDetails\x89\xA8clientId\xD9 bed4981294304f01ccb5b63fedc01e3e\xADconnectionKey\xD9)e7dqW6HGg8KeB1!mCOcKJGBrkAQm0j--Xl_g3-8ac\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAmCOcKJGBrk\xB1connectionDetails\x89\xA8clientId\xD9 bed4981294304f01ccb5b63fedc01e3e\xADconnectionKey\xD9)e7dqW6HGg8KeB1!mCOcKJGBrkAQm0j--Xl_g3-8ac\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.555537"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiFZLqSsGor\xB1connectionDetails\x89\xA8clientId\xD9 68b5699acd1909b68111a88938c10c53\xADconnectionKey\xD9*e7dI4G6RQmal47!iFZLqSsGorAebmDZUKzNVf-6f2d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiFZLqSsGor\xB1connectionDetails\x89\xA8clientId\xD9 68b5699acd1909b68111a88938c10c53\xADconnectionKey\xD9*e7dI4G6RQmal47!iFZLqSsGorAebmDZUKzNVf-6f2d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1258
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave :data option when set to nil emits the last value for the data attribute when leaving" file="./spec/acceptance/realtime/presence_spec.rb" time="33.869636"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqarORw19Ou\xB1connectionDetails\x89\xA8clientId\xD9 b82f290421cdc4939660868a8bba2eba\xADconnectionKey\xD9)e7dqW6HGg8KeB1!qarORw19OuAYIwCtb2NZJ9-b07\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqarORw19Ou\xB1connectionDetails\x89\xA8clientId\xD9 b82f290421cdc4939660868a8bba2eba\xADconnectionKey\xD9)e7dqW6HGg8KeB1!qarORw19OuAYIwCtb2NZJ9-b07\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave :data option and sync is complete does not cache members that have left" file="./spec/acceptance/realtime/presence_spec.rb" time="34.624268"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzpn6wCcXeU\xB1connectionDetails\x89\xA8clientId\xD9 d290b09b4821fa0c54fd85023ec9fdca\xADconnectionKey\xD9*e7dI4G6RQmal47!zpn6wCcXeUASRVEkfCQycT-71bb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzpn6wCcXeU\xB1connectionDetails\x89\xA8clientId\xD9 d290b09b4821fa0c54fd85023ec9fdca\xADconnectionKey\xD9*e7dI4G6RQmal47!zpn6wCcXeUASRVEkfCQycT-71bb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave :data option when not passed as an argument (i.e. nil) emits the previous value for the data attribute when leaving" file="./spec/acceptance/realtime/presence_spec.rb" time="34.858267"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALgMaNYuxjv\xB1connectionDetails\x89\xA8clientId\xD9 d46c22462ab49ac33cd5e98f472968cf\xADconnectionKey\xD9*e7dI4G6RQmal47!LgMaNYuxjvAblIYsTmivpV-72e5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALgMaNYuxjv\xB1connectionDetails\x89\xA8clientId\xD9 d46c22462ab49ac33cd5e98f472968cf\xADconnectionKey\xD9*e7dI4G6RQmal47!LgMaNYuxjvAblIYsTmivpV-72e5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #leave :data option when set to a string emits the new data for the leave event" file="./spec/acceptance/realtime/presence_spec.rb" time="35.039327"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARN43O9hQcB\xB1connectionDetails\x89\xA8clientId\xD9 91d1c50de17bc23056ef403ad9403d75\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!RN43O9hQcBAVTZmdVtg6MQ-308a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARN43O9hQcB\xB1connectionDetails\x89\xA8clientId\xD9 91d1c50de17bc23056ef403ad9403d75\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!RN43O9hQcBAVTZmdVtg6MQ-308a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #unsubscribe with event name removes the callback for specified presence event" file="./spec/acceptance/realtime/presence_spec.rb" time="34.618223"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5Ks0BSkLqP\xB1connectionDetails\x89\xA8clientId\xD9 0ce68bb96d3a2b02a40d582569964b0c\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!5Ks0BSkLqPAbSU5A9tQ7Eq-31dc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5Ks0BSkLqP\xB1connectionDetails\x89\xA8clientId\xD9 0ce68bb96d3a2b02a40d582569964b0c\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!5Ks0BSkLqPAbSU5A9tQ7Eq-31dc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #unsubscribe with no arguments removes the callback for all presence events" file="./spec/acceptance/realtime/presence_spec.rb" time="35.085903"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA97tM7aOTJe\xB1connectionDetails\x89\xA8clientId\xD9 26c7ce21892550f2387d796dfa6173fd\xADconnectionKey\xD9*e7dI4G6RQmal47!97tM7aOTJeAZfsOuQs1O1P-76d1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA97tM7aOTJe\xB1connectionDetails\x89\xA8clientId\xD9 26c7ce21892550f2387d796dfa6173fd\xADconnectionKey\xD9*e7dI4G6RQmal47!97tM7aOTJeAZfsOuQs1O1P-76d1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #subscribe implicitly attaches" file="./spec/acceptance/realtime/presence_spec.rb" time="35.040106"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9Wn0ynqmZI\xB1connectionDetails\x89\xA8clientId\xD9 375fb7cd3c4907527aa81e088ce85f81\xADconnectionKey\xD9*e7dqW6HGg8KeB1!9Wn0ynqmZIAfvpmVdTeQO7-129d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9Wn0ynqmZI\xB1connectionDetails\x89\xA8clientId\xD9 375fb7cd3c4907527aa81e088ce85f81\xADconnectionKey\xD9*e7dqW6HGg8KeB1!9Wn0ynqmZIAfvpmVdTeQO7-129d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #subscribe with no arguments calls the callback for all presence events" file="./spec/acceptance/realtime/presence_spec.rb" time="35.137679"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxpQYMLznu1\xB1connectionDetails\x89\xA8clientId\xD9 1e32fcdab9d33da5f5638d268e4a95d1\xADconnectionKey\xD9*e7dI4G6RQmal47!xpQYMLznu1AVZBwmU-Trsj-795c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxpQYMLznu1\xB1connectionDetails\x89\xA8clientId\xD9 1e32fcdab9d33da5f5638d268e4a95d1\xADconnectionKey\xD9*e7dI4G6RQmal47!xpQYMLznu1AVZBwmU-Trsj-795c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #subscribe with event name calls the callback for specified presence event" file="./spec/acceptance/realtime/presence_spec.rb" time="36.458496"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWKVvGObdBP\xB1connectionDetails\x89\xA8clientId\xD9 dde4d66094d74025b179e8c5f391e358\xADconnectionKey\xD9*e7dI4G6RQmal47!WKVvGObdBPASvRRoFyfLlc-7a96\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWKVvGObdBP\xB1connectionDetails\x89\xA8clientId\xD9 dde4d66094d74025b179e8c5f391e358\xADconnectionKey\xD9*e7dI4G6RQmal47!WKVvGObdBPASvRRoFyfLlc-7a96\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #subscribe with a callback that raises an exception logs the error and continues" file="./spec/acceptance/realtime/presence_spec.rb" time="43.654964"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAADmXcAEe6q6\xB1connectionDetails\x89\xA8clientId\xD9 2c463a01c4788718257c89f1f085667c\xADconnectionKey\xD9*e7dqW6HGg8KeB1!DmXcAEe6q6AZzXlGCR62WK-166d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAADmXcAEe6q6\xB1connectionDetails\x89\xA8clientId\xD9 2c463a01c4788718257c89f1f085667c\xADconnectionKey\xD9*e7dqW6HGg8KeB1!DmXcAEe6q6AZzXlGCR62WK-166d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel emits :present for each member" file="./spec/acceptance/realtime/presence_spec.rb" time="44.379943"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYTO2NZPVtw\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!YTO2NZPVtwAY52qTIbsZZx-1801\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYTO2NZPVtw\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!YTO2NZPVtwAY52qTIbsZZx-1801\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel and a member leaves before the SYNC operation is complete does not emit :present after the :leave event has been emitted, and that member is not included in the list of members via #get (#RTP2f)" file="./spec/acceptance/realtime/presence_spec.rb" time="43.334979"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABOcAhWqklY\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!BOcAhWqklYARC21bjBFDPq-3b2f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABOcAhWqklY\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!BOcAhWqklYARC21bjBFDPq-3b2f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel and a member leaves before the SYNC operation is complete emits :leave immediately as the member leaves and cleans up the ABSENT member after (#RTP2f, #RTP2g)" file="./spec/acceptance/realtime/presence_spec.rb" time="45.126210"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAANB0sajCtB-\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!NB0sajCtB-AQVd2727_4nj-3ccc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAANB0sajCtB-\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!NB0sajCtB-AQVd2727_4nj-3ccc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel and a member leaves before the SYNC operation is complete ignores presence events with timestamps / identifiers prior to the current :present event in the MembersMap (#RTP2c)" file="./spec/acceptance/realtime/presence_spec.rb" time="39.426935"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXA9ciTKwLl\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!XA9ciTKwLlAcmWXd4rNTMk-81f8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXA9ciTKwLl\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!XA9ciTKwLlAcmWXd4rNTMk-81f8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel and a member enters before the SYNC operation is complete emits a :enter immediately and the member is :present once the sync is complete (#RTP2g)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.534376"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2_hRaDk_tj\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!2_hRaDk_tjAUnh2aJByhab-1d88\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2_hRaDk_tj\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!2_hRaDk_tjAUnh2aJByhab-1d88\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel #get by default waits until sync is complete (#RTP11c1)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.076610"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8mnexfGxCp\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!8mnexfGxCpASFqtW-0Jt2g-40a6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8mnexfGxCp\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!8mnexfGxCpASFqtW-0Jt2g-40a6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol 101 existing (present) members on a channel (2 SYNC pages) requiring at least 2 SYNC ProtocolMessages when a client attaches to the presence channel #get with :wait_for_sync option set to false (#RTP11c1) it does not wait for sync" file="./spec/acceptance/realtime/presence_spec.rb" time="34.315274"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAmxzoT-F_bO\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!mxzoT-F_bOAax4dD_OpqSg-41cd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAmxzoT-F_bO\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!mxzoT-F_bOAax4dD_OpqSg-41cd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client maintains a copy of the member map for any member that shares this connection&apos;s connection ID (#RTP17)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.149514"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAK4bMpHPoGO\xB1connectionDetails\x89\xA8clientId\xD9 79a8642908d19a55e8fcdd35e56dd8ee\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!K4bMpHPoGOAXzCww3WBoaC-42ca\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAK4bMpHPoGO\xB1connectionDetails\x89\xA8clientId\xD9 79a8642908d19a55e8fcdd35e56dd8ee\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!K4bMpHPoGOAXzCww3WBoaC-42ca\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client when a channel becomes attached again and the resume flag is false and the presence flag is false immediately resends all local presence members (#RTP5c2, #RTP19a)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.443918"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXGEo8lW8oJ\xB1connectionDetails\x89\xA8clientId\xD9 4a2ce8d5c93a2b3a0916c421e13709cd\xADconnectionKey\xD9*e7dI4G6RQmal47!XGEo8lW8oJARn6rpWd2h0G-87cf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXGEo8lW8oJ\xB1connectionDetails\x89\xA8clientId\xD9 4a2ce8d5c93a2b3a0916c421e13709cd\xADconnectionKey\xD9*e7dI4G6RQmal47!XGEo8lW8oJARn6rpWd2h0G-87cf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client when a channel becomes attached again when re-entering a client automatically, if the re-enter fails for any reason should emit an ErrorInfo with error code 91004 (#RTP5c3)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.140694"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5A0WHmrx98\xB1connectionDetails\x89\xA8clientId\xD9 520744c9a77fa92068ba302b748f8d3c\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!5A0WHmrx98AbgUC-wbJDjm-4545\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5A0WHmrx98\xB1connectionDetails\x89\xA8clientId\xD9 520744c9a77fa92068ba302b748f8d3c\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!5A0WHmrx98AbgUC-wbJDjm-4545\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client #RTP17b updates presence members on leave" file="./spec/acceptance/realtime/presence_spec.rb" time="35.194920"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVPQuV5e2_i\xB1connectionDetails\x89\xA8clientId\xD9 93202302b1bbd543bfa7f0aa17120628\xADconnectionKey\xD9*e7dI4G6RQmal47!VPQuV5e2_iAUaVZUB8f0j7-8a4e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVPQuV5e2_i\xB1connectionDetails\x89\xA8clientId\xD9 93202302b1bbd543bfa7f0aa17120628\xADconnectionKey\xD9*e7dI4G6RQmal47!VPQuV5e2_iAUaVZUB8f0j7-8a4e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol local PresenceMap for presence members entered by this client #RTP17b does no update presence members on fabricated leave" file="./spec/acceptance/realtime/presence_spec.rb" time="35.024883"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACy-K2Kir6m\xB1connectionDetails\x89\xA8clientId\xD9 4e62b6093020f6c0e2e90d3260c48a4a\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Cy-K2Kir6mAX3MRseooPwg-47c6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACy-K2Kir6m\xB1connectionDetails\x89\xA8clientId\xD9 4e62b6093020f6c0e2e90d3260c48a4a\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Cy-K2Kir6mAX3MRseooPwg-47c6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol when attached (but not present) on a presence channel with an anonymous client (no client ID) maintains state as other clients enter and leave the channel (#RTP2e)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.713314"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYzYQ1SPGS5\xB1connectionDetails\x89\xA8clientId\xD9 9b04ec69c24346e8a39717285286efd4\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!YzYQ1SPGS5AcsZfsgAGC8_-48fe\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYzYQ1SPGS5\xB1connectionDetails\x89\xA8clientId\xD9 9b04ec69c24346e8a39717285286efd4\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!YzYQ1SPGS5AcsZfsgAGC8_-48fe\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol server-initiated sync with multiple SYNC pages is initiated with a SYNC message and completed with a later SYNC message with no cursor value part of the channelSerial (#RTP18a, #RTP18b) " file="./spec/acceptance/realtime/presence_spec.rb" time="34.879517"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAp7AIANMVtx\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!p7AIANMVtxAe04a5gl8WSP-49db\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAp7AIANMVtx\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!p7AIANMVtxAe04a5gl8WSP-49db\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol server-initiated sync with a single SYNC page is initiated and completed with a single SYNC message (and no channelSerial) (#RTP18a, #RTP18c) " file="./spec/acceptance/realtime/presence_spec.rb" time="34.606313"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_daqFgj6s1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!_daqFgj6s1AXBvF8vnABX4-8e7d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_daqFgj6s1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dI4G6RQmal47!_daqFgj6s1AXBvF8vnABX4-8e7d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.c2dc.us-east-1-A.i-05027d4d8ad461b1c.e7dI4G6RQmal47\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol server-initiated sync when members exist in the PresenceMap before a SYNC completes removes the members that are no longer present (#RTP19)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.232489"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5mRwLrrVGf\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!5mRwLrrVGfAf0tmVnxPFeV-2ac\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5mRwLrrVGf\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!5mRwLrrVGfAf0tmVnxPFeV-2ac\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol client_id with ASCII_8BIT in channel options is converted into UTF_8" file="./spec/acceptance/realtime/presence_spec.rb" time="35.345195"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQyqTpzUZo5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!QyqTpzUZo5AfrRyH27hv-x-4c79\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQyqTpzUZo5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!QyqTpzUZo5AfrRyH27hv-x-4c79\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol client_id with ASCII_8BIT in connection set up is converted into UTF_8" file="./spec/acceptance/realtime/presence_spec.rb" time="33.832804"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAUtDM-RulGx\xB1connectionDetails\x89\xA8clientId\xD9 3cef771650d72272bb841a148ee5f0b3\xADconnectionKey\xD9*e7dqW6HGg8KeB1!UtDM-RulGxAWLMWqdbQbF2-2bab\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAUtDM-RulGx\xB1connectionDetails\x89\xA8clientId\xD9 3cef771650d72272bb841a148ee5f0b3\xADconnectionKey\xD9*e7dqW6HGg8KeB1!UtDM-RulGxAWLMWqdbQbF2-2bab\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) will emit an :sync_complete event when synchronisation is complete" file="./spec/acceptance/realtime/presence_spec.rb" time="34.424210"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQ6yiV5eqU_\xB1connectionDetails\x89\xA8clientId\xD9 5a1642831e9538e699bbf933bc977201\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!Q6yiV5eqU_ATAjZuH8DboO-52d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQ6yiV5eqU_\xB1connectionDetails\x89\xA8clientId\xD9 5a1642831e9538e699bbf933bc977201\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!Q6yiV5eqU_ATAjZuH8DboO-52d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) is not synchronised when initially created" file="./spec/acceptance/realtime/presence_spec.rb" time="24.739120"></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) is available once the channel is created" file="./spec/acceptance/realtime/presence_spec.rb" time="12.622133"></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) the map is based on the member_key (connection_id &amp; client_id) ensures uniqueness from this member_key (#RTP2a)" file="./spec/acceptance/realtime/presence_spec.rb" time="45.216460"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAf_XL1-Kjkr\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!f_XL1-KjkrAV4ZFsqJNIt4-751\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAf_XL1-Kjkr\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!f_XL1-KjkrAV4ZFsqJNIt4-751\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) newness is compared based on PresenceMessage#id unless synthesized when presence messages are synthesized compares based on timestamp if either has a connectionId not part of the presence message id (#RTP2b1)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.474237"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxAzUH0aVWD\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!xAzUH0aVWDAReRLxMxa0aA-2fd1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxAzUH0aVWD\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!xAzUH0aVWDAReRLxMxa0aA-2fd1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) newness is compared based on PresenceMessage#id unless synthesized when presence messages are not synthesized (events sent from clients) compares based on timestamp if either has a connectionId not part of the presence message id (#RTP2b2)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.926451"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFpzLhsHCOD\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!FpzLhsHCODAcgzQ1b1Upwx-9c4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFpzLhsHCOD\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!FpzLhsHCODAcgzQ1b1Upwx-9c4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) once server sync is complete behaves like an Enumerable allowing direct access to current members" file="./spec/acceptance/realtime/presence_spec.rb" time="35.649766"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbXZ03K0tRY\xB1connectionDetails\x89\xA8clientId\xD9 2f156aa96a7762349588c5b0822017ee\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!bXZ03K0tRYAfv-7jSVezR1-af3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbXZ03K0tRY\xB1connectionDetails\x89\xA8clientId\xD9 2f156aa96a7762349588c5b0822017ee\xADconnectionKey\xD9)e7dLBGrLAq7Q8p!bXZ03K0tRYAfv-7jSVezR1-af3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #members map / PresenceMap (#RTP2) before server sync complete behaves like an Enumerable allowing direct access to current members" file="./spec/acceptance/realtime/presence_spec.rb" time="34.755578"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWjpq3aXBH1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Wjpq3aXBH1AfDxb5FdO6vc-555a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWjpq3aXBH1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Wjpq3aXBH1AfDxb5FdO6vc-555a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when anonymous and no client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.732700"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjlTq094Ivk\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dqW6HGg8KeB1!jlTq094IvkAYk3MiGKroE_-34a0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjlTq094Ivk\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dqW6HGg8KeB1!jlTq094IvkAYk3MiGKroE_-34a0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when anonymous and no client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="34.750152"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAog4X_Yhj6k\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!og4X_Yhj6kAQoUkZWFy0L6-57c7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAog4X_Yhj6k\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!og4X_Yhj6kAQoUkZWFy0L6-57c7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when anonymous and no client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.261470"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACimh2p2ygO\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Cimh2p2ygOAeEz_OeD8iaF-58f1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACimh2p2ygO\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Cimh2p2ygOAeEz_OeD8iaF-58f1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when anonymous and no client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.004889"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApAeZud2YCE\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!pAeZud2YCEATpMT_Cs7ddE-1148\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAApAeZud2YCE\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!pAeZud2YCEATpMT_Cs7ddE-1148\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a valid client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="34.157193"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAW1Qwjn--Ub\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!W1Qwjn--UbAWGVBrWWaoW2-3988\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAW1Qwjn--Ub\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!W1Qwjn--UbAWGVBrWWaoW2-3988\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a valid client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.991741"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAewtSkKU9sO\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!ewtSkKU9sOAYlxI_mbJTml-5ca6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAewtSkKU9sO\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!ewtSkKU9sOAYlxI_mbJTml-5ca6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a valid client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.779545"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAx-GhG8D5cl\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!x-GhG8D5clAfBXqOJlqfYo-3be6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAx-GhG8D5cl\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!x-GhG8D5clAfBXqOJlqfYo-3be6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a valid client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="33.880789"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzzKhPS3R4A\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!zzKhPS3R4AAZEEVJI458A7-3d05\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzzKhPS3R4A\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!zzKhPS3R4AAZEEVJI458A7-3d05\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a wildcard client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.133281"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiYLSZGI_SA\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!iYLSZGI_SAAboNj3jAzIGo-1768\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiYLSZGI_SA\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!iYLSZGI_SAAboNj3jAzIGo-1768\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a wildcard client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.158281"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAk0dS08fDE0\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!k0dS08fDE0Ae1LY_DlMPiR-3f93\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAk0dS08fDE0\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!k0dS08fDE0Ae1LY_DlMPiR-3f93\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a wildcard client_id and a valid client_id succeeds" file="./spec/acceptance/realtime/presence_spec.rb" time="34.990542"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkJ0FSvMMUT\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!kJ0FSvMMUTAVMpcX0pVmV5-633d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkJ0FSvMMUT\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!kJ0FSvMMUTAVMpcX0pVmV5-633d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a presence on behalf of another client method :leave_client when authenticated with a wildcard client_id and a client_id that is not a string type throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.605841"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAD2yl38hIyq\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!D2yl38hIyqAUqL21F2kxKC-1b63\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAD2yl38hIyq\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!D2yl38hIyqAUqL21F2kxKC-1b63\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1539
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="34.713701"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAADN4e99gWLP\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!DN4e99gWLPAWHouv18QgbK-1c97\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAADN4e99gWLP\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!DN4e99gWLPAWHouv18QgbK-1c97\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.861842"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAAjzZWmg6xn\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!AjzZWmg6xnAWI_vLEsJGOt-443b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAAjzZWmg6xn\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!AjzZWmg6xnAWI_vLEsJGOt-443b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="34.267822"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKGsp1OApg1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!KGsp1OApg1AQeMQ_cCCnps-6848\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKGsp1OApg1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!KGsp1OApg1AQeMQ_cCCnps-6848\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method presence leave_client : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="35.364496"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6kPdCV7FQ5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!6kPdCV7FQ5AXgSGfqC9QhC-697a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6kPdCV7FQ5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!6kPdCV7FQ5AXgSGfqC9QhC-697a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.504304"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAvGA1m8ZlqM\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!vGA1m8ZlqMATyzkjjWlTCS-2183\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAvGA1m8ZlqM\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!vGA1m8ZlqMATyzkjjWlTCS-2183\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method presence leave_client : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.904504"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHfGdOaSwho\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!HfGdOaSwhoAQPSNN2c0vyE-6bca\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHfGdOaSwho\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!HfGdOaSwhoAQPSNN2c0vyE-6bca\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method presence leave_client : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.185932"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA55f_sfKidv\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!55f_sfKidvAZOU0wPO-1QQ-6d09\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA55f_sfKidv\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!55f_sfKidvAZOU0wPO-1QQ-6d09\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="35.070770"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHr1uYpQ6nW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!Hr1uYpQ6nWAUqbm-TZAQJq-4b7c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHr1uYpQ6nW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!Hr1uYpQ6nWAUqbm-TZAQJq-4b7c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method presence leave_client : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="35.167213"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAG7TJwB74dG\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!G7TJwB74dGAVRSrnl2byS6-6f64\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAG7TJwB74dG\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!G7TJwB74dGAVRSrnl2byS6-6f64\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.498869"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAnMKPA_4kgI\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!nMKPA_4kgIAcJWSG33wTgT-280e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAnMKPA_4kgI\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!nMKPA_4kgIAcJWSG33wTgT-280e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.280852"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtCPXA5sp9n\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!tCPXA5sp9nAdCgO6hgJAL0-4f0d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtCPXA5sp9n\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!tCPXA5sp9nAdCgO6hgJAL0-4f0d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.246900"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbdnzOl7Es8\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!bdnzOl7Es8ActfyVKtDhVj-5042\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbdnzOl7Es8\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!bdnzOl7Es8ActfyVKtDhVj-5042\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.087531"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAV5aB-eVJwo\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!V5aB-eVJwoAeT4cKRPiK9C-2bd3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAV5aB-eVJwo\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!V5aB-eVJwoAeT4cKRPiK9C-2bd3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.853153"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAawxqhvIDTs\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!awxqhvIDTsAWd4qbWTQqMi-2d09\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAawxqhvIDTs\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!awxqhvIDTsAWd4qbWTQqMi-2d09\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="34.605448"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAE31PDKLl4v\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!E31PDKLl4vAQbztpFrz4W2-2e31\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAE31PDKLl4v\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!E31PDKLl4vAQbztpFrz4W2-2e31\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.887789"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVzw5IP2bPP\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Vzw5IP2bPPAQXs5B0CugdD-77af\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVzw5IP2bPP\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Vzw5IP2bPPAQXs5B0CugdD-77af\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="35.578129"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA1yXUxqH5sh\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dqW6HGg8KeB1!1yXUxqH5shATUCSm7GKENx-565b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA1yXUxqH5sh\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dqW6HGg8KeB1!1yXUxqH5shATUCSm7GKENx-565b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.539059"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAL9sdb9Y0cr\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!L9sdb9Y0crAdHB-37sd2uI-57a1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAL9sdb9Y0cr\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!L9sdb9Y0crAdHB-37sd2uI-57a1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.085895"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAafLJsc0Ej-\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!afLJsc0Ej-AUZOcx-0wYnG-58db\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAafLJsc0Ej-\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!afLJsc0Ej-AUZOcx-0wYnG-58db\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.076440"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjpToq4SOrn\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!jpToq4SOrnAefApmVVLA3S-3412\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjpToq4SOrn\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!jpToq4SOrnAefApmVVLA3S-3412\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="36.350869"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFo3uHc_4G1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Fo3uHc_4G1AXF7Wdrm2I_x-7da3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFo3uHc_4G1\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Fo3uHc_4G1AXF7Wdrm2I_x-7da3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="36.121639"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAa4OBxQ4FMe\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!a4OBxQ4FMeASvOH16oyIln-7ef5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAa4OBxQ4FMe\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!a4OBxQ4FMeASvOH16oyIln-7ef5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1538
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel with no :data option emits the leave event with the previous value as a convenience" file="./spec/acceptance/realtime/presence_spec.rb" time="35.814508"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAADOq8BOOeiP\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!DOq8BOOeiPAUH60DvrAWV7-8030\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAADOq8BOOeiP\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!DOq8BOOeiPAUH60DvrAWV7-8030\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel with a nil value in :data option emits the leave event with the previous value as a convenience" file="./spec/acceptance/realtime/presence_spec.rb" time="35.798886"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-lVkQqGCls\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!-lVkQqGClsAXy3dX2XYsXm-8173\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-lVkQqGCls\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!-lVkQqGClsAXy3dX2XYsXm-8173\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel multiple times on the same channel with different client_ids succeeds if that client_id has not previously entered the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="35.228705"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAeWfxpEObMo\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!eWfxpEObMoAY4YepppgMft-606a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAeWfxpEObMo\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!eWfxpEObMoAY4YepppgMft-606a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel multiple times on the same channel with different client_ids emits the :leave event for each client_id" file="./spec/acceptance/realtime/presence_spec.rb" time="35.471733"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtXFKIMjIwK\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!tXFKIMjIwKAVN9swjDSCfS-3b84\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtXFKIMjIwK\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!tXFKIMjIwKAVN9swjDSCfS-3b84\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #leave_client leaves a channel with a new value in :data option emits the leave event with the new data value" file="./spec/acceptance/realtime/presence_spec.rb" time="36.015066"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABQDBMwC3qt\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!BQDBMwC3qtAaNyhFLxW2D3-8517\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABQDBMwC3qt\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!BQDBMwC3qtAaNyhFLxW2D3-8517\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client multiple times on the same channel with different client_ids updates the data attribute for the member when :data option provided" file="./spec/acceptance/realtime/presence_spec.rb" time="35.351284"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAaptYLxzz3h\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!aptYLxzz3hAUbQyMxv5XY8-8636\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAaptYLxzz3h\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!aptYLxzz3hAUbQyMxv5XY8-8636\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client multiple times on the same channel with different client_ids enters if not already entered" file="./spec/acceptance/realtime/presence_spec.rb" time="36.014635"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJOQgGPb_F_\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!JOQgGPb_F_AVdMdLH_oohY-652a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJOQgGPb_F_\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!JOQgGPb_F_AVdMdLH_oohY-652a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client multiple times on the same channel with different client_ids updates the data attribute to null for the member when :data option is not provided (assumed null)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.662820"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAloC3vkyMCc\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!loC3vkyMCcAWDsSMWYBcQX-407c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAloC3vkyMCc\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!loC3vkyMCcAWDsSMWYBcQX-407c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="35.342042"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVj3FrM5fLG\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!Vj3FrM5fLGARyLn7lfGaLN-4190\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVj3FrM5fLG\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!Vj3FrM5fLGARyLn7lfGaLN-4190\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="35.597835"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA50FRv9gv5N\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!50FRv9gv5NAQU8rtglTFr--42a5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA50FRv9gv5N\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!50FRv9gv5NAQU8rtglTFr--42a5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="35.640753"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_4gDBLre_E\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!_4gDBLre_EAc0W0wjeT5fR-43e4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_4gDBLre_E\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!_4gDBLre_EAc0W0wjeT5fR-43e4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method presence update_client : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.513868"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAwCTLMCCCwY\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!wCTLMCCCwYAQGewYSAJbp5-6afd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAwCTLMCCCwY\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!wCTLMCCCwYAQGewYSAJbp5-6afd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="35.440467"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPvFrbH0GDE\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!PvFrbH0GDEAV2TsU_z2uiB-8f16\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPvFrbH0GDE\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!PvFrbH0GDEAV2TsU_z2uiB-8f16\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method presence update_client : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="34.935011"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbI0cpvBX6r\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!bI0cpvBX6rAeyIF5ptRO7X-9055\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbI0cpvBX6r\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!bI0cpvBX6rAeyIF5ptRO7X-9055\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method presence update_client : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="35.762862"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-2XBIyAv8Z\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!-2XBIyAv8ZAZyxhaPz2NRA-9185\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-2XBIyAv8Z\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!-2XBIyAv8ZAZyxhaPz2NRA-9185\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method presence update_client : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.918196"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA57K1o2QdWu\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!57K1o2QdWuAftTwWYpGW18-6f9d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA57K1o2QdWu\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!57K1o2QdWuAftTwWYpGW18-6f9d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="34.991020"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZW3AKmU9XX\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!ZW3AKmU9XXAcHlHmX5JxHZ-70d9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZW3AKmU9XX\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!ZW3AKmU9XXAcHlHmX5JxHZ-70d9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.482710"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALtMXkRxx2I\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!LtMXkRxx2IAc8o8a8JzcOS-71fc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALtMXkRxx2I\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!LtMXkRxx2IAc8o8a8JzcOS-71fc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.329681"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAObeh2UHZQS\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!Obeh2UHZQSAcCDqUKMfjao-7324\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAObeh2UHZQS\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!Obeh2UHZQSAcCDqUKMfjao-7324\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="35.291256"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyb7_MVNjcO\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!yb7_MVNjcOAQMzdcQ2PfLC-4efc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyb7_MVNjcO\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!yb7_MVNjcOAQMzdcQ2PfLC-4efc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.738757"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAd9jCjLnUV_\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!d9jCjLnUV_AVhajqAGclmU-98c2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAd9jCjLnUV_\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!d9jCjLnUV_AVhajqAGclmU-98c2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="35.586123"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAArANYUjiNC\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!ArANYUjiNCAYhJYbxErnQp-5168\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAArANYUjiNC\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!ArANYUjiNCAYhJYbxErnQp-5168\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="35.809805"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAw97sK9786n\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!w97sK9786nAf0_vqdyNPuu-52c1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAw97sK9786n\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!w97sK9786nAf0_vqdyNPuu-52c1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="36.033793"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiTw_ow-J9M\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dqW6HGg8KeB1!iTw_ow-J9MATFLR2bLEYSM-7918\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiTw_ow-J9M\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dqW6HGg8KeB1!iTw_ow-J9MATFLR2bLEYSM-7918\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.859563"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYTqaeajAZu\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!YTqaeajAZuAeJN8QcvkfHS-9dd8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYTqaeajAZu\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!YTqaeajAZuAeJN8QcvkfHS-9dd8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.863170"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAnAyoDzD0cf\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!nAyoDzD0cfAZicZcrgfToh-5636\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAnAyoDzD0cf\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!nAyoDzD0cfAZicZcrgfToh-5636\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.971272"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAs2HeV9cBrZ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!s2HeV9cBrZAVi6OOCB0m4G-7cff\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAs2HeV9cBrZ\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!s2HeV9cBrZAVi6OOCB0m4G-7cff\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.381312"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqG60tW_wYA\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!qG60tW_wYAAaEc8nh6Ks9x-7e35\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqG60tW_wYA\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!qG60tW_wYAAaEc8nh6Ks9x-7e35\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.645210"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAOJGSfe-a3M\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!OJGSfe-a3MAdiJu_yn8jAN-7f4d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAOJGSfe-a3M\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!OJGSfe-a3MAdiJu_yn8jAN-7f4d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.462669"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAASLuz3dE5wn\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!SLuz3dE5wnAZHgS26VkyRH-8095\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAASLuz3dE5wn\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!SLuz3dE5wnAZHgS26VkyRH-8095\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1434
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a valid client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.432898"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZKUNz6HPLf\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!ZKUNz6HPLfAYHFC1d_qpI4-a52a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZKUNz6HPLf\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!ZKUNz6HPLfAYHFC1d_qpI4-a52a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a valid client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.243989"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA12nnbHmtuI\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!12nnbHmtuIAVB2Bxd5BFNX-a64a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA12nnbHmtuI\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!12nnbHmtuIAVB2Bxd5BFNX-a64a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a valid client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="36.636814"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAATDkDGVxJJM\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!TDkDGVxJJMASjKkeua7Pcp-5ef7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAATDkDGVxJJM\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!TDkDGVxJJMASjKkeua7Pcp-5ef7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a valid client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.650568"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAb4Q1yIMd9k\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!b4Q1yIMd9kAe3nKxjeiF8x-6037\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAb4Q1yIMd9k\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!b4Q1yIMd9kAe3nKxjeiF8x-6037\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a wildcard client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.621569"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9Lz9_UO7-i\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!9Lz9_UO7-iAXviiJYRHanj-86fb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9Lz9_UO7-i\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!9Lz9_UO7-iAXviiJYRHanj-86fb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a wildcard client_id and a valid client_id succeeds" file="./spec/acceptance/realtime/presence_spec.rb" time="36.033165"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqAysNIUZN3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!qAysNIUZN3AcBgItILQQ5H-8829\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqAysNIUZN3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!qAysNIUZN3AcBgItILQQ5H-8829\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a wildcard client_id and a client_id that is not a string type throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.666424"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAArAaBr_t__E\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!rAaBr_t__EAdUySeS97ib6-8977\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAArAaBr_t__E\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!rAaBr_t__EAdUySeS97ib6-8977\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when authenticated with a wildcard client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.995828"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAwVTdHKxD_A\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!wVTdHKxD_AARhfztHeyISs-64fe\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAwVTdHKxD_A\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!wVTdHKxD_AARhfztHeyISs-64fe\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when anonymous and no client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.006856"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8UNmOfOCb1\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dqW6HGg8KeB1!8UNmOfOCb1AeSUBwnQHTTX-8bce\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8UNmOfOCb1\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dqW6HGg8KeB1!8UNmOfOCb1AeSUBwnQHTTX-8bce\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when anonymous and no client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="35.633255"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAhHdJbLCTmj\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!hHdJbLCTmjAf_cUQ889Ty1-677c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAhHdJbLCTmj\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!hHdJbLCTmjAf_cUQ889Ty1-677c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when anonymous and no client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.931428"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA46CnvIAi9V\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!46CnvIAi9VAVex2ICjFgqj-b13c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA46CnvIAi9V\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!46CnvIAi9VAVex2ICjFgqj-b13c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #update_client it should behave like a presence on behalf of another client method :update_client when anonymous and no client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.984938"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5FVrQzuvdR\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!5FVrQzuvdRAbUDYg9P__oZ-b257\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5FVrQzuvdR\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!5FVrQzuvdRAbUDYg9P__oZ-b257\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1435
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="34.979422"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAfb9ZgFr0PS\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!fb9ZgFr0PSAcW6RZ_F3XLk-6afd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAfb9ZgFr0PS\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!fb9ZgFr0PSAcW6RZ_F3XLk-6afd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="35.379415"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJLMv_tQUY8\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!JLMv_tQUY8Adxz15_R_CoC-b4b3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAJLMv_tQUY8\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!JLMv_tQUY8Adxz15_R_CoC-b4b3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method presence enter_client : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.326701"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAi0NEIcm8lz\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!i0NEIcm8lzAZr1QhDTTy7Z-6d6f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAi0NEIcm8lz\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!i0NEIcm8lzAZr1QhDTTy7Z-6d6f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method presence enter_client : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="35.001554"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAF1xvNSI5d3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!F1xvNSI5d3AZI_Jvn_YrIL-9422\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAF1xvNSI5d3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!F1xvNSI5d3AZI_Jvn_YrIL-9422\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="35.599133"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkNAUZ-PK1W\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!kNAUZ-PK1WAbtSFkkSgEd2-b83e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkNAUZ-PK1W\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!kNAUZ-PK1WAbtSFkkSgEd2-b83e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method presence enter_client : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.960502"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAATiRyHuQcTl\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!TiRyHuQcTlAbUZDkzY3cbI-7108\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAATiRyHuQcTl\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!TiRyHuQcTlAbUZDkzY3cbI-7108\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="34.857662"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAU3yb-FitJK\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!U3yb-FitJKAZH3yfwpbNPk-bab0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAU3yb-FitJK\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!U3yb-FitJKAZH3yfwpbNPk-bab0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method presence enter_client : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="33.626054"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALNyeRekryj\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!LNyeRekryjAdwllS30P5yU-7368\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAALNyeRekryj\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!LNyeRekryjAdwllS30P5yU-7368\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="36.184507"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA1k-WEmuETy\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!1k-WEmuETyAeXTsztrG8yg-9a61\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA1k-WEmuETy\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!1k-WEmuETyAeXTsztrG8yg-9a61\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.745329"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAOQvHHQUm7l\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!OQvHHQUm7lAes9ayBLN-3t-75f8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAOQvHHQUm7l\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!OQvHHQUm7lAes9ayBLN-3t-75f8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.265835"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxZLJSfwjP5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!xZLJSfwjP5ARN6V-RflwLk-bf4c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAxZLJSfwjP5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!xZLJSfwjP5ARN6V-RflwLk-bf4c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.599378"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAwLCcaBebyK\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!wLCcaBebyKASR1bm4FOA1D-788a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAwLCcaBebyK\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!wLCcaBebyKASR1bm4FOA1D-788a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.284214"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAASG-jdz8zE3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!SG-jdz8zE3AUN-OLASiCnV-9f70\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAASG-jdz8zE3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!SG-jdz8zE3AUN-OLASiCnV-9f70\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.596107"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAavgGGNkIhW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!avgGGNkIhWAfX3J6ufO2rL-a0d2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAavgGGNkIhW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!avgGGNkIhWAfX3J6ufO2rL-a0d2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.756067"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoujnfT6p4F\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!oujnfT6p4FATWQVJZoIWq7-a1f4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoujnfT6p4F\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!oujnfT6p4FATWQVJZoIWq7-a1f4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="35.717166"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABilejZ4lJh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!BilejZ4lJhAbinsANCjwzq-a336\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABilejZ4lJh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!BilejZ4lJhAbinsANCjwzq-a336\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="36.144374"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAmoF311zjX2\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!moF311zjX2AWDOv3KqS-6i-a45f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAmoF311zjX2\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!moF311zjX2AWDOv3KqS-6i-a45f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="36.268195"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAm_M-V-BdhK\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!m_M-V-BdhKAWbNOJGXg6rH-7fd3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAm_M-V-BdhK\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!m_M-V-BdhKAWbNOJGXg6rH-7fd3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.977984"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAka4hXYMrQo\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!ka4hXYMrQoAfH-7VXRQtAK-c944\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAka4hXYMrQo\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!ka4hXYMrQoAfH-7VXRQtAK-c944\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="36.288348"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQ3QyxzNxxv\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Q3QyxzNxxvATDW4FgZ7OLx-ca85\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQ3QyxzNxxv\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Q3QyxzNxxvATDW4FgZ7OLx-ca85\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="35.441935"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVlHKCaIAK1\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dqW6HGg8KeB1!VlHKCaIAK1AY69j2oSnwqI-a938\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVlHKCaIAK1\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dqW6HGg8KeB1!VlHKCaIAK1AY69j2oSnwqI-a938\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="34.275877"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAx09LDbiE8m\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!x09LDbiE8mAfWmoGec_BP9-ccfe\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAx09LDbiE8m\xB1connectionDetails\x89\xA8clientId\xA9client_id\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!x09LDbiE8mAfWmoGec_BP9-ccfe\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1363
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client multiple times on the same channel with different client_ids has no affect on the client&apos;s presence state and only enters on behalf of the provided client_id" file="./spec/acceptance/realtime/presence_spec.rb" time="35.947118"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAj7lFozkMWx\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!j7lFozkMWxAdU_l17jDwli-ce49\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAj7lFozkMWx\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!j7lFozkMWxAdU_l17jDwli-ce49\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client multiple times on the same channel with different client_ids enters a channel and sets the data based on the provided :data option" file="./spec/acceptance/realtime/presence_spec.rb" time="36.067463"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAAG7BM5voYS\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!AG7BM5voYSAXRxdRzcFMh--86de\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAAG7BM5voYS\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!AG7BM5voYSAXRxdRzcFMh--86de\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client message #connection_id matches the current client connection_id" file="./spec/acceptance/realtime/presence_spec.rb" time="35.675725"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHYT6RLIQls\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!HYT6RLIQlsAaA6osqfCnxG-ae1f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHYT6RLIQls\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!HYT6RLIQlsAaA6osqfCnxG-ae1f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client without necessary capabilities to enter on behalf of another client calls the Deferrable errback on capabilities failure" file="./spec/acceptance/realtime/presence_spec.rb" time="34.947586"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAv1J2v9Tns5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!v1J2v9Tns5AZqh_kwcgD6o-895c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAv1J2v9Tns5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!v1J2v9Tns5AZqh_kwcgD6o-895c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when anonymous and no client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.795105"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABUxSLUCBg8\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dqW6HGg8KeB1!BUxSLUCBg8AYCl4nDyh_3R-b0b7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABUxSLUCBg8\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dqW6HGg8KeB1!BUxSLUCBg8AYCl4nDyh_3R-b0b7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when anonymous and no client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="35.244877"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAgBIHmiKM-5\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!gBIHmiKM-5AccroeZVU_Of-8c00\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAgBIHmiKM-5\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!gBIHmiKM-5AccroeZVU_Of-8c00\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when anonymous and no client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.495565"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAUbxu38RQIu\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Ubxu38RQIuAXpWw_gG1X9L-d583\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAUbxu38RQIu\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Ubxu38RQIuAXpWw_gG1X9L-d583\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when anonymous and no client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.209034"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtLqJrIpD9p\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!tLqJrIpD9pAfRB7b07s_y2-8e86\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAtLqJrIpD9p\xB1connectionDetails\x88\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!tLqJrIpD9pAfRB7b07s_y2-8e86\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a wildcard client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.300092"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA4PXUs35rz4\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!4PXUs35rz4AROA5OVk4Ud4-b5bf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA4PXUs35rz4\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!4PXUs35rz4AROA5OVk4Ud4-b5bf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a wildcard client_id and a client_id that is not a string type throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.370129"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8KsRRW0kVe\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!8KsRRW0kVeAWNJEwpjF6D9-d935\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8KsRRW0kVe\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!8KsRRW0kVeAWNJEwpjF6D9-d935\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a wildcard client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.751367"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKFdReNCa3n\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!KFdReNCa3nASgALbN6U-xL-9253\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKFdReNCa3n\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!KFdReNCa3nASgALbN6U-xL-9253\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a wildcard client_id and a valid client_id succeeds" file="./spec/acceptance/realtime/presence_spec.rb" time="36.348125"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA4PlLRQzBLH\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!4PlLRQzBLHARHS1j92oNcX-dbc3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA4PlLRQzBLH\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!4PlLRQzBLHARHS1j92oNcX-dbc3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a valid client_id and a wildcard client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.986078"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHLpWeKxoyA\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!HLpWeKxoyAAT2e6kR22LhG-94ec\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAHLpWeKxoyA\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!HLpWeKxoyAAT2e6kR22LhG-94ec\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a valid client_id and another invalid client_id before authentication allows the operation and then Ably rejects the operation" file="./spec/acceptance/realtime/presence_spec.rb" time="36.128383"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqSd-49e_vz\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!qSd-49e_vzAVMy0Ne3cfL2-bbcb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqSd-49e_vz\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!qSd-49e_vzAVMy0Ne3cfL2-bbcb\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a valid client_id and another invalid client_id after authentication throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.363364"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAAFMiph9ifV\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!AFMiph9ifVAT2LpZIIScSk-bd0b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAAFMiph9ifV\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!AFMiph9ifVAT2LpZIIScSk-bd0b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol entering/updating/leaving presence state on behalf of another client_id #enter_client it should behave like a presence on behalf of another client method :enter_client when authenticated with a valid client_id and an empty client_id throws an exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.306206"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAd-0mZr6Qry\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!d-0mZr6QryAZzXT205BMge-be3b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAd-0mZr6Qry\xB1connectionDetails\x89\xA8clientId\xA5valid\xADconnectionKey\xD9*e7dqW6HGg8KeB1!d-0mZr6QryAZzXT205BMge-be3b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a presence on behalf of another client method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1364
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol :left event emits the data defined in enter" file="./spec/acceptance/realtime/presence_spec.rb" time="35.943532"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAupIounyhM8\xB1connectionDetails\x89\xA8clientId\xD9 097fc2b23564da50b4c1e44c8b918e22\xADconnectionKey\xD9*e7dqW6HGg8KeB1!upIounyhM8ASkO9HhLpXkk-bf85\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAupIounyhM8\xB1connectionDetails\x89\xA8clientId\xD9 097fc2b23564da50b4c1e44c8b918e22\xADconnectionKey\xD9*e7dqW6HGg8KeB1!upIounyhM8ASkO9HhLpXkk-bf85\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol :left event emits the data defined in update" file="./spec/acceptance/realtime/presence_spec.rb" time="34.981239"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjKY_ndU7Tq\xB1connectionDetails\x89\xA8clientId\xD9 3afdd9df92b134415db53494f5115133\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!jKY_ndU7TqAfrZ-aEQ7AU--e364\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjKY_ndU7Tq\xB1connectionDetails\x89\xA8clientId\xD9 3afdd9df92b134415db53494f5115133\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!jKY_ndU7TqAfrZ-aEQ7AU--e364\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #sync_complete? and SYNC flags (#RTP1) when attaching to a channel without any members present sync_complete? is true, no members are received and the presence channel is synced (#RTP1)" file="./spec/acceptance/realtime/presence_spec.rb" time="33.606680"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoRsTU9lFEe\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!oRsTU9lFEeAXroOQsgJNb9-e47c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoRsTU9lFEe\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!oRsTU9lFEeAXroOQsgJNb9-e47c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #sync_complete? and SYNC flags (#RTP1) when attaching to a channel with members present sync_complete? is false, there is a presence flag, and the presence channel is subsequently synced (#RTP1)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.922977"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbUsvWghohT\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!bUsvWghohTAU8I3UvbAyCf-e5bf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAbUsvWghohT\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!bUsvWghohTAU8I3UvbAyCf-e5bf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol connection failure mid-way through a large member sync resumes the SYNC operation (#RTP3)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.974506"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAymNss_xij3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!ymNss_xij3Ac4HEyHI1bUt-c44b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAymNss_xij3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dqW6HGg8KeB1!ymNss_xij3Ac4HEyHI1bUt-c44b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol when the client does not have presence subscribe privileges but is present on the channel receives presence updates for all presence events generated by the current connection and the presence map is kept up to date (#RTP17a)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.541574"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXjOtdlbYmh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!XjOtdlbYmhATCtFyCmyoJT-9fc4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXjOtdlbYmh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!XjOtdlbYmhATCtFyCmyoJT-9fc4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter data attribute when provided as argument option to #enter changes to value provided in #leave" file="./spec/acceptance/realtime/presence_spec.rb" time="35.134526"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9EQEx34g_f\xB1connectionDetails\x89\xA8clientId\xD9 bf37685b3d47d8e89b4ee8c76c3b84a1\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!9EQEx34g_fAZywizl-9u2s-e9ce\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9EQEx34g_f\xB1connectionDetails\x89\xA8clientId\xD9 bf37685b3d47d8e89b4ee8c76c3b84a1\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!9EQEx34g_fAZywizl-9u2s-e9ce\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter message #connection_id matches the current client connection_id" file="./spec/acceptance/realtime/presence_spec.rb" time="35.210696"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2_6D9HmkHW\xB1connectionDetails\x89\xA8clientId\xD9 7dfc7bdb243a61952d30452926ee2cb3\xADconnectionKey\xD9*e7dqW6HGg8KeB1!2_6D9HmkHWAd9abpwnoQub-c7fa\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA2_6D9HmkHW\xB1connectionDetails\x89\xA8clientId\xD9 7dfc7bdb243a61952d30452926ee2cb3\xADconnectionKey\xD9*e7dqW6HGg8KeB1!2_6D9HmkHWAd9abpwnoQub-c7fa\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method presence enter : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.412339"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWBzf9fOINq\xB1connectionDetails\x89\xA8clientId\xD9 c0eb91f0baccb9dd389e3510361755c8\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!WBzf9fOINqAdCjZXePNp__-a369\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWBzf9fOINq\xB1connectionDetails\x89\xA8clientId\xD9 c0eb91f0baccb9dd389e3510361755c8\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!WBzf9fOINqAdCjZXePNp__-a369\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method presence enter : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="33.821774"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAhassp5C50x\xB1connectionDetails\x89\xA8clientId\xD9 6a4843fe8fbd297b7ced5dad7979ca02\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!hassp5C50xAUB2lUJLF7cs-ed6a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAhassp5C50x\xB1connectionDetails\x89\xA8clientId\xD9 6a4843fe8fbd297b7ced5dad7979ca02\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!hassp5C50xAUB2lUJLF7cs-ed6a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.741821"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAsTnUQYr5Zz\xB1connectionDetails\x89\xA8clientId\xD9 3591bfa170715841fab02db20f2644f9\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!sTnUQYr5ZzAUkeh72yDsGu-a5a4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAsTnUQYr5Zz\xB1connectionDetails\x89\xA8clientId\xD9 3591bfa170715841fab02db20f2644f9\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!sTnUQYr5ZzAUkeh72yDsGu-a5a4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method presence enter : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.962787"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAB2WjpLthza\xB1connectionDetails\x89\xA8clientId\xD9 b92d2b489d8af7661787f8d8cc00d23b\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!B2WjpLthzaAd29jeGHU4kb-efcc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAB2WjpLthza\xB1connectionDetails\x89\xA8clientId\xD9 b92d2b489d8af7661787f8d8cc00d23b\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!B2WjpLthzaAd29jeGHU4kb-efcc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method presence enter : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="35.725222"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACyZnL9kmI_\xB1connectionDetails\x89\xA8clientId\xD9 4b7699e9d49bc37c0c8288a06b4fddcf\xADconnectionKey\xD9*e7dqW6HGg8KeB1!CyZnL9kmI_Afm-Wt5YHqE1-cdc8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAACyZnL9kmI_\xB1connectionDetails\x89\xA8clientId\xD9 4b7699e9d49bc37c0c8288a06b4fddcf\xADconnectionKey\xD9*e7dqW6HGg8KeB1!CyZnL9kmI_Afm-Wt5YHqE1-cdc8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="35.646353"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_UteZKOCzn\xB1connectionDetails\x89\xA8clientId\xD9 2c498acfccf904deecbab150cdffd8bb\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!_UteZKOCznAUVTuVZ_XE8w-a935\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_UteZKOCzn\xB1connectionDetails\x89\xA8clientId\xD9 2c498acfccf904deecbab150cdffd8bb\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!_UteZKOCznAUVTuVZ_XE8w-a935\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="35.241536"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAgdf0BKHlRf\xB1connectionDetails\x89\xA8clientId\xD9 db6e2206013a493c841aad5c4b5dca07\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!gdf0BKHlRfATi5eUf90qOD-aa7f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAgdf0BKHlRf\xB1connectionDetails\x89\xA8clientId\xD9 db6e2206013a493c841aad5c4b5dca07\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!gdf0BKHlRfATi5eUf90qOD-aa7f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="34.245424"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGACCDfh5H5\xB1connectionDetails\x89\xA8clientId\xD9 b7b3a10fbb16dddafcfa3644c755d9c2\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!GACCDfh5H5AZ3iqKKBMQCD-f476\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGACCDfh5H5\xB1connectionDetails\x89\xA8clientId\xD9 b7b3a10fbb16dddafcfa3644c755d9c2\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!GACCDfh5H5AZ3iqKKBMQCD-f476\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="36.490102"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWlnPn15VXM\xB1connectionDetails\x89\xA8clientId\xD9 57c9c9113857e143b14ec57edd13a7eb\xADconnectionKey\xD9*e7dqW6HGg8KeB1!WlnPn15VXMAYJqjNo1LRZp-d27b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWlnPn15VXM\xB1connectionDetails\x89\xA8clientId\xD9 57c9c9113857e143b14ec57edd13a7eb\xADconnectionKey\xD9*e7dqW6HGg8KeB1!WlnPn15VXMAYJqjNo1LRZp-d27b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.156114"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAArxh0cCPZ4p\xB1connectionDetails\x89\xA8clientId\xD9 941f832a61a42fe2c830093a0dee2663\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!rxh0cCPZ4pAQ7P0XBxzEiA-add5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAArxh0cCPZ4p\xB1connectionDetails\x89\xA8clientId\xD9 941f832a61a42fe2c830093a0dee2663\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!rxh0cCPZ4pAQ7P0XBxzEiA-add5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.869228"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAf8AC_XRV8e\xB1connectionDetails\x89\xA8clientId\xD9 973c22839146d5ce98fcd225b7ba5163\xADconnectionKey\xD9*e7dqW6HGg8KeB1!f8AC_XRV8eAVyNFv2IKsNF-d4dd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAf8AC_XRV8e\xB1connectionDetails\x89\xA8clientId\xD9 973c22839146d5ce98fcd225b7ba5163\xADconnectionKey\xD9*e7dqW6HGg8KeB1!f8AC_XRV8eAVyNFv2IKsNF-d4dd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="36.273485"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAR_Z_5cyif0\xB1connectionDetails\x89\xA8clientId\xD9 06d1a901c6e34351e10f556199826a2e\xADconnectionKey\xD9*e7dqW6HGg8KeB1!R_Z_5cyif0AXbtQqffdjcn-d629\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAR_Z_5cyif0\xB1connectionDetails\x89\xA8clientId\xD9 06d1a901c6e34351e10f556199826a2e\xADconnectionKey\xD9*e7dqW6HGg8KeB1!R_Z_5cyif0AXbtQqffdjcn-d629\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.958277"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAANdZgMt0xQy\xB1connectionDetails\x89\xA8clientId\xD9 15972c4890bab85b4ec5d30e620fc9ec\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!NdZgMt0xQyATyyRWo31Hf--b176\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAANdZgMt0xQy\xB1connectionDetails\x89\xA8clientId\xD9 15972c4890bab85b4ec5d30e620fc9ec\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!NdZgMt0xQyATyyRWo31Hf--b176\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.623935"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5wsVuNrPQM\xB1connectionDetails\x89\xA8clientId\xD9 8712b21bd02fd5dba06bcfab9922b521\xADconnectionKey\xD9*e7dqW6HGg8KeB1!5wsVuNrPQMAawqC-z68bX3-d88a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA5wsVuNrPQM\xB1connectionDetails\x89\xA8clientId\xD9 8712b21bd02fd5dba06bcfab9922b521\xADconnectionKey\xD9*e7dqW6HGg8KeB1!5wsVuNrPQMAawqC-z68bX3-d88a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.824527"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAl11aJ8dryy\xB1connectionDetails\x89\xA8clientId\xD9 809e43b29460c293de0de8efd6ac8ba1\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!l11aJ8dryyAXkfAPJ1IEIx-b3e5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAl11aJ8dryy\xB1connectionDetails\x89\xA8clientId\xD9 809e43b29460c293de0de8efd6ac8ba1\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!l11aJ8dryyAXkfAPJ1IEIx-b3e5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="36.258709"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiKRf-FeKyf\xB1connectionDetails\x89\xA8clientId\xD9 c8141edf81a7a4b3b1754eebde0e540f\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!iKRf-FeKyfAZWgESQ2ntER-b524\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiKRf-FeKyf\xB1connectionDetails\x89\xA8clientId\xD9 c8141edf81a7a4b3b1754eebde0e540f\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!iKRf-FeKyfAZWgESQ2ntER-b524\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.796486"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGk98WO5Qdm\xB1connectionDetails\x89\xA8clientId\xD9 774aa7a89141ed8f76f8b0eed4f97ebd\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Gk98WO5QdmAd8kOkBvxmqO-ff67\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAGk98WO5Qdm\xB1connectionDetails\x89\xA8clientId\xD9 774aa7a89141ed8f76f8b0eed4f97ebd\xADconnectionKey\xD9*e7dTlO6Dw9GHY1!Gk98WO5QdmAd8kOkBvxmqO-ff67\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="34.752001"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKl59QARuxf\xB1connectionDetails\x89\xA8clientId\xD9 4b60e9841c389c94d9500a671fa9b69e\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!Kl59QARuxfASyIQFZS2-NO-b783\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAKl59QARuxf\xB1connectionDetails\x89\xA8clientId\xD9 4b60e9841c389c94d9500a671fa9b69e\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!Kl59QARuxfASyIQFZS2-NO-b783\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="35.446835"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABFHEeqY3Jq\xB1connectionDetails\x89\xA8clientId\xD9 79fe83a28f41c357b12c3df563289325\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!BFHEeqY3JqAaKTTpEsMj8K-101e6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABFHEeqY3Jq\xB1connectionDetails\x89\xA8clientId\xD9 79fe83a28f41c357b12c3df563289325\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!BFHEeqY3JqAaKTTpEsMj8K-101e6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.742890"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVF-Om0bxlr\xB1connectionDetails\x89\xA8clientId\xD9 4c11eecc38f89d833c579e359bc58c88\xADconnectionKey\xD9*e7dqW6HGg8KeB1!VF-Om0bxlrAVmKvMUF91je-df94\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVF-Om0bxlr\xB1connectionDetails\x89\xA8clientId\xD9 4c11eecc38f89d833c579e359bc58c88\xADconnectionKey\xD9*e7dqW6HGg8KeB1!VF-Om0bxlrAVmKvMUF91je-df94\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.255067"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA41NAJ_cPde\xB1connectionDetails\x89\xA8clientId\xD9 40c66d24a352635dc0dc6aa22a51c45e\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!41NAJ_cPdeAdbCWQrjtNuL-bb34\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA41NAJ_cPde\xB1connectionDetails\x89\xA8clientId\xD9 40c66d24a352635dc0dc6aa22a51c45e\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!41NAJ_cPdeAdbCWQrjtNuL-bb34\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="34.245673"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMl2CrEa2c0\xB1connectionDetails\x89\xA8clientId\xD9 bb76fc42046e77b80bab33022d9495ce\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!Ml2CrEa2c0AVI-nbOVtK9M-10572\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAMl2CrEa2c0\xB1connectionDetails\x89\xA8clientId\xD9 bb76fc42046e77b80bab33022d9495ce\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!Ml2CrEa2c0AVI-nbOVtK9M-10572\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1108
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #enter without necessary capabilities to join presence calls the Deferrable errback on capabilities failure" file="./spec/acceptance/realtime/presence_spec.rb" time="35.520132"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9mWjZPEOy5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!9mWjZPEOy5AQEZcyppbs4s-bd9a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA9mWjZPEOy5\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!9mWjZPEOy5AQEZcyppbs4s-bd9a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol state once opened once opened, enters the :left state if the channel detaches" file="./spec/acceptance/realtime/presence_spec.rb" time="35.535494"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-mN3Av4TQ_\xB1connectionDetails\x89\xA8clientId\xD9 e227734daa6e5b4045262a469f81bb02\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!-mN3Av4TQ_AbC7KsV3F4FK-107d5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-mN3Av4TQ_\xB1connectionDetails\x89\xA8clientId\xD9 e227734daa6e5b4045262a469f81bb02\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!-mN3Av4TQ_AbC7KsV3F4FK-107d5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol REST #get returns current members" file="./spec/acceptance/realtime/presence_spec.rb" time="35.023853"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABi4X_7DX2A\xB1connectionDetails\x89\xA8clientId\xD9 38222ed3660e4cc375d079929220daa3\xADconnectionKey\xD9*e7dqW6HGg8KeB1!Bi4X_7DX2AAbcmx4vRaePE-e572\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABi4X_7DX2A\xB1connectionDetails\x89\xA8clientId\xD9 38222ed3660e4cc375d079929220daa3\xADconnectionKey\xD9*e7dqW6HGg8KeB1!Bi4X_7DX2AAbcmx4vRaePE-e572\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol REST #get returns no members once left" file="./spec/acceptance/realtime/presence_spec.rb" time="35.042419"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAEXzI3cPYdn\xB1connectionDetails\x89\xA8clientId\xD9 50710603c68fcc5a1c3141691e4cef42\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!EXzI3cPYdnATM8QShw_E1x-10a4d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAEXzI3cPYdn\xB1connectionDetails\x89\xA8clientId\xD9 50710603c68fcc5a1c3141691e4cef42\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!EXzI3cPYdnATM8QShw_E1x-10a4d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update updates the data to nil if :data argument is not provided (assumes nil value)" file="./spec/acceptance/realtime/presence_spec.rb" time="36.172970"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA1Y4qJNAAO0\xB1connectionDetails\x89\xA8clientId\xD9 3985efeccc6548237cf92ba5a65b9204\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!1Y4qJNAAO0AYYgEE7I9fje-c292\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA1Y4qJNAAO0\xB1connectionDetails\x89\xA8clientId\xD9 3985efeccc6548237cf92ba5a65b9204\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!1Y4qJNAAO0AYYgEE7I9fje-c292\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update without previous #enter automatically enters" file="./spec/acceptance/realtime/presence_spec.rb" time="35.790877"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAlk1DeTCcFH\xB1connectionDetails\x89\xA8clientId\xD9 52d6f2c6beafc46385de5d3f55d2369e\xADconnectionKey\xD9*e7dqW6HGg8KeB1!lk1DeTCcFHAac-I4hLGUZA-e8d8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAlk1DeTCcFH\xB1connectionDetails\x89\xA8clientId\xD9 52d6f2c6beafc46385de5d3f55d2369e\xADconnectionKey\xD9*e7dqW6HGg8KeB1!lk1DeTCcFHAac-I4hLGUZA-e8d8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update updates the data if :data argument provided" file="./spec/acceptance/realtime/presence_spec.rb" time="35.491656"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAICYzi45XKH\xB1connectionDetails\x89\xA8clientId\xD9 31ab1d753dd3bd572b1ad89740dd03d9\xADconnectionKey\xD9*e7dqW6HGg8KeB1!ICYzi45XKHAaQcRzaIXd10-e9f9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAICYzi45XKH\xB1connectionDetails\x89\xA8clientId\xD9 31ab1d753dd3bd572b1ad89740dd03d9\xADconnectionKey\xD9*e7dqW6HGg8KeB1!ICYzi45XKHAaQcRzaIXd10-e9f9\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update when ENTERED has no effect on the state" file="./spec/acceptance/realtime/presence_spec.rb" time="36.395825"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAn6HIyaX6Lq\xB1connectionDetails\x89\xA8clientId\xD9 e873c234f1d47dc8566568c564f4b262\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!n6HIyaX6LqAfFux-RP044g-10f12\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAn6HIyaX6Lq\xB1connectionDetails\x89\xA8clientId\xD9 e873c234f1d47dc8566568c564f4b262\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!n6HIyaX6LqAfFux-RP044g-10f12\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="35.503939"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPIfInHaxCp\xB1connectionDetails\x89\xA8clientId\xD9 e09db947dbe393a6b631d13dab04ff2a\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!PIfInHaxCpAaEwjceqNzRZ-11028\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPIfInHaxCp\xB1connectionDetails\x89\xA8clientId\xD9 e09db947dbe393a6b631d13dab04ff2a\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!PIfInHaxCpAaEwjceqNzRZ-11028\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method presence update : raise an exception if the channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.931266"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXrVAgXYo9j\xB1connectionDetails\x89\xA8clientId\xD9 05fa580be1eb03757288961aa0b6f1bf\xADconnectionKey\xD9*e7dqW6HGg8KeB1!XrVAgXYo9jAYV3aLWGPgWE-ed5f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXrVAgXYo9j\xB1connectionDetails\x89\xA8clientId\xD9 05fa580be1eb03757288961aa0b6f1bf\xADconnectionKey\xD9*e7dqW6HGg8KeB1!XrVAgXYo9jAYV3aLWGPgWE-ed5f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method catches exceptions in the provided method block and logs them to the logger" file="./spec/acceptance/realtime/presence_spec.rb" time="34.786286"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiavCWdvqIW\xB1connectionDetails\x89\xA8clientId\xD9 8ec8a2163e3a12c65239486ab8903dcb\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!iavCWdvqIWAXTdJhbWpZ15-112bd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAiavCWdvqIW\xB1connectionDetails\x89\xA8clientId\xD9 8ec8a2163e3a12c65239486ab8903dcb\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!iavCWdvqIWAXTdJhbWpZ15-112bd\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method presence update : raise an exception if the channel becomes detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.095536"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6Lb1kU2CDM\xB1connectionDetails\x89\xA8clientId\xD9 f3871ee0189a51517298b09160975d9c\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!6Lb1kU2CDMAbFhSYJhAC4F-caf3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6Lb1kU2CDM\xB1connectionDetails\x89\xA8clientId\xD9 f3871ee0189a51517298b09160975d9c\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!6Lb1kU2CDMAbFhSYJhAC4F-caf3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="35.522458"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuR67gV3u6o\xB1connectionDetails\x89\xA8clientId\xD9 06f6146df087b46901be481529d28291\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!uR67gV3u6oAThgEhR8i88A-cc29\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAuR67gV3u6o\xB1connectionDetails\x89\xA8clientId\xD9 06f6146df087b46901be481529d28291\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!uR67gV3u6oAThgEhR8i88A-cc29\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method allows a block to be passed in that is executed upon success" file="./spec/acceptance/realtime/presence_spec.rb" time="36.042270"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAr3YPR3Grhw\xB1connectionDetails\x89\xA8clientId\xD9 a6d209989a84177d63d92fa790a9b04e\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!r3YPR3GrhwAZVT9N7-fH5h-cd79\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAr3YPR3Grhw\xB1connectionDetails\x89\xA8clientId\xD9 a6d209989a84177d63d92fa790a9b04e\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!r3YPR3GrhwAZVT9N7-fH5h-cd79\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method presence update : raise an exception if the channel becomes failed" file="./spec/acceptance/realtime/presence_spec.rb" time="35.704823"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA0rGyJArcJg\xB1connectionDetails\x89\xA8clientId\xD9 35e0771ed951a93df09a04c876ff025f\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!0rGyJArcJgAXN_-01h-z2q-11793\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA0rGyJArcJg\xB1connectionDetails\x89\xA8clientId\xD9 35e0771ed951a93df09a04c876ff025f\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!0rGyJArcJgAXN_-01h-z2q-11793\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method implicitly attaches the channel" file="./spec/acceptance/realtime/presence_spec.rb" time="35.616829"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWOU2_1jpSk\xB1connectionDetails\x89\xA8clientId\xD9 f53e33639d7894dee06e3a4460b6a10a\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!WOU2_1jpSkAb_od5hr-RqF-118d5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWOU2_1jpSk\xB1connectionDetails\x89\xA8clientId\xD9 f53e33639d7894dee06e3a4460b6a10a\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!WOU2_1jpSkAb_od5hr-RqF-118d5\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method presence update : raise an exception if the channel is failed" file="./spec/acceptance/realtime/presence_spec.rb" time="35.715448"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkWWvRtUMNs\xB1connectionDetails\x89\xA8clientId\xD9 598f332d0765a6dfa605b9b8075781b7\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!kWWvRtUMNsAR8liEnriH90-d0f8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkWWvRtUMNs\xB1connectionDetails\x89\xA8clientId\xD9 598f332d0765a6dfa605b9b8075781b7\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!kWWvRtUMNsAR8liEnriH90-d0f8\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with unsupported data payload content type False raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.519180"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyNsU2EpfmN\xB1connectionDetails\x89\xA8clientId\xD9 b77ae0e2db3458836a8985729d019e26\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!yNsU2EpfmNARJCBnLqraX2-11b2b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyNsU2EpfmN\xB1connectionDetails\x89\xA8clientId\xD9 b77ae0e2db3458836a8985729d019e26\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!yNsU2EpfmNARJCBnLqraX2-11b2b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with unsupported data payload content type Integer raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="35.464192"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAdwRZHx5Vkm\xB1connectionDetails\x89\xA8clientId\xD9 dd36e9775267eae7ac1587ecc30215e5\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!dwRZHx5VkmAZYjFbd3ISSS-d37d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAdwRZHx5Vkm\xB1connectionDetails\x89\xA8clientId\xD9 dd36e9775267eae7ac1587ecc30215e5\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!dwRZHx5VkmAZYjFbd3ISSS-d37d\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with unsupported data payload content type Float raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.590908"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA505pnaf8zm\xB1connectionDetails\x89\xA8clientId\xD9 adf47fafc9839919dd088b43cf862558\xADconnectionKey\xD9*e7dqW6HGg8KeB1!505pnaf8zmAbTmGN9eF0K9-f974\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA505pnaf8zm\xB1connectionDetails\x89\xA8clientId\xD9 adf47fafc9839919dd088b43cf862558\xADconnectionKey\xD9*e7dqW6HGg8KeB1!505pnaf8zmAbTmGN9eF0K9-f974\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with unsupported data payload content type Boolean raises an UnsupportedDataType 40013 exception" file="./spec/acceptance/realtime/presence_spec.rb" time="34.983096"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZcEG2Lu7R-\xB1connectionDetails\x89\xA8clientId\xD9 5d16a094d16f442ba1902ece72e93ac3\xADconnectionKey\xD9*e7dqW6HGg8KeB1!ZcEG2Lu7R-AYl2le5EcnQs-faae\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAZcEG2Lu7R-\xB1connectionDetails\x89\xA8clientId\xD9 5d16a094d16f442ba1902ece72e93ac3\xADconnectionKey\xD9*e7dqW6HGg8KeB1!ZcEG2Lu7R-AYl2le5EcnQs-faae\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method when :queue_messages client option is false and connection state connected publishes the message" file="./spec/acceptance/realtime/presence_spec.rb" time="35.327358"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAexIQsTA0EN\xB1connectionDetails\x89\xA8clientId\xD9 01ca1a5e9e2231e7dec921cb09dac467\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!exIQsTA0ENAWCKwhmXHKfO-d716\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAexIQsTA0EN\xB1connectionDetails\x89\xA8clientId\xD9 01ca1a5e9e2231e7dec921cb09dac467\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!exIQsTA0ENAWCKwhmXHKfO-d716\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method when :queue_messages client option is false and connection state disconnected fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.518037"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAL89HQSf_UN\xB1connectionDetails\x89\xA8clientId\xD9 3cff9ba72ce1bdc50f8a1fb2db2c708d\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!L89HQSf_UNAeB1ZktfUw-c-12145\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAL89HQSf_UN\xB1connectionDetails\x89\xA8clientId\xD9 3cff9ba72ce1bdc50f8a1fb2db2c708d\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!L89HQSf_UNAeB1ZktfUw-c-12145\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method when :queue_messages client option is false and connection state initialized fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.938674"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFfugpujOgu\xB1connectionDetails\x89\xA8clientId\xD9 a1979f9aff27f26b076fc2095fd097b4\xADconnectionKey\xD9*e7dqW6HGg8KeB1!FfugpujOguAT7AB7qxUtMe-fe33\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAFfugpujOgu\xB1connectionDetails\x89\xA8clientId\xD9 a1979f9aff27f26b076fc2095fd097b4\xADconnectionKey\xD9*e7dqW6HGg8KeB1!FfugpujOguAT7AB7qxUtMe-fe33\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method when :queue_messages client option is false and connection state connecting fails the deferrable" file="./spec/acceptance/realtime/presence_spec.rb" time="34.950867"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARKheGofZar\xB1connectionDetails\x89\xA8clientId\xD9 31690ef828d05d69a29f198c0733fd09\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!RKheGofZarASLkylTmkjE3-daec\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAARKheGofZar\xB1connectionDetails\x89\xA8clientId\xD9 31690ef828d05d69a29f198c0733fd09\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!RKheGofZarASLkylTmkjE3-daec\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method if connection fails before success calls the Deferrable errback if channel is detached" file="./spec/acceptance/realtime/presence_spec.rb" time="35.212149"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8AgQZZ0nz-\xB1connectionDetails\x89\xA8clientId\xD9 4c10e56aa9a4ea854b047ef5975f3842\xADconnectionKey\xD9+e7dqW6HGg8KeB1!8AgQZZ0nz-ARhGZMzez8w3-100a4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8AgQZZ0nz-\xB1connectionDetails\x89\xA8clientId\xD9 4c10e56aa9a4ea854b047ef5975f3842\xADconnectionKey\xD9+e7dqW6HGg8KeB1!8AgQZZ0nz-ARhGZMzez8w3-100a4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with supported data payload content type JSON Array is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="36.076375"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_d3rddlzNO\xB1connectionDetails\x89\xA8clientId\xD9 037f9090dbbd4bd1860054ccbd5ff6d5\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!_d3rddlzNOAeo0YoQys_lH-12656\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_d3rddlzNO\xB1connectionDetails\x89\xA8clientId\xD9 037f9090dbbd4bd1860054ccbd5ff6d5\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!_d3rddlzNOAeo0YoQys_lH-12656\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with supported data payload content type String is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="35.501487"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVuQ6AoWi0A\xB1connectionDetails\x89\xA8clientId\xD9 4d220bc77631136fc6429012fcb016f2\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!VuQ6AoWi0AAVJPsi9p0Npv-de7e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVuQ6AoWi0A\xB1connectionDetails\x89\xA8clientId\xD9 4d220bc77631136fc6429012fcb016f2\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!VuQ6AoWi0AAVJPsi9p0Npv-de7e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with supported data payload content type JSON Object (Hash) is encoded and decoded to the same hash" file="./spec/acceptance/realtime/presence_spec.rb" time="34.120955"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQt2SNzUsGA\xB1connectionDetails\x89\xA8clientId\xD9 2b35853f475c2b92dd23f50c4203092c\xADconnectionKey\xD9+e7dqW6HGg8KeB1!Qt2SNzUsGAAXKdl7I2a6f1-103f6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAQt2SNzUsGA\xB1connectionDetails\x89\xA8clientId\xD9 2b35853f475c2b92dd23f50c4203092c\xADconnectionKey\xD9+e7dqW6HGg8KeB1!Qt2SNzUsGAAXKdl7I2a6f1-103f6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #update it should behave like a public presence method with supported data payload content type Binary is encoded and decoded to the same Array" file="./spec/acceptance/realtime/presence_spec.rb" time="34.370255"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPdVhxDSTlU\xB1connectionDetails\x89\xA8clientId\xD9 06eccf06033584ec195896047c5d8bd5\xADconnectionKey\xD9+e7dqW6HGg8KeB1!PdVhxDSTlUAfwDr09X335t-10512\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPdVhxDSTlU\xB1connectionDetails\x89\xA8clientId\xD9 06eccf06033584ec195896047c5d8bd5\xADconnectionKey\xD9+e7dqW6HGg8KeB1!PdVhxDSTlUAfwDr09X335t-10512\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
Shared Example Group: &quot;a public presence method&quot; called from ./spec/acceptance/realtime/presence_spec.rb:1161
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get filters by connection_id option if provided (#RTP11c3)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.957180"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAfH7lZDCmzV\xB1connectionDetails\x89\xA8clientId\xD9 1377a8c894b3bb36be1a5735596ef425\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!fH7lZDCmzVAR2uWyc8cYNH-12b23\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAfH7lZDCmzV\xB1connectionDetails\x89\xA8clientId\xD9 1377a8c894b3bb36be1a5735596ef425\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!fH7lZDCmzVAR2uWyc8cYNH-12b23\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get calls the Deferrable callback on success" file="./spec/acceptance/realtime/presence_spec.rb" time="34.941883"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyZU7BL3V0Y\xB1connectionDetails\x89\xA8clientId\xD9 c4b5da8ed7469dc0deb631f62fe16db8\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!yZU7BL3V0YAYd_LhjDY9n1-e35e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyZU7BL3V0Y\xB1connectionDetails\x89\xA8clientId\xD9 c4b5da8ed7469dc0deb631f62fe16db8\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!yZU7BL3V0YAYd_LhjDY9n1-e35e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get catches exceptions in the provided method block" file="./spec/acceptance/realtime/presence_spec.rb" time="36.132819"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAcuLtMSb7Pa\xB1connectionDetails\x89\xA8clientId\xD9 9a50954ea784cb9d6d8284611ab9f89f\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!cuLtMSb7PaASRQE9TwPgPe-e48c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAcuLtMSb7Pa\xB1connectionDetails\x89\xA8clientId\xD9 9a50954ea784cb9d6d8284611ab9f89f\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!cuLtMSb7PaASRQE9TwPgPe-e48c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get filters by client_id option if provided (#RTP11c2)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.040472"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAIRPYoh-0QN\xB1connectionDetails\x89\xA8clientId\xD9 49edd868bd8a0f6260c76a3f89c6a8c2\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!IRPYoh-0QNAYN0HBuFIf14-12e84\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAIRPYoh-0QN\xB1connectionDetails\x89\xA8clientId\xD9 49edd868bd8a0f6260c76a3f89c6a8c2\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!IRPYoh-0QNAYN0HBuFIf14-12e84\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get implicitly attaches the channel (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.269559"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAniahyzLZU_\xB1connectionDetails\x89\xA8clientId\xD9 d96db735932f87a1a08dc59789e31e63\xADconnectionKey\xD9+e7dqW6HGg8KeB1!niahyzLZU_Af61q4EPjigm-10b28\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAniahyzLZU_\xB1connectionDetails\x89\xA8clientId\xD9 d96db735932f87a1a08dc59789e31e63\xADconnectionKey\xD9+e7dqW6HGg8KeB1!niahyzLZU_Af61q4EPjigm-10b28\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get returns the list of members and waits for SYNC to complete by default (#RTP11a)" file="./spec/acceptance/realtime/presence_spec.rb" time="34.601665"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAW5lkBzUxkQ\xB1connectionDetails\x89\xA8clientId\xD9 7c985f7318ad8fa15980ca9a9b3b9080\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!W5lkBzUxkQAbB_6f41p-KB-130df\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAW5lkBzUxkQ\xB1connectionDetails\x89\xA8clientId\xD9 7c985f7318ad8fa15980ca9a9b3b9080\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!W5lkBzUxkQAbB_6f41p-KB-130df\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get does not wait for SYNC to complete if :wait_for_sync option is false (#RTP11c1)" file="./spec/acceptance/realtime/presence_spec.rb" time="36.074265"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAvh0vSsofog\xB1connectionDetails\x89\xA8clientId\xD9 7778713121cb25a6c18011f07e6f223a\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!vh0vSsofogATIUunqbAiPy-13201\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAvh0vSsofog\xB1connectionDetails\x89\xA8clientId\xD9 7778713121cb25a6c18011f07e6f223a\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!vh0vSsofogATIUunqbAiPy-13201\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get returns the current members on the channel (#RTP11a)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.345072"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-nhdudmk_5\xB1connectionDetails\x89\xA8clientId\xD9 ba9a018cdc9c6f9936fff7191719b2dc\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!-nhdudmk_5ASEjAnsukY_b-eaa2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-nhdudmk_5\xB1connectionDetails\x89\xA8clientId\xD9 ba9a018cdc9c6f9936fff7191719b2dc\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!-nhdudmk_5ASEjAnsukY_b-eaa2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get fails if the connection is DETACHED (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.338572"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAdsAbUZD9G3\xB1connectionDetails\x89\xA8clientId\xD9 41f9c7b91e36800e68551c08d0535bfc\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!dsAbUZD9G3AVQMFeq0pWq1-13459\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAdsAbUZD9G3\xB1connectionDetails\x89\xA8clientId\xD9 41f9c7b91e36800e68551c08d0535bfc\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!dsAbUZD9G3AVQMFeq0pWq1-13459\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get fails if the connection is FAILED (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.395408"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjDWfU7jyEs\xB1connectionDetails\x89\xA8clientId\xD9 13519b072861e3528c5f336cc4ccd901\xADconnectionKey\xD9+e7dqW6HGg8KeB1!jDWfU7jyEsAeMDbD55weE7-110ed\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAjDWfU7jyEs\xB1connectionDetails\x89\xA8clientId\xD9 13519b072861e3528c5f336cc4ccd901\xADconnectionKey\xD9+e7dqW6HGg8KeB1!jDWfU7jyEsAeMDbD55weE7-110ed\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/presence_spec.rb" time="35.573153"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoNW_qjVsda\xB1connectionDetails\x89\xA8clientId\xD9 31bbc282fb44621ffcb142ceab69a1ad\xADconnectionKey\xD9+e7dqW6HGg8KeB1!oNW_qjVsdaAUn9bsVR886o-11223\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAoNW_qjVsda\xB1connectionDetails\x89\xA8clientId\xD9 31bbc282fb44621ffcb142ceab69a1ad\xADconnectionKey\xD9+e7dqW6HGg8KeB1!oNW_qjVsdaAUn9bsVR886o-11223\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get when a member enters and the presence map is updated adds the member as being :present (#RTP2d)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.253492"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzr1cPGDnz7\xB1connectionDetails\x89\xA8clientId\xD9 e558b6730f26f4079abe29600761c083\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!zr1cPGDnz7AVuCIpK5L5pk-137ae\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAzr1cPGDnz7\xB1connectionDetails\x89\xA8clientId\xD9 e558b6730f26f4079abe29600761c083\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!zr1cPGDnz7AVuCIpK5L5pk-137ae\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get when the channel is SUSPENDED with wait_for_sync: false returns the current PresenceMap and does not wait for the channel to change to the ATTACHED state (#RTP11d)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.758925"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAizamubu9rV\xB1connectionDetails\x89\xA8clientId\xD9 d0ad959a6e9e0f2d43465b45afd74878\xADconnectionKey\xD9+e7dqW6HGg8KeB1!izamubu9rVAVwva6FLpj0v-1148c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAizamubu9rV\xB1connectionDetails\x89\xA8clientId\xD9 d0ad959a6e9e0f2d43465b45afd74878\xADconnectionKey\xD9+e7dqW6HGg8KeB1!izamubu9rVAVwva6FLpj0v-1148c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get when the channel is SUSPENDED with wait_for_sync: true results in an error with @code@ @91005@ and a @message@ stating that the presence state is out of sync (#RTP11d)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.159303"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWMBhhUZIfp\xB1connectionDetails\x89\xA8clientId\xD9 fe8d59c97c3ab2eae03e73efde11399b\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!WMBhhUZIfpAdROupJgF5yv-13a14\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAWMBhhUZIfp\xB1connectionDetails\x89\xA8clientId\xD9 fe8d59c97c3ab2eae03e73efde11399b\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!WMBhhUZIfpAdROupJgF5yv-13a14\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get with lots of members on different clients returns a complete list of members on all clients" file="./spec/acceptance/realtime/presence_spec.rb" time="35.426813"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAP1UKUWv5lx\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!P1UKUWv5lxASlWNQeyRz6s-f2bc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAP1UKUWv5lx\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9*e7dLBGrLAq7Q8p!P1UKUWv5lxASlWNQeyRz6s-f2bc\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get during a sync when :wait_for_sync is true fails if the connection becomes FAILED (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="36.347854"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-GhrqPSjIR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!-GhrqPSjIRAdw6zfSsTYgl-13c70\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA-GhrqPSjIR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!-GhrqPSjIRAdw6zfSsTYgl-13c70\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get during a sync when :wait_for_sync is true fails if the channel becomes detached (#RTP11b)" file="./spec/acceptance/realtime/presence_spec.rb" time="35.990753"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6YXG80zHq7\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!6YXG80zHq7AQjt9kDFHYE_-13da2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA6YXG80zHq7\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!6YXG80zHq7AQjt9kDFHYE_-13da2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol #get when a member enters and then leaves has no members" file="./spec/acceptance/realtime/presence_spec.rb" time="35.523170"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAy4fjVOWGi5\xB1connectionDetails\x89\xA8clientId\xD9 d1a16b4d207416a57d64d67e9ad08964\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!y4fjVOWGi5AW2Bt2TuEEFw-13ef0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAy4fjVOWGi5\xB1connectionDetails\x89\xA8clientId\xD9 d1a16b4d207416a57d64d67e9ad08964\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!y4fjVOWGi5AW2Bt2TuEEFw-13ef0\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data encrypts presence message data" file="./spec/acceptance/realtime/presence_spec.rb" time="35.371131"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAUzKRFxLfwf\xB1connectionDetails\x89\xA8clientId\xD9 4fcfb61119cf66f0dbf7e0c966c6cb1a\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!UzKRFxLfwfAYauWwWE_stE-14023\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAUzKRFxLfwf\xB1connectionDetails\x89\xA8clientId\xD9 4fcfb61119cf66f0dbf7e0c966c6cb1a\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!UzKRFxLfwfAYauWwWE_stE-14023\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data when cipher settings do not match publisher emits an error when cipher does not match and presence data cannot be decoded" file="./spec/acceptance/realtime/presence_spec.rb" time="35.425851"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqwBIzmQN9F\xB1connectionDetails\x89\xA8clientId\xD9 de96503f045960a866a8ad056644f7d2\xADconnectionKey\xD9+e7dqW6HGg8KeB1!qwBIzmQN9FAXGsVKzhAxnI-11caf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAqwBIzmQN9F\xB1connectionDetails\x89\xA8clientId\xD9 de96503f045960a866a8ad056644f7d2\xADconnectionKey\xD9+e7dqW6HGg8KeB1!qwBIzmQN9FAXGsVKzhAxnI-11caf\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data when cipher settings do not match publisher delivers an unencoded presence message left with encoding value" file="./spec/acceptance/realtime/presence_spec.rb" time="35.294186"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPTY5HO-xh4\xB1connectionDetails\x89\xA8clientId\xD9 21bafc5f97374ffb365a6adf49322f19\xADconnectionKey\xD9+e7dqW6HGg8KeB1!PTY5HO-xh4AQmA8pAeJUYc-11df6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAPTY5HO-xh4\xB1connectionDetails\x89\xA8clientId\xD9 21bafc5f97374ffb365a6adf49322f19\xADconnectionKey\xD9+e7dqW6HGg8KeB1!PTY5HO-xh4AQmA8pAeJUYc-11df6\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data #get returns a list of members with decrypted data" file="./spec/acceptance/realtime/presence_spec.rb" time="34.641588"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAfpDuVr9jta\xB1connectionDetails\x89\xA8clientId\xD9 d28e2bc97f7c7c74c1b69cd9c1e2a3a1\xADconnectionKey\xD9+e7dqW6HGg8KeB1!fpDuVr9jtaAVK6n8sxoqrF-11f18\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAfpDuVr9jta\xB1connectionDetails\x89\xA8clientId\xD9 d28e2bc97f7c7c74c1b69cd9c1e2a3a1\xADconnectionKey\xD9+e7dqW6HGg8KeB1!fpDuVr9jtaAVK6n8sxoqrF-11f18\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data #subscribe emits previously set data for leave events" file="./spec/acceptance/realtime/presence_spec.rb" time="35.544668"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_sOAguz8Nd\xB1connectionDetails\x89\xA8clientId\xD9 f857cb963d3d3dcb0c1af5ca6a9a9080\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!_sOAguz8NdARwONOR3A_O1-144d4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA_sOAguz8Nd\xB1connectionDetails\x89\xA8clientId\xD9 f857cb963d3d3dcb0c1af5ca6a9a9080\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!_sOAguz8NdARwONOR3A_O1-144d4\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data #subscribe emits decrypted update events" file="./spec/acceptance/realtime/presence_spec.rb" time="34.665489"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAao3nXpMllR\xB1connectionDetails\x89\xA8clientId\xD9 3a2bffd8c9bdb41dbd76b3d90ab092e1\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!ao3nXpMllRATDiMgURYZKI-1461c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAao3nXpMllR\xB1connectionDetails\x89\xA8clientId\xD9 3a2bffd8c9bdb41dbd76b3d90ab092e1\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!ao3nXpMllRATDiMgURYZKI-1461c\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data #subscribe emits decrypted enter events" file="./spec/acceptance/realtime/presence_spec.rb" time="34.834452"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAgr73zXWhiG\xB1connectionDetails\x89\xA8clientId\xD9 851b952862f0d3080325bca93adb8b72\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!gr73zXWhiGAdvTk8uxdEh4-14736\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAgr73zXWhiG\xB1connectionDetails\x89\xA8clientId\xD9 851b952862f0d3080325bca93adb8b72\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!gr73zXWhiGAdvTk8uxdEh4-14736\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol encoding and decoding of presence message data REST #get returns a list of members with decrypted data" file="./spec/acceptance/realtime/presence_spec.rb" time="36.271959"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkLooxEnNGm\xB1connectionDetails\x89\xA8clientId\xD9 f4aba98c0d68e458fbe3c196cf22ffd0\xADconnectionKey\xD9+e7dqW6HGg8KeB1!kLooxEnNGmAcCCQ44-8XAR-123f1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAkLooxEnNGm\xB1connectionDetails\x89\xA8clientId\xD9 f4aba98c0d68e458fbe3c196cf22ffd0\xADconnectionKey\xD9+e7dqW6HGg8KeB1!kLooxEnNGmAcCCQ44-8XAR-123f1\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol leaving expect :left event once underlying connection is closed" file="./spec/acceptance/realtime/presence_spec.rb" time="36.902557"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXcYHFmjSxW\xB1connectionDetails\x89\xA8clientId\xD9 7a8de78016f2b658e0c37a2dabc0c4dd\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!XcYHFmjSxWAVAxj7BEs_sw-149c3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAXcYHFmjSxW\xB1connectionDetails\x89\xA8clientId\xD9 7a8de78016f2b658e0c37a2dabc0c4dd\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!XcYHFmjSxWAVAxj7BEs_sw-149c3\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.presence_spec" name="Ably::Realtime::Presence using MsgPack protocol leaving expect :left event with client data from enter event" file="./spec/acceptance/realtime/presence_spec.rb" time="35.580921"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAANp-NHqH5NE\xB1connectionDetails\x89\xA8clientId\xD9 f87d36b71fc5974dca391589abbfb02e\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!Np-NHqH5NEAcr8sCaintXm-10232\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAANp-NHqH5NE\xB1connectionDetails\x89\xA8clientId\xD9 f87d36b71fc5974dca391589abbfb02e\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!Np-NHqH5NEAcr8sCaintXm-10232\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations without permissions raises a permissions not authorized exception" file="./spec/acceptance/realtime/push_admin_spec.rb" time="12.442783"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #remove_where removes all matching device registrations by client_id" file="./spec/acceptance/realtime/push_admin_spec.rb" time="36.566494"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAppPU8Yf2tU\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!ppPU8Yf2tUAQmVKwcK7EQW-14d33\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAppPU8Yf2tU\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!ppPU8Yf2tUAQmVKwcK7EQW-14d33\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #get returns a DeviceDetails object if a device ID string is provided" file="./spec/acceptance/realtime/push_admin_spec.rb" time="1.247227"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #get with a failed request raises a ResourceMissing exception if device ID does not exist" file="./spec/acceptance/realtime/push_admin_spec.rb" time="1.140051"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #save saves the new DeviceDetails Hash object" file="./spec/acceptance/realtime/push_admin_spec.rb" time="38.802588"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyauv1twwxD\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dqW6HGg8KeB1!yauv1twwxDAWLvavq5UdN_-12a5e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAyauv1twwxD\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dqW6HGg8KeB1!yauv1twwxDAWLvavq5UdN_-12a5e\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #save with a failed request fails if data is invalid" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.086393"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #list raises an exception if params are invalid" file="./spec/acceptance/realtime/push_admin_spec.rb" time="1.320629"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #list returns a PaginatedResult object containing DeviceDetails objects" file="./spec/acceptance/realtime/push_admin_spec.rb" time="1.203068"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #list supports paging" file="./spec/acceptance/realtime/push_admin_spec.rb" time="1.165455"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #device_registrations #remove removes the provided device id string" file="./spec/acceptance/realtime/push_admin_spec.rb" time="37.708674"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYmVdqiOv65\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!YmVdqiOv65Ae3cncJ10uWh-1516f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAYmVdqiOv65\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!YmVdqiOv65Ae3cncJ10uWh-1516f\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #list returns a PaginatedResult object containing DeviceDetails objects" file="./spec/acceptance/realtime/push_admin_spec.rb" time="2.024622"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #list supports paging" file="./spec/acceptance/realtime/push_admin_spec.rb" time="2.000783"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #list raises an exception if none of the required filters are provided" file="./spec/acceptance/realtime/push_admin_spec.rb" time="2.084975"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #save saves the new client_id PushChannelSubscription Hash object" file="./spec/acceptance/realtime/push_admin_spec.rb" time="39.922934"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8MyEdy6Pyh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dqW6HGg8KeB1!8MyEdy6PyhAXwt0vLdiKWw-12e68\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA8MyEdy6Pyh\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dqW6HGg8KeB1!8MyEdy6PyhAXwt0vLdiKWw-12e68\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #save raises an exception for invalid params" file="./spec/acceptance/realtime/push_admin_spec.rb" time="1.391153"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #save failed requests fails for invalid requests" file="./spec/acceptance/realtime/push_admin_spec.rb" time="1.215396"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #list_channels returns a PaginatedResult object containing String objects" file="./spec/acceptance/realtime/push_admin_spec.rb" time="2.734142"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove succeeds even if there is no match" file="./spec/acceptance/realtime/push_admin_spec.rb" time="41.358845"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAf06eSawSoW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!f06eSawSoWAbEKzaVA_wfu-10c46\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAf06eSawSoW\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!f06eSawSoWAbEKzaVA_wfu-10c46\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove removes match for Hash object by channel and client_id" file="./spec/acceptance/realtime/push_admin_spec.rb" time="42.131839"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVtxE6vCYpg\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!VtxE6vCYpgAXQ0iL-UFm3t-10db2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAVtxE6vCYpg\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!VtxE6vCYpgAXQ0iL-UFm3t-10db2\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove_where succeeds on no match" file="./spec/acceptance/realtime/push_admin_spec.rb" time="42.378666"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA3jQ0bViIx3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dqW6HGg8KeB1!3jQ0bViIx3Ad883COjRMD9-1335a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA3jQ0bViIx3\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dqW6HGg8KeB1!3jQ0bViIx3Ad883COjRMD9-1335a\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove_where removes matching client_ids" file="./spec/acceptance/realtime/push_admin_spec.rb" time="43.849739"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABezM6SziFj\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!BezM6SziFjAdxmExTpRBbU-1594b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAABezM6SziFj\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!BezM6SziFjAdxmExTpRBbU-1594b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #channel_subscriptions #remove_where failed requests device_id and client_id filters in the same request are not supported" file="./spec/acceptance/realtime/push_admin_spec.rb" time="2.535968"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish accepts valid push data and recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.048797"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.046578"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid recipient raises an error after receiving a 40x realtime response" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.019536"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid push data raises an error after receiving a 40x realtime response" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.018274"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish recipient variable case is converted to snakeCase" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.007103"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish using test environment channel recipient (#RSH1a) triggers a push notification" file="./spec/acceptance/realtime/push_admin_spec.rb" time="36.123928"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA83OtZs_ywU\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!83OtZs_ywUASHBYwn9GDIZ-111f7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA83OtZs_ywU\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!83OtZs_ywUASHBYwn9GDIZ-111f7\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid arguments raises an exception with a empty recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.002583"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid arguments raises an exception with a nil recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.001198"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid arguments raises an exception with a nil recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.001101"></testcase>
<testcase classname="spec.acceptance.realtime.push_admin_spec" name="Ably::Realtime::Push::Admin using MsgPack protocol #publish invalid arguments raises an exception with a empty recipient" file="./spec/acceptance/realtime/push_admin_spec.rb" time="0.001070"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats returns a PaginatedResult object" file="./spec/acceptance/rest/stats_spec.rb" time="0.062258"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by hour should aggregate the stats for that period" file="./spec/acceptance/rest/stats_spec.rb" time="0.019230"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by day should aggregate the stats for that period" file="./spec/acceptance/rest/stats_spec.rb" time="0.028804"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns inbound realtime all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.023219"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns token_requests data" file="./spec/acceptance/rest/stats_spec.rb" time="0.031932"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns all aggregated message data" file="./spec/acceptance/rest/stats_spec.rb" time="0.057984"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 retrieves only one stat" file="./spec/acceptance/rest/stats_spec.rb" time="0.039654"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns stat objects with #interval_time matching :start Time" file="./spec/acceptance/rest/stats_spec.rb" time="0.027614"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns persisted presence all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.023571"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns connections all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.019610"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns channels all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.025280"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns outbound realtime all data" file="./spec/acceptance/rest/stats_spec.rb" time="0.030662"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns inbound realtime message data" file="./spec/acceptance/rest/stats_spec.rb" time="0.019002"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns zero value for any missing metrics" file="./spec/acceptance/rest/stats_spec.rb" time="0.020317"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns stat objects with #interval_id matching :start" file="./spec/acceptance/rest/stats_spec.rb" time="0.027035"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns stat objects with #interval_granularity equal to :minute" file="./spec/acceptance/rest/stats_spec.rb" time="0.019285"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :from set to last interval and :limit set to 1 returns api_requests data" file="./spec/acceptance/rest/stats_spec.rb" time="0.021534"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :end set to last interval and :limit set to 3 to ensure only last years stats are included the REST API defaults to direction :backwards" file="./spec/acceptance/rest/stats_spec.rb" time="0.028409"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :end set to previous year interval the REST API defaults to 100 items for pagination" file="./spec/acceptance/rest/stats_spec.rb" time="0.070732"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :start set to first interval, :limit set to 1 and direction :forwards returns the first interval stats as stats are provided forwards from :start" file="./spec/acceptance/rest/stats_spec.rb" time="0.022361"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :start set to first interval, :limit set to 1 and direction :forwards returns 3 pages of stats" file="./spec/acceptance/rest/stats_spec.rb" time="0.067524"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with no options uses the minute interval by default" file="./spec/acceptance/rest/stats_spec.rb" time="0.053932"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :end set to last interval, :limit set to 1 and direction :backwards returns the 3rd interval stats first as stats are provided backwards from :end" file="./spec/acceptance/rest/stats_spec.rb" time="0.029358"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by minute with :end set to last interval, :limit set to 1 and direction :backwards returns 3 pages of stats" file="./spec/acceptance/rest/stats_spec.rb" time="0.058642"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats by month should aggregate the stats for that period" file="./spec/acceptance/rest/stats_spec.rb" time="0.027841"></testcase>
<testcase classname="spec.acceptance.rest.stats_spec" name="Ably::Rest::Client#stats using MsgPack protocol fetching application stats when argument start is after end should raise an exception" file="./spec/acceptance/rest/stats_spec.rb" time="0.000790"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol has immutable options" file="./spec/acceptance/rest/auth_spec.rb" time="0.000619"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) updates the persisted token params that are then used for subsequent authorize requests" file="./spec/acceptance/rest/auth_spec.rb" time="0.014905"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) updates the persisted auth options that are then used for subsequent authorize requests" file="./spec/acceptance/rest/auth_spec.rb" time="0.310993"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with an explicit ClientOptions client_id and an incompatible client_id in a TokenRequest object passed to the auth callback and raises an exception rejects a TokenRequests object with an incompatible client_id and raises an exception" file="./spec/acceptance/rest/auth_spec.rb" time="0.015954"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with an explicit ClientOptions client_id and an incompatible client_id in a TokenDetails object passed to the auth callback rejects a TokenDetails object with an incompatible client_id and raises an exception" file="./spec/acceptance/rest/auth_spec.rb" time="0.016377"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with an explicit ClientOptions client_id and a token string without any retrievable client_id rejects a TokenRequests object with an incompatible client_id and raises an exception" file="./spec/acceptance/rest/auth_spec.rb" time="0.017115"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) query_time: true with authorize only queries the server time once and then works out the offset, query_time option is never persisted (#RSA10k)" file="./spec/acceptance/rest/auth_spec.rb" time="0.027651"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with a lambda for the :auth_callback option calls the lambda" file="./spec/acceptance/rest/auth_spec.rb" time="0.025266"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with a lambda for the :auth_callback option uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.025773"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with a lambda for the :auth_callback option for every subsequent #request_token with a provided block does not call the originally provided lambda and calls the new #request_token :auth_callback lambda" file="./spec/acceptance/rest/auth_spec.rb" time="0.028688"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with a lambda for the :auth_callback option for every subsequent #request_token without a :auth_callback lambda calls the originally provided block" file="./spec/acceptance/rest/auth_spec.rb" time="0.027992"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) when called for the first time since the client has been instantiated passes all auth_options and token_params to #request_token" file="./spec/acceptance/rest/auth_spec.rb" time="0.001153"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) when called for the first time since the client has been instantiated returns a valid token" file="./spec/acceptance/rest/auth_spec.rb" time="0.014032"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) when called for the first time since the client has been instantiated issues a new token every time (#RSA10a)" file="./spec/acceptance/rest/auth_spec.rb" time="0.029469"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with an explicit token string that expires and a lambda for the :auth_callback option to provide a means to renew the token calls the lambda once the token has expired and the new token is used" file="./spec/acceptance/rest/auth_spec.rb" time="3.642330"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument has no effect on the defaults when null and AuthOptions defaults remain the same" file="./spec/acceptance/rest/auth_spec.rb" time="2.546052"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument updates defaults when present and all previous configured AuthOptions are discarded (#RSA10g)" file="./spec/acceptance/rest/auth_spec.rb" time="2.535630"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument uses AuthOptions#query_time for this request and will query_time again if provided subsequently" file="./spec/acceptance/rest/auth_spec.rb" time="2.571942"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument updates Auth#options attribute with an immutable hash" file="./spec/acceptance/rest/auth_spec.rb" time="2.519806"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) AuthOptions argument uses AuthOptions#query_time for this request and will not query_time for subsequent requests (#RSA10g)" file="./spec/acceptance/rest/auth_spec.rb" time="2.566553"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) query_time: true ClientOption when instanced only queries the server time once and then works out the offset, query_time option is never persisted (#RSA10k)" file="./spec/acceptance/rest/auth_spec.rb" time="0.048926"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with previous authorisation requests a new token if token is expired" file="./spec/acceptance/rest/auth_spec.rb" time="0.017818"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) with previous authorisation issues a new token every time #authorize is called" file="./spec/acceptance/rest/auth_spec.rb" time="0.029565"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) TokenParams argument updates defaults when present and all previous configured TokenParams are discarded (#RSA10g)" file="./spec/acceptance/rest/auth_spec.rb" time="0.031279"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) TokenParams argument uses TokenParams#timestamp for this request but obtains a new timestamp for subsequence requests (#RSA10g)" file="./spec/acceptance/rest/auth_spec.rb" time="0.042951"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) TokenParams argument updates Auth#token_params attribute with an immutable hash" file="./spec/acceptance/rest/auth_spec.rb" time="0.031864"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #authorize (#RSA10, #RSA10j) TokenParams argument has no effect on the defaults when null and TokenParam defaults remain the same" file="./spec/acceptance/rest/auth_spec.rb" time="0.031113"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using a :key and basic auth #using_token_auth? is false" file="./spec/acceptance/rest/auth_spec.rb" time="0.001001"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using a :key and basic auth #using_basic_auth? is true" file="./spec/acceptance/rest/auth_spec.rb" time="0.000662"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using a :key and basic auth #key attribute contains the key string" file="./spec/acceptance/rest/auth_spec.rb" time="0.000750"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token with no client_id (anonymous) is true" file="./spec/acceptance/rest/auth_spec.rb" time="0.016919"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token with a client_id is true" file="./spec/acceptance/rest/auth_spec.rb" time="0.017112"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token with a wildcard client_id (anonymous) is false" file="./spec/acceptance/rest/auth_spec.rb" time="0.016253"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using basic auth is false as basic auth users do not have an identity" file="./spec/acceptance/rest/auth_spec.rb" time="0.003446"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token request with a client_id is not true as identification is not confirmed until authenticated" file="./spec/acceptance/rest/auth_spec.rb" time="0.001014"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token request with a client_id after authentication is true as identification is completed during implicit authentication" file="./spec/acceptance/rest/auth_spec.rb" time="0.047197"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #client_id_validated? when using a token auth string for a token with a client_id is false as identification is not possible from an opaque token string" file="./spec/acceptance/rest/auth_spec.rb" time="0.015948"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication when token expires fails if the token renewal fails (#RSA4b)" file="./spec/acceptance/rest/auth_spec.rb" time="2.605966"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication when token expires automatically renews the token (#RSA4b)" file="./spec/acceptance/rest/auth_spec.rb" time="2.625166"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option cannot be renewed automatically" file="./spec/acceptance/rest/auth_spec.rb" time="0.016846"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option disallows publishing on unspecified capability channels" file="./spec/acceptance/rest/auth_spec.rb" time="0.063660"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option authenticates successfully using the provided :token" file="./spec/acceptance/rest/auth_spec.rb" time="0.050343"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option fails if timestamp is invalid" file="./spec/acceptance/rest/auth_spec.rb" time="0.016257"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication with :token option and the token expires should indicate an error and not retry the request (#RSA4a)" file="./spec/acceptance/rest/auth_spec.rb" time="2.024305"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication when :client_id is provided in a token #client_id contains the client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.016627"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol using token authentication when token does not expire for the next 2 hours should not request for the new token (#RSA4b1)" file="./spec/acceptance/rest/auth_spec.rb" time="0.098884"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request specifies no TTL (#RSA5)" file="./spec/acceptance/rest/auth_spec.rb" time="0.001132"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request returns a TokenRequest that can be passed to a client that can use it for authentication without an API key" file="./spec/acceptance/rest/auth_spec.rb" time="0.017205"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request uses the key name from the client" file="./spec/acceptance/rest/auth_spec.rb" time="0.000946"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request returns a TokenRequest object" file="./spec/acceptance/rest/auth_spec.rb" time="0.000833"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request specifies no capability (#RSA6)" file="./spec/acceptance/rest/auth_spec.rb" time="0.000702"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request timestamp attribute is a Time object in Ruby and is set to the local time" file="./spec/acceptance/rest/auth_spec.rb" time="0.000670"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request timestamp attribute with :query_time auth_option queries the server for the timestamp" file="./spec/acceptance/rest/auth_spec.rb" time="0.001062"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request timestamp attribute with :timestamp option uses the provided timestamp in the token request" file="./spec/acceptance/rest/auth_spec.rb" time="0.000839"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request signing generates a valid HMAC" file="./spec/acceptance/rest/auth_spec.rb" time="0.000952"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request signing lexicographic ordering of channels and operations is valid when used for authentication" file="./spec/acceptance/rest/auth_spec.rb" time="0.020161"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request signing lexicographic ordering of channels and operations HMAC is lexicographic ordered and thus the HMAC is identical" file="./spec/acceptance/rest/auth_spec.rb" time="0.000966"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request when required fields are missing should raise an exception if key name is missing" file="./spec/acceptance/rest/auth_spec.rb" time="0.000782"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request when required fields are missing should raise an exception if key secret is missing" file="./spec/acceptance/rest/auth_spec.rb" time="0.000774"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with token param :ttl overrides default" file="./spec/acceptance/rest/auth_spec.rb" time="0.000679"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with token param :nonce overrides default" file="./spec/acceptance/rest/auth_spec.rb" time="0.000647"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with token param :client_id overrides default" file="./spec/acceptance/rest/auth_spec.rb" time="0.000856"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with additional invalid attributes are ignored" file="./spec/acceptance/rest/auth_spec.rb" time="0.001038"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request when specifying capability uses these capabilities when Ably issues an actual token" file="./spec/acceptance/rest/auth_spec.rb" time="0.016978"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request when specifying capability overrides the default" file="./spec/acceptance/rest/auth_spec.rb" time="0.000719"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request with a :ttl option below the Token expiry buffer that ensures tokens are renewed 15s before they expire as they are considered expired uses the Token expiry buffer default + 10s to allow for a token request in flight" file="./spec/acceptance/rest/auth_spec.rb" time="0.000666"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request the nonce is unique for every request" file="./spec/acceptance/rest/auth_spec.rb" time="0.005981"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #create_token_request the nonce is at least 16 characters" file="./spec/acceptance/rest/auth_spec.rb" time="0.000801"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using JWT authenticates correctly using the JWT token generated by the echo server" file="./spec/acceptance/rest/auth_spec.rb" time="0.290176"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using JWT when the JWT embeds an Ably token authenticates correctly using the embedded token" file="./spec/acceptance/rest/auth_spec.rb" time="0.479435"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using JWT when the JWT embeds an Ably token and the requested token is encrypted authenticates correctly using the embedded token" file="./spec/acceptance/rest/auth_spec.rb" time="0.373881"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol when using JWT when the token requested is returned with application/jwt content type authenticates correctly and pulls stats" file="./spec/acceptance/rest/auth_spec.rb" time="0.327727"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol before #authorize has been called has no current_token_details" file="./spec/acceptance/rest/auth_spec.rb" time="0.000894"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token returns a valid TokenDetails object in the expected format with valid issued and expires attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.015754"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token creates a TokenRequest automatically and sends it to Ably to obtain a token" file="./spec/acceptance/rest/auth_spec.rb" time="0.003730"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :key option key_name is used in request and signing uses key_secret" file="./spec/acceptance/rest/auth_spec.rb" time="0.003662"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token without :query_time option does not query the server for the time" file="./spec/acceptance/rest/auth_spec.rb" time="0.018713"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is text/plain content type and a token string returns TokenDetails created from the token JSON" file="./spec/acceptance/rest/auth_spec.rb" time="0.024763"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response is invalid XML raises InvalidResponseBody" file="./spec/acceptance/rest/auth_spec.rb" time="0.024578"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response is invalid 500 raises ServerError" file="./spec/acceptance/rest/auth_spec.rb" time="0.024210"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a token details object returns TokenDetails created from the token JSON" file="./spec/acceptance/rest/auth_spec.rb" time="0.025006"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request requests a token from :auth_url using an HTTP GET request" file="./spec/acceptance/rest/auth_spec.rb" time="0.039434"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request returns a valid token generated from the token request" file="./spec/acceptance/rest/auth_spec.rb" time="0.026704"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request with :query_params requests a token from :auth_url with the :query_params" file="./spec/acceptance/rest/auth_spec.rb" time="0.027010"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request with POST requests a token from :auth_url using an HTTP POST instead of the default GET" file="./spec/acceptance/rest/auth_spec.rb" time="0.026663"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option when response from :auth_url is a valid token request with :headers requests a token from :auth_url with the HTTP headers set" file="./spec/acceptance/rest/auth_spec.rb" time="0.026365"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :client_id overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.003574"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token persisted option of token params when omitted returns a literal token" file="./spec/acceptance/rest/auth_spec.rb" time="0.016912"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token persisted option of token params when set to true returns a token with a short token ID that is used to look up the token details" file="./spec/acceptance/rest/auth_spec.rb" time="0.355105"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :timestamp overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.004433"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a Token string uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.014870"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails object uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.015292"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails JSON object calls the lambda when authenticating to obtain the request token" file="./spec/acceptance/rest/auth_spec.rb" time="0.001054"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails JSON object uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.001000"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails JSON object when authorized sets Auth#client_id to the new token&apos;s client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.001377"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenDetails JSON object when authorized sets Client#client_id to the new token&apos;s client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.001374"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenRequest calls the Proc with token_params when authenticating to obtain the request token" file="./spec/acceptance/rest/auth_spec.rb" time="0.014178"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenRequest uses the token request returned from the callback when requesting a new token" file="./spec/acceptance/rest/auth_spec.rb" time="0.013914"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenRequest when authorized sets Auth#client_id to the new token&apos;s client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.029580"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with a Proc for the :auth_callback option that returns a TokenRequest when authorized sets Client#client_id to the new token&apos;s client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.030145"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with auth_option :client_id returns a token with the client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.013991"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :client_id returns a token with the client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.013881"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using :post :auth_method requests a token using a POST request with provided headers, and merges client_id into auth_params as form-encoded post data" file="./spec/acceptance/rest/auth_spec.rb" time="0.026163"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using unspecified :auth_method requests a token using a GET request with provided headers, and merges client_id into auth_params" file="./spec/acceptance/rest/auth_spec.rb" time="0.024454"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using unspecified :auth_method with provided token_params merges provided token_params with existing auth_params and client_id" file="./spec/acceptance/rest/auth_spec.rb" time="0.024492"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using unspecified :auth_method with provided auth option auth_params and auth_headers replaces any preconfigured auth_params" file="./spec/acceptance/rest/auth_spec.rb" time="0.024430"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :auth_url option merging with existing configured auth options using :get :auth_method and query params in the URL requests a token using a GET request with provided headers, and merges client_id into auth_params and existing URL querystring into new URL querystring" file="./spec/acceptance/rest/auth_spec.rb" time="0.023987"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :key_name &amp; :key_secret options key_name is used in request and signing uses key_secret" file="./spec/acceptance/rest/auth_spec.rb" time="0.004123"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :nonce overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.003311"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :capability overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.003308"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with :query_time option queries the server for the time (#RSA10k)" file="./spec/acceptance/rest/auth_spec.rb" time="0.027442"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol #request_token with token_param :ttl overrides default and uses camelCase notation for attributes" file="./spec/acceptance/rest/auth_spec.rb" time="0.004074"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol deprecated #authorise returns a valid token (#RSA10l)" file="./spec/acceptance/rest/auth_spec.rb" time="0.013975"></testcase>
<testcase classname="spec.acceptance.rest.auth_spec" name="Ably::Auth using MsgPack protocol deprecated #authorise logs a deprecation warning (#RSA10l)" file="./spec/acceptance/rest/auth_spec.rb" time="0.013515"></testcase>
<testcase classname="spec.acceptance.realtime.stats_spec" name="Ably::Realtime::Client#stats using MsgPack protocol fetching stats returns a SafeDeferrable that catches exceptions in callbacks and logs them" file="./spec/acceptance/realtime/stats_spec.rb" time="35.952143"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAhzkHQz3elt\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!hzkHQz3eltATx2L_8cDat2-114df\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAhzkHQz3elt\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dLBGrLAq7Q8p!hzkHQz3eltATx2L_8cDat2-114df\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.b2c4.us-east-1-A.i-0a6e9a3ef4a88deae.e7dLBGrLAq7Q8p\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.stats_spec" name="Ably::Realtime::Client#stats using MsgPack protocol fetching stats returns a PaginatedResult" file="./spec/acceptance/realtime/stats_spec.rb" time="35.893230"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA3MpfFJrkDR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!3MpfFJrkDRAe7fiGpB8VT7-15e7b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAA3MpfFJrkDR\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dTlO6Dw9GHY1!3MpfFJrkDRAe7fiGpB8VT7-15e7b\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.ce30.us-east-1-A.i-08a000855fb150932.e7dTlO6Dw9GHY1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
<testcase classname="spec.acceptance.realtime.stats_spec" name="Ably::Realtime::Client#stats using MsgPack protocol fetching stats with options passes the option arguments to the REST stat method" file="./spec/acceptance/realtime/stats_spec.rb" time="35.931257"><failure message="undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAblhRVaL_bU\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dqW6HGg8KeB1!blhRVaL_bUAXjtXX3X2pmG-13b22\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

          MessagePack.unpack(data.pack(&apos;C*&apos;))
                                 ^^^^^
Did you mean?  unpack" type="NoMethodError">Failure/Error: MessagePack.unpack(data.pack(&apos;C*&apos;))

NoMethodError:
  undefined method `pack&apos; for &quot;\x83\xA6action\xD2\x00\x00\x00\x04\xACconnectionId\xAAblhRVaL_bU\xB1connectionDetails\x89\xA8clientId\xA1*\xADconnectionKey\xD9+e7dqW6HGg8KeB1!blhRVaL_bUAXjtXX3X2pmG-13b22\xAEmaxMessageSize\xCD@\x00\xAEmaxInboundRate\xCC\xFA\xAFmaxOutboundRated\xACmaxFrameSize\xCE\x00\x16ff\xA8serverId\xD9=frontdoor.cd73.us-east-1-A.i-0eed31a240f6c3f7d.e7dqW6HGg8KeB1\xB2connectionStateTtl\xCE\x00\x01\xD4\xC0\xAFmaxIdleInterval\xCD:\x98&quot;:String

            MessagePack.unpack(data.pack(&apos;C*&apos;))
                                   ^^^^^
  Did you mean?  unpack
./lib/ably/realtime/connection/websocket_transport.rb:260:in `parse_event_data&apos;
./lib/ably/realtime/connection/websocket_transport.rb:212:in `block in setup_driver&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:39:in `block in emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `each&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/event_emitter.rb:38:in `emit&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:416:in `emit_message&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:394:in `emit_frame&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/hybi.rb:120:in `parse&apos;
./vendor/bundle/ruby/3.1.0/gems/websocket-driver-0.8.0/lib/websocket/driver/client.rb:62:in `parse&apos;
./lib/ably/realtime/connection/websocket_transport.rb:67:in `receive_data&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run_machine&apos;
./vendor/bundle/ruby/3.1.0/gems/eventmachine-1.2.7/lib/eventmachine.rb:195:in `run&apos;
./spec/support/event_machine_helper.rb:15:in `block in run_reactor&apos;
./spec/support/event_machine_helper.rb:14:in `run_reactor&apos;
./spec/support/event_machine_helper.rb:128:in `block (3 levels) in &lt;top (required)&gt;&apos;
./spec/support/rest_testapp_before_retry.rb:6:in `block (2 levels) in &lt;top (required)&gt;&apos;
./spec/support/event_machine_helper.rb:135:in `block (2 levels) in &lt;top (required)&gt;&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:124:in `block in run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `loop&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:110:in `run&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry&apos;
./vendor/bundle/ruby/3.1.0/gems/rspec-retry-0.6.2/lib/rspec/retry.rb:37:in `block (2 levels) in setup&apos;
./vendor/bundle/ruby/3.1.0/gems/webmock-3.25.1/lib/webmock/rspec.rb:39:in `block (2 levels) in &lt;top (required)&gt;&apos;</failure></testcase>
</testsuite>
