fixes for bsky monitoring

This commit is contained in:
Dylan Knutson
2025-08-14 21:13:37 +00:00
parent 1058a53d18
commit 3c83ed3ba7
5 changed files with 1091 additions and 6 deletions

View File

@@ -223,7 +223,7 @@ class Domain::Bluesky::Job::ScanPostsJob < Domain::Bluesky::Job::Base
first_seen_entry: log_entry, first_seen_entry: log_entry,
text: record_data.dig("value", "text") || "", text: record_data.dig("value", "text") || "",
posted_at: Time.parse(record_data.dig("value", "createdAt")), posted_at: Time.parse(record_data.dig("value", "createdAt")),
post_raw: record_data, post_raw: record_data.dig("value"),
reply_to_uri: reply_to_uri, reply_to_uri: reply_to_uri,
quote_uri: quote_uri, quote_uri: quote_uri,
) )

View File

@@ -243,6 +243,7 @@ class Domain::Bluesky::Job::ScanUserFollowsJob < Domain::Bluesky::Job::Base
format_tags("updated user #{edge_name}", make_tags(update_attrs)), format_tags("updated user #{edge_name}", make_tags(update_attrs)),
) )
scan.update_json_attributes!(update_attrs) scan.update_json_attributes!(update_attrs)
user.touch
end end
sig do sig do

View File

@@ -1,6 +1,6 @@
<% description_html = render_bsky_post_facets( <% description_html = render_bsky_post_facets(
post.text, post.text,
post.post_raw&.dig("value", "facets") post.post_raw&.dig("facets")
) %> ) %>
<%= sky_section_tag("Description") do %> <%= sky_section_tag("Description") do %>
<% if description_html %> <% if description_html %>

1084
dids.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -24,22 +24,22 @@ namespace :bluesky do
did = resolve_did(handle) did = resolve_did(handle)
puts "resolved did: #{did}" puts "resolved did: #{did}"
raise "did is required" if did.blank? raise "did is required" if did.blank?
Domain::Bluesky::MonitoredObject.create!(value: did, kind: :user_did)
user = user =
Domain::User::BlueskyUser.find_or_create_by!(did:) do |user| Domain::User::BlueskyUser.find_or_create_by!(did:) do |user|
user.handle = handle user.handle = handle
end end
Domain::Bluesky::Job::ScanUserJob.perform_later(user:) Domain::Bluesky::Job::ScanUserJob.perform_later(user:)
Domain::Bluesky::Job::ScanPostsJob.perform_later(user:)
Domain::Bluesky::MonitoredObject.create!(value: did, kind: :user_did)
elsif (did = ENV["did"]) elsif (did = ENV["did"])
raise "did is required" if did.blank? raise "did is required" if did.blank?
Domain::Bluesky::MonitoredObject.create!(value: did, kind: :user_did)
user = user =
Domain::User::BlueskyUser.find_or_create_by!(did:) do |user| Domain::User::BlueskyUser.find_or_create_by!(did:) do |user|
user.handle = nil user.handle = nil
end end
Domain::Bluesky::Job::ScanUserJob.perform_later(user:) Domain::Bluesky::Job::ScanUserJob.perform_later(user:)
Domain::Bluesky::Job::ScanPostsJob.perform_later(user:)
Domain::Bluesky::MonitoredObject.create!(value: did, kind: :user_did)
else else
raise "hashtag, handle, or did is required" raise "hashtag, handle, or did is required"
end end