ably 1.2.3 → 1.2.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c2ec62cdc84e7558147bdab0c6bf2cbb933d75b1298aafbdd78848c6ebf62b1
4
- data.tar.gz: b7edf7e0643e1ff2ead0ec4af3aee1caf0863dab40d6b9e247dd0e1bcd56b0e6
3
+ metadata.gz: 68b52bb2a88536595ffc25c954a5592281d13b6a3278851556da70355f009112
4
+ data.tar.gz: 14eb5c1912b5c70b50f261dca05a1f4abc04aaa990aced7e6af2e11f77c28738
5
5
  SHA512:
6
- metadata.gz: 77f961eaa1ecab40502a2b8a3ce193ab9448e5c3df675ee7212369a94252b314af55b54200f016317d48727d6df7a6526551a7e1090f8dfd4c56e6bc9e32a00a
7
- data.tar.gz: 50df5abcdd20c6afc63c5ac71043fad7a07547c16c752356011cb0b0713666d429e79474190c346dfadb9d89afd4f774d8e9d899dc7bcf0e7a363dcf40af3a1b
6
+ metadata.gz: 875e862321b2be88fc635a8e3b93d86dff5508389814a5c1e0794b19dbf7568e93bc3a6f70749ae1c61a16d3c1b6a14cbb358dca24965fe4416408dd772ec85f
7
+ data.tar.gz: ada18acd3a5cd6a709fc363b9b58366482b737584c53e0638e4d825930558916edf19f7ea72f880f67612301a49eb4178af0b66c9ae7b6fe0301fd42ea150508
@@ -0,0 +1,112 @@
1
+ %YAML 1.2
2
+ ---
3
+ common-version: 1.2.0
4
+ compliance:
5
+ Agent Identifier:
6
+ Agents:
7
+ Runtime:
8
+ Authentication:
9
+ API Key:
10
+ Token:
11
+ Callback:
12
+ Literal:
13
+ URL:
14
+ Query Time:
15
+ Debugging:
16
+ Error Information:
17
+ Logs:
18
+ Protocol:
19
+ JSON:
20
+ Maximum Message Size:
21
+ MessagePack:
22
+ Realtime:
23
+ Channel:
24
+ Attach:
25
+
26
+ # setOptions on existing channel instance is missing (i.e. it works but is inelegant, requiring soft-deprecated mechanism)
27
+ # see:
28
+ # - https://sdk.ably.com/builds/ably/specification/main/features/#RSN3c
29
+ # - https://sdk.ably.com/builds/ably/specification/main/features/#RTS3c
30
+ Encryption:
31
+
32
+ History:
33
+ Presence:
34
+ Enter:
35
+ Client:
36
+ Get:
37
+ History:
38
+ Subscribe:
39
+ Update:
40
+ Client:
41
+ Publish:
42
+ Retry Timeout:
43
+ State Events:
44
+ Subscribe:
45
+ Rewind:
46
+ Connection:
47
+ Disconnected Retry Timeout:
48
+ Get Identifier:
49
+ Lifecycle Control:
50
+ Ping:
51
+ Recovery:
52
+ State Events:
53
+ Suspended Retry Timeout:
54
+ Message Echoes:
55
+ Message Queuing:
56
+ Transport Parameters:
57
+ REST:
58
+ Authentication:
59
+ Authorize:
60
+ Create Token Request:
61
+ Get Client Identifier:
62
+ Request Token:
63
+ Channel:
64
+ Existence Check:
65
+ Get:
66
+ History:
67
+ Iterate:
68
+ Name:
69
+ Presence:
70
+ History:
71
+ Member List:
72
+ Publish:
73
+ Idempotence:
74
+ Release:
75
+ Status:
76
+ Channel Details: # https://github.com/ably/ably-ruby/pull/365
77
+ Opaque Request:
78
+ Push Notifications Administration:
79
+ Channel Subscription:
80
+ List:
81
+ List Channels:
82
+ Remove:
83
+ Save:
84
+ Device Registration:
85
+ Get:
86
+ List:
87
+ Remove:
88
+ Save:
89
+ Publish:
90
+ Request Identifiers:
91
+ Request Timeout:
92
+ Service:
93
+ Get Time:
94
+ Statistics:
95
+ Query:
96
+ Service:
97
+ Environment:
98
+ Fallbacks:
99
+ Hosts:
100
+ Internet Up Check:
101
+ Retry Count:
102
+ Retry Duration:
103
+ Retry Timeout:
104
+ Host:
105
+ Testing:
106
+ Disable TLS:
107
+ TCP Insecure Port:
108
+ TCP Secure Port:
109
+ Transport:
110
+ Connection Open Timeout:
111
+ HTTP/2: # https://github.com/ably/ably-ruby/pull/197
112
+ Maximum Frame Size:
@@ -7,8 +7,8 @@ on:
7
7
  jobs:
