skyfall 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/skyfall/firehose.rb +1 -8
- data/lib/skyfall/jetstream.rb +0 -7
- data/lib/skyfall/stream.rb +0 -12
- data/lib/skyfall/version.rb +1 -1
- metadata +4 -5
- data/lib/skyfall/faye_ext.rb +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17dd2389545a6bd5c9c3483a89f95e40a62cf2014e263f69d3590cf651920865
|
4
|
+
data.tar.gz: 9fe379e3d713c50e4a4700941660b529827e2329e200859ddea58b7113da1c3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9f7c603360a483241cbd6b2af8b49b315149b308c2064332b42d9fa7b27fd302c1b181c6fc7a60871f1dfead09cc3621ed2b9106db2680e0919f12119af881d
|
7
|
+
data.tar.gz: e8c7da9dc57730ded46de52cc7e500d84129782bd534c2163205330143bb1a5ec0f24feb39a86e440c073972b1c4af3840ce688e9caf55177003d140267c6473
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
## [0.6.0] - 2025-06-25
|
2
|
+
|
3
|
+
- significantly speeded up reading of events from the binary firehose (`Skyfall::Firehose`) - up to 4-5x faster than before
|
4
|
+
- removed the `Skyfall::Stream.new` constructor deprecated in 0.5.0
|
5
|
+
|
1
6
|
## [0.5.1] - 2025-05-18
|
2
7
|
|
3
8
|
- added support for the new `#sync` message type
|
data/lib/skyfall/firehose.rb
CHANGED
@@ -13,13 +13,6 @@ module Skyfall
|
|
13
13
|
|
14
14
|
attr_accessor :cursor
|
15
15
|
|
16
|
-
def self.new(server, endpoint, cursor = nil)
|
17
|
-
# to be removed in 0.6
|
18
|
-
instance = self.allocate
|
19
|
-
instance.send(:initialize, server, endpoint, cursor)
|
20
|
-
instance
|
21
|
-
end
|
22
|
-
|
23
16
|
def initialize(server, endpoint, cursor = nil)
|
24
17
|
require_relative 'firehose/message'
|
25
18
|
super(server)
|
@@ -34,7 +27,7 @@ module Skyfall
|
|
34
27
|
end
|
35
28
|
|
36
29
|
def handle_message(msg)
|
37
|
-
data = msg.data
|
30
|
+
data = msg.data
|
38
31
|
@handlers[:raw_message]&.call(data)
|
39
32
|
|
40
33
|
if @handlers[:message]
|
data/lib/skyfall/jetstream.rb
CHANGED
@@ -6,13 +6,6 @@ require 'uri'
|
|
6
6
|
|
7
7
|
module Skyfall
|
8
8
|
class Jetstream < Stream
|
9
|
-
def self.new(server, params = {})
|
10
|
-
# to be removed in 0.6
|
11
|
-
instance = self.allocate
|
12
|
-
instance.send(:initialize, server, params)
|
13
|
-
instance
|
14
|
-
end
|
15
|
-
|
16
9
|
attr_accessor :cursor
|
17
10
|
|
18
11
|
def initialize(server, params = {})
|
data/lib/skyfall/stream.rb
CHANGED
@@ -12,18 +12,6 @@ module Skyfall
|
|
12
12
|
attr_accessor :auto_reconnect, :last_update, :user_agent
|
13
13
|
attr_accessor :heartbeat_timeout, :heartbeat_interval, :check_heartbeat
|
14
14
|
|
15
|
-
def self.new(server, endpoint = nil, cursor = nil)
|
16
|
-
# to be removed in 0.6
|
17
|
-
if endpoint || cursor
|
18
|
-
STDERR.puts "Warning: Skyfall::Stream has been renamed to Skyfall::Firehose. This initializer will be removed in the next version."
|
19
|
-
Firehose.new(server, endpoint, cursor)
|
20
|
-
else
|
21
|
-
instance = self.allocate
|
22
|
-
instance.send(:initialize, server)
|
23
|
-
instance
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
15
|
def initialize(service)
|
28
16
|
@root_url = build_root_url(service)
|
29
17
|
|
data/lib/skyfall/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skyfall
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kuba Suder
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-25 00:00:00.000000000 Z
|
11
11
|
dependencies:
|
12
12
|
- !ruby/object:Gem::Dependency
|
13
13
|
name: base32
|
@@ -89,14 +89,14 @@ dependencies:
|
|
89
89
|
requirements:
|
90
90
|
- - "~>"
|
91
91
|
- !ruby/object:Gem::Version
|
92
|
-
version: '0.
|
92
|
+
version: '0.12'
|
93
93
|
type: :runtime
|
94
94
|
prerelease: false
|
95
95
|
version_requirements: !ruby/object:Gem::Requirement
|
96
96
|
requirements:
|
97
97
|
- - "~>"
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version: '0.
|
99
|
+
version: '0.12'
|
100
100
|
description: "\n Skyfall is a Ruby library for connecting to the \"firehose\" of
|
101
101
|
the Bluesky social network, i.e. a websocket which\n streams all new posts and
|
102
102
|
everything else happening on the Bluesky network in real time. The code connects
|
@@ -122,7 +122,6 @@ files:
|
|
122
122
|
- lib/skyfall/collection.rb
|
123
123
|
- lib/skyfall/errors.rb
|
124
124
|
- lib/skyfall/extensions.rb
|
125
|
-
- lib/skyfall/faye_ext.rb
|
126
125
|
- lib/skyfall/firehose.rb
|
127
126
|
- lib/skyfall/firehose/account_message.rb
|
128
127
|
- lib/skyfall/firehose/commit_message.rb
|
data/lib/skyfall/faye_ext.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
require 'websocket/driver'
|
2
|
-
require_relative 'firehose'
|
3
|
-
|
4
|
-
module WebSocket
|
5
|
-
class Driver
|
6
|
-
class Hybi
|
7
|
-
def emit_message
|
8
|
-
message = @extensions.process_incoming_message(@message)
|
9
|
-
@message = nil
|
10
|
-
|
11
|
-
payload = message.data
|
12
|
-
|
13
|
-
case message.opcode
|
14
|
-
when OPCODES[:text] then
|
15
|
-
payload = Driver.encode(payload, Encoding::UTF_8)
|
16
|
-
payload = nil unless payload.valid_encoding?
|
17
|
-
# when OPCODES[:binary]
|
18
|
-
# payload = payload.bytes.to_a
|
19
|
-
end
|
20
|
-
|
21
|
-
if payload
|
22
|
-
emit(:message, MessageEvent.new(payload))
|
23
|
-
else
|
24
|
-
fail(:encoding_error, 'Could not decode a text frame as UTF-8')
|
25
|
-
end
|
26
|
-
rescue ::WebSocket::Extensions::ExtensionError => error
|
27
|
-
fail(:extension_error, error.message)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
module Skyfall
|
34
|
-
class Firehose
|
35
|
-
def handle_message(msg)
|
36
|
-
data = msg.data #.pack('C*')
|
37
|
-
@handlers[:raw_message]&.call(data)
|
38
|
-
|
39
|
-
if @handlers[:message]
|
40
|
-
atp_message = Message.new(data)
|
41
|
-
@cursor = atp_message.seq
|
42
|
-
@handlers[:message].call(atp_message)
|
43
|
-
else
|
44
|
-
@cursor = nil
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|