+16
-3
app/firehose_client.rb
+16
-3
app/firehose_client.rb
···
13
13
14
14
def initialize
15
15
@env = (ENV['APP_ENV'] || ENV['RACK_ENV'] || :development).to_sym
16
-
@service = DEFAULT_RELAY
16
+
17
+
if ENV['RELAY_HOST']
18
+
@service = ENV['RELAY_HOST']
19
+
elsif ENV['JETSTREAM_HOST']
20
+
@service = ENV['JETSTREAM_HOST']
21
+
@jetstream = true
22
+
else
23
+
@service = DEFAULT_RELAY
24
+
end
17
25
end
18
26
19
27
def start
···
26
34
last_cursor = load_or_init_cursor
27
35
cursor = @start_cursor || last_cursor
28
36
29
-
@sky = Skyfall::Firehose.new(@service, :subscribe_repos, cursor)
30
-
@sky.user_agent = "Lycan (https://tangled.sh/@mackuba.eu/lycan) #{@sky.version_string}"
37
+
@sky = if @jetstream
38
+
Skyfall::Jetstream.new(@service, { cursor: cursor, wanted_collections: [:bsky_post, :bsky_like, :bsky_repost] })
39
+
else
40
+
Skyfall::Firehose.new(@service, :subscribe_repos, cursor)
41
+
end
42
+
43
+
@sky.user_agent = (ENV['FIREHOSE_USER_AGENT'] || "Lycan (https://tangled.sh/@mackuba.eu/lycan)") + ' ' + @sky.version_string
31
44
@sky.check_heartbeat = true
32
45
33
46
@sky.on_message do |m|