8
8
  check:
9
9
  runs-on: ubuntu-latest
10
- continue-on-error: true
11
10
  strategy:
11
+ fail-fast: false
12
12
  matrix:
13
13
  ruby: [ '2.7', '3.0', '3.1' ]
14
14
  protocol: [ 'json', 'msgpack' ]
@@ -29,7 +29,6 @@ jobs:
29
29
  TEST_TYPE: ${{ matrix.type }}
30
30
  RUBY_VERSION: ${{ matrix.ruby }}
31
31
  run: |
32
- cp .github/workflows/.rspec_parallel .rspec_parallel
33
32
  mkdir junit
34
33
  bundle exec parallel_rspec --prefix-output-with-test-env-number --first-is-1 -- spec/${{ matrix.type }}
35
34
  - uses: actions/upload-artifact@v3
@@ -40,7 +39,7 @@ jobs:
40
39
  retention-days: 7
41
40
  - name: Upload test results
42
41
  if: always()
43
- uses: ably-labs/test-observability-action@main
42
+ uses: ably/test-observability-action@v1
44
43
  with:
45
44
  server-url: 'https://test-observability.herokuapp.com'
46
45
  server-auth: ${{ secrets.TEST_OBSERVABILITY_SERVER_AUTH_KEY }}
@@ -0,0 +1,14 @@
1
+ name: Features
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - main
8
+
9
+ jobs:
10
+ build:
11
+ uses: ably/features/.github/workflows/sdk-features.yml@main
12
+ with:
13
+ repository-name: ably-ruby
14
+ secrets: inherit
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Change Log
2
2
 
