Fix to not use bearcap when backing up status

This commit is contained in:
noellabo 2020-11-11 01:35:31 +09:00
parent f1200ac6e6
commit 807da5d3d6
2 changed files with 3 additions and 3 deletions

View file

@ -4,7 +4,7 @@ class ActivityPub::ActivityPresenter < ActiveModelSerializers::Model
attributes :id, :type, :actor, :published, :to, :cc, :virtual_object attributes :id, :type, :actor, :published, :to, :cc, :virtual_object
class << self class << self
def from_status(status) def from_status(status, use_bearcap: true)
new.tap do |presenter| new.tap do |presenter|
presenter.id = ActivityPub::TagManager.instance.activity_uri_for(status) presenter.id = ActivityPub::TagManager.instance.activity_uri_for(status)
presenter.type = status.reblog? ? 'Announce' : 'Create' presenter.type = status.reblog? ? 'Announce' : 'Create'
@ -20,7 +20,7 @@ class ActivityPub::ActivityPresenter < ActiveModelSerializers::Model
else else
ActivityPub::TagManager.instance.uri_for(status.proper) ActivityPub::TagManager.instance.uri_for(status.proper)
end end
elsif status.limited_visibility? elsif status.limited_visibility? && use_bearcap
"bear:?#{{ u: ActivityPub::TagManager.instance.uri_for(status.proper), t: status.capability_tokens.first.token }.to_query}" "bear:?#{{ u: ActivityPub::TagManager.instance.uri_for(status.proper), t: status.capability_tokens.first.token }.to_query}"
else else
status.proper status.proper

View file

@ -22,7 +22,7 @@ class BackupService < BaseService
account.statuses.with_includes.reorder(nil).find_in_batches do |statuses| account.statuses.with_includes.reorder(nil).find_in_batches do |statuses|
statuses.each do |status| statuses.each do |status|
item = serialize_payload(ActivityPub::ActivityPresenter.from_status(status), ActivityPub::ActivitySerializer, signer: @account) item = serialize_payload(ActivityPub::ActivityPresenter.from_status(status, use_bearcap: false), ActivityPub::ActivitySerializer, signer: @account)
item.delete(:'@context') item.delete(:'@context')
unless item[:type] == 'Announce' || item[:object][:attachment].blank? unless item[:type] == 'Announce' || item[:object][:attachment].blank?