From e61350c70320a08490afa0e2d11582c3eaf50a16 Mon Sep 17 00:00:00 2001 From: KMY Date: Tue, 10 Oct 2023 21:40:55 +0900 Subject: [PATCH] =?UTF-8?q?Fix:=20#78=20=E6=A4=9C=E7=B4=A2=E8=A8=B1?= =?UTF-8?q?=E5=8F=AF=E3=81=AE`as:Limited`=E3=82=92`kmyblue:Limited`?= =?UTF-8?q?=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/lib/activitypub/activity/create.rb | 2 +- app/lib/activitypub/tag_manager.rb | 4 ++-- app/services/activitypub/process_account_service.rb | 2 +- spec/lib/activitypub/activity/create_spec.rb | 13 ++++++++++++- .../activitypub/process_account_service_spec.rb | 8 ++++++++ 5 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/lib/activitypub/activity/create.rb b/app/lib/activitypub/activity/create.rb index 2726df5c3b2b07..67eaddda896268 100644 --- a/app/lib/activitypub/activity/create.rb +++ b/app/lib/activitypub/activity/create.rb @@ -509,7 +509,7 @@ def searchability_from_audience nil elsif audience_searchable_by.any? { |uri| ActivityPub::TagManager.instance.public_collection?(uri) } :public - elsif audience_searchable_by.include?('as:Limited') + elsif audience_searchable_by.include?('kmyblue:Limited') || audience_searchable_by.include?('as:Limited') :limited elsif audience_searchable_by.include?(@account.followers_url) :private diff --git a/app/lib/activitypub/tag_manager.rb b/app/lib/activitypub/tag_manager.rb index d4badeb461b6e7..ba0e06509c546b 100644 --- a/app/lib/activitypub/tag_manager.rb +++ b/app/lib/activitypub/tag_manager.rb @@ -243,7 +243,7 @@ def searchable_by(status) when 'direct' status.conversation_id.present? ? [uri_for(status.conversation)] : [] when 'limited' - ['as:Limited'] + ['as:Limited', 'kmyblue:Limited'] else [] end @@ -258,7 +258,7 @@ def account_searchable_by(account) when 'private', 'direct' [account_followers_url(account)] when 'limited' - ['as:Limited'] + ['as:Limited', 'kmyblue:Limited'] else [] end diff --git a/app/services/activitypub/process_account_service.rb b/app/services/activitypub/process_account_service.rb index d2ba6975451ffc..473b2cabd33be5 100644 --- a/app/services/activitypub/process_account_service.rb +++ b/app/services/activitypub/process_account_service.rb @@ -272,7 +272,7 @@ def searchability_from_audience :public elsif audience_searchable_by.include?(@account.followers_url) :private - elsif audience_searchable_by.include?('as:Limited') + elsif audience_searchable_by.include?('kmyblue:Limited') || audience_searchable_by.include?('as:Limited') :limited else :direct diff --git a/spec/lib/activitypub/activity/create_spec.rb b/spec/lib/activitypub/activity/create_spec.rb index 9c4bba3e623b59..bb41e3065a458b 100644 --- a/spec/lib/activitypub/activity/create_spec.rb +++ b/spec/lib/activitypub/activity/create_spec.rb @@ -445,6 +445,17 @@ end context 'with limited' do + let(:searchable_by) { 'kmyblue:Limited' } + + it 'create status' do + status = sender.statuses.first + + expect(status).to_not be_nil + expect(status.searchability).to eq 'limited' + end + end + + context 'with limited old spec' do let(:searchable_by) { 'as:Limited' } it 'create status' do @@ -570,7 +581,7 @@ context 'with misskey' do let(:sender_software) { 'misskey' } - let(:searchable_by) { 'as:Limited' } + let(:searchable_by) { 'kmyblue:Limited' } it 'create status' do status = sender.statuses.first diff --git a/spec/services/activitypub/process_account_service_spec.rb b/spec/services/activitypub/process_account_service_spec.rb index b23aa1cea34c59..78107935593eca 100644 --- a/spec/services/activitypub/process_account_service_spec.rb +++ b/spec/services/activitypub/process_account_service_spec.rb @@ -53,6 +53,14 @@ end context 'when limited' do + let(:searchable_by) { 'kmyblue:Limited' } + + it 'searchability is limited' do + expect(subject.searchability).to eq 'limited' + end + end + + context 'when limited old spec' do let(:searchable_by) { 'as:Limited' } it 'searchability is limited' do