1
0
Fork 0
forked from gitea/nas

Merge branch 'kb_development' into kb_migration

This commit is contained in:
KMY 2023-05-01 14:02:02 +09:00
commit 9fa468a4bf
30 changed files with 239 additions and 49 deletions

View file

@ -15,17 +15,33 @@ class ActivityPub::DistributionWorker < ActivityPub::RawDistributionWorker
protected
def inboxes
@inboxes ||= StatusReachFinder.new(@status).inboxes
@inboxes ||= status_reach_finder.inboxes
end
def inboxes_for_misskey
@inboxes_for_misskey ||= status_reach_finder.inboxes_for_misskey
end
def status_reach_finder
@status_reach_finder ||= StatusReachFinder.new(@status)
end
def payload
@payload ||= Oj.dump(serialize_payload(activity, ActivityPub::ActivitySerializer, signer: @account))
end
def payload_for_misskey
@payload_for_misskey ||= Oj.dump(serialize_payload(activity_for_misskey, ActivityPub::ActivityForMisskeySerializer, signer: @account))
end
def activity
ActivityPub::ActivityPresenter.from_status(@status)
end
def activity_for_misskey
ActivityPub::ActivityPresenter.from_status(@status, for_misskey: true)
end
def options
{ 'synchronize_followers' => @status.private_visibility? }
end

View file

@ -23,10 +23,16 @@ class ActivityPub::RawDistributionWorker
protected
def distribute!
return if inboxes.empty?
unless inboxes.empty?
ActivityPub::DeliveryWorker.push_bulk(inboxes, limit: 1_000) do |inbox_url|
[payload, source_account_id, inbox_url, options]
end
end
ActivityPub::DeliveryWorker.push_bulk(inboxes, limit: 1_000) do |inbox_url|
[payload, source_account_id, inbox_url, options]
unless inboxes_for_misskey.empty?
ActivityPub::DeliveryWorker.push_bulk(inboxes_for_misskey, limit: 1_000) do |inbox_url|
[payload_for_misskey, source_account_id, inbox_url, options]
end
end
end
@ -34,6 +40,10 @@ class ActivityPub::RawDistributionWorker
@json
end
def payload_for_misskey
payload
end
def source_account_id
@account.id
end
@ -42,6 +52,10 @@ class ActivityPub::RawDistributionWorker
@inboxes ||= @account.followers.inboxes - @exclude_inboxes
end
def inboxes_for_misskey
[]
end
def options
{}
end