Add mutual visibility support

This commit is contained in:
KMY 2023-08-12 18:22:22 +09:00
parent 9662e6ae32
commit 79062bfc2f
14 changed files with 85 additions and 9 deletions

View file

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