3
+ ## [v1.2.5](https://github.com/ably/ably-ruby/tree/v1.2.5)
4
+
5
+ This contains an important fix for a TLS certificate validation bug which prevented the library from being able to use Realtime fallback hosts.
6
+
7
+ [Full changelog](https://github.com/ably/ably-ruby/compare/v1.2.4...v1.2.5)
8
+
9
+ **Fixed bugs:**
10
+
11
+ - Fix server certificate validation for HTTP in Realtime [\#397](https://github.com/ably/ably-ruby/pull/397)
12
+
13
+ ## [v1.2.4](https://github.com/ably/ably-ruby/tree/v1.2.4)
14
+
15
+ [Full Changelog](https://github.com/ably/ably-ruby/compare/v1.2.3...v1.2.4)
16
+
17
+ **Merged pull requests:**
18
+
19
+ - fix: unpin msgpack dependency minor/patch version [\#382](https://github.com/ably/ably-ruby-rest/pull/29)
20
+
3
21
  ## [v1.2.3](https://github.com/ably/ably-ruby/tree/v1.2.3)
4
22
 
5
23
  [Full Changelog](https://github.com/ably/ably-ruby/compare/v1.2.2...v1.2.3)
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # [Ably](https://ably.com)
2
2
 
3
+ [![Features](https://github.com/ably/ably-ruby/actions/workflows/features.yml/badge.svg)](https://github.com/ably/ably-ruby/actions/workflows/features.yml)
4
+
3
5
  [![Gem Version](https://img.shields.io/gem/v/ably?style=flat)](https://img.shields.io/gem/v/ably?style=flat)
4
6
  [![Coverage Status](https://coveralls.io/repos/ably/ably-ruby/badge.svg)](https://coveralls.io/r/ably/ably-ruby)
5
7
 
data/ably.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ['lib']
20
20
 
21
21
  spec.add_runtime_dependency 'eventmachine', '~> 1.2.6'
22
- spec.add_runtime_dependency 'em-http-request', '~> 1.1'
22
+ spec.add_runtime_dependency 'ably-em-http-request', '~> 1.1.8'
23
23
  spec.add_runtime_dependency 'statesman', '~> 9.0'
24
24
  spec.add_runtime_dependency 'faraday', '~> 2.2'
25
25
  spec.add_runtime_dependency 'faraday-typhoeus', '~> 0.2.0'
@@ -327,7 +327,7 @@ module Ably
327
327
  def internet_up?
328
328
  url = "http#{'s' if client.use_tls?}:#{Ably::INTERNET_CHECK.fetch(:url)}"
329
329
  EventMachine::DefaultDeferrable.new.tap do |deferrable|
330
- EventMachine::HttpRequest.new(url, tls: { verify_peer: true }).get.tap do |http|
330
+ EventMachine::AblyHttpRequest::HttpRequest.new(url, tls: { verify_peer: true }).get.tap do |http|
331
331
  http.errback do
332
332
  yield false if block_given?
333
333
  deferrable.fail Ably::Exceptions::ConnectionFailed.new("Unable to connect to #{url}", nil, Ably::Exceptions::Codes::CONNECTION_FAILED)
data/lib/ably/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Ably
2
- VERSION = '1.2.3'
2
+ VERSION = '1.2.5'
3
3
  PROTOCOL_VERSION = '1.2'
4
4
 
5
5
  # @api private
@@ -1702,13 +1702,13 @@ describe Ably::Realtime::Connection, :event_machine do
1702
1702
  end
1703
1703
 
1704
1704
  context 'internet up URL protocol' do
1705
- let(:http_request) { double('EventMachine::HttpRequest', get: EventMachine::DefaultDeferrable.new) }
1705
+ let(:http_request) { double('EventMachine::AblyHttpRequest::HttpRequest', get: EventMachine::DefaultDeferrable.new) }
1706
1706
 
1707
1707
  context 'when using TLS for the connection' do
1708
1708
  let(:client_options) { default_options.merge(tls: true) }
1709
1709
 
1710
1710
  it 'uses TLS for the Internet check to https://internet-up.ably-realtime.com/is-the-internet-up.txt' do
1711
- expect(EventMachine::HttpRequest).to receive(:new).with('https://internet-up.ably-realtime.com/is-the-internet-up.txt', { tls: { verify_peer: true } }).and_return(http_request)
1711
+ expect(EventMachine::AblyHttpRequest::HttpRequest).to receive(:new).with('https://internet-up.ably-realtime.com/is-the-internet-up.txt', { tls: { verify_peer: true } }).and_return(http_request)
1712
1712
  connection.internet_up?
1713
1713
  stop_reactor
1714
1714
  end
@@ -1718,7 +1718,7 @@ describe Ably::Realtime::Connection, :event_machine do
1718
1718
  let(:client_options) { default_options.merge(tls: false, use_token_auth: true) }
1719
1719
 
1720
1720
  it 'uses TLS for the Internet check to http://internet-up.ably-realtime.com/is-the-internet-up.txt' do
1721
- expect(EventMachine::HttpRequest).to receive(:new).with('http://internet-up.ably-realtime.com/is-the-internet-up.txt', { tls: { verify_peer: true } }).and_return(http_request)
1721
+ expect(EventMachine::AblyHttpRequest::HttpRequest).to receive(:new).with('http://internet-up.ably-realtime.com/is-the-internet-up.txt', { tls: { verify_peer: true } }).and_return(http_request)
1722
1722
  connection.internet_up?
1723
1723
  stop_reactor
1724
1724
  end
@@ -1732,7 +1732,7 @@ describe Ably::Realtime::Connection, :event_machine do
1732
1732
  let(:client_options) { default_options.merge(tls: true) }
1733
1733
 
1734
1734
  it 'checks the Internet up URL over TLS' do
1735
- expect(EventMachine::HttpRequest).to receive(:new).with("https:#{Ably::INTERNET_CHECK.fetch(:url)}", { tls: { verify_peer: true } }).and_return(double('request', get: EventMachine::DefaultDeferrable.new))
1735
+ expect(EventMachine::AblyHttpRequest::HttpRequest).to receive(:new).with("https:#{Ably::INTERNET_CHECK.fetch(:url)}", { tls: { verify_peer: true } }).and_return(double('request', get: EventMachine::DefaultDeferrable.new))
1736
1736
  connection.internet_up?
1737
1737
  stop_reactor
1738
1738
  end
@@ -1742,7 +1742,7 @@ describe Ably::Realtime::Connection, :event_machine do
1742
1742
  let(:client_options) { default_options.merge(tls: false, use_token_auth: true) }
1743
1743
 
1744
1744
  it 'checks the Internet up URL over TLS' do
1745
- expect(EventMachine::HttpRequest).to receive(:new).with("http:#{Ably::INTERNET_CHECK.fetch(:url)}", { tls: { verify_peer: true } }).and_return(double('request', get: EventMachine::DefaultDeferrable.new))
1745
+ expect(EventMachine::AblyHttpRequest::HttpRequest).to receive(:new).with("http:#{Ably::INTERNET_CHECK.fetch(:url)}", { tls: { verify_peer: true } }).and_return(double('request', get: EventMachine::DefaultDeferrable.new))
1746
1746
  connection.internet_up?
1747
1747
  stop_reactor
1748
1748
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ably
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lewis Marshall
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-10-04 00:00:00.000000000 Z
12
+ date: 2024-05-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: eventmachine
@@ -26,19 +26,19 @@ dependencies:
26
26
  - !ruby/object:Gem::Version
27
27
  version: 1.2.6
28
28
  - !ruby/object:Gem::Dependency
29
- name: em-http-request
29
+ name: ably-em-http-request
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - "~>"
33
33
  - !ruby/object:Gem::Version
34
- version: '1.1'
34
+ version: 1.1.8
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - "~>"
40
40
  - !ruby/object:Gem::Version
41
- version: '1.1'
41
+ version: 1.1.8
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: statesman
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -369,13 +369,15 @@ executables: []
369
369
  extensions: []
370
370
  extra_rdoc_files: []
371
371
  files:
372
+ - ".ably/capabilities.yaml"
372
373
  - ".editorconfig"
373
- - ".github/workflows/.rspec_parallel"
374
374
  - ".github/workflows/check.yml"
375
375
  - ".github/workflows/docs.yml"
376
+ - ".github/workflows/features.yml"
376
377
  - ".gitignore"
377
378
  - ".gitmodules"
378
379
  - ".rspec"
380
+ - ".rspec_parallel"
379
381
  - CHANGELOG.md
380
382
  - COPYRIGHT
381
383
  - Gemfile
@@ -604,7 +606,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
604
606
  - !ruby/object:Gem::Version
605
607
  version: '0'
606
608
  requirements: []
607
- rubygems_version: 3.2.32
609
+ rubygems_version: 3.3.7
608
610
  signing_key:
609
611
  specification_version: 4
610
612
  summary: A Ruby client library for ably.io realtime messaging implemented using EventMachine