From 279e4465ac359f94353a5a2b242b8b99c95868aa Mon Sep 17 00:00:00 2001 From: KMY Date: Thu, 25 May 2023 11:20:26 +0900 Subject: [PATCH] Fix loginonly activitypub spec --- app/lib/activitypub/activity/create.rb | 2 +- app/lib/activitypub/parser/status_parser.rb | 2 +- app/lib/activitypub/tag_manager.rb | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 414ada0fa0..e9ef9de370 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -526,7 +526,7 @@ class ActivityPub::Activity::Create < ActivityPub::Activity :public elsif audience_cc.any? { |cc| ActivityPub::TagManager.instance.public_collection?(cc) } :unlisted - elsif audience_cc.include?('as:LoginOnly') + elsif audience_to.include?('as:LoginOnly') :login elsif audience_to.include?(@account.followers_url) :private diff --git a/app/lib/activitypub/parser/status_parser.rb b/app/lib/activitypub/parser/status_parser.rb index aa871656e9..7ceb0a3584 100644 --- a/app/lib/activitypub/parser/status_parser.rb +++ b/app/lib/activitypub/parser/status_parser.rb @@ -77,7 +77,7 @@ class ActivityPub::Parser::StatusParser :public elsif audience_cc.any? { |cc| ActivityPub::TagManager.instance.public_collection?(cc) } :unlisted - elsif audience_cc.include?('as:LoginOnly') + elsif audience_to.include?('as:LoginOnly') :login elsif audience_to.include?(@magic_values[:followers_collection]) :private diff --git a/app/lib/activitypub/tag_manager.rb b/app/lib/activitypub/tag_manager.rb index ea319bf6ae..b57023507e 100644 --- a/app/lib/activitypub/tag_manager.rb +++ b/app/lib/activitypub/tag_manager.rb @@ -86,8 +86,10 @@ class ActivityPub::TagManager case status.visibility when 'public' [COLLECTIONS[:public]] - when 'unlisted', 'public_unlisted', 'login', 'private' + when 'unlisted', 'public_unlisted', 'private' [account_followers_url(status.account)] + when 'login' + [account_followers_url(status.account), 'as:LoginOnly'] when 'direct', 'limited' if status.account.silenced? # Only notify followers if the account is locally silenced @@ -124,8 +126,6 @@ class ActivityPub::TagManager cc << account_followers_url(status.account) when 'unlisted', 'public_unlisted' cc << COLLECTIONS[:public] - when 'login' - cc << 'as:LoginOnly' end cc + cc_private_visibility(status)