diff --git a/app/lib/activitypub/parser/status_parser.rb b/app/lib/activitypub/parser/status_parser.rb index ae37ba2cf2..9c0145ad7a 100644 --- a/app/lib/activitypub/parser/status_parser.rb +++ b/app/lib/activitypub/parser/status_parser.rb @@ -198,7 +198,7 @@ class ActivityPub::Parser::StatusParser 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?('LocalPublic') :public_unlisted diff --git a/app/lib/activitypub/tag_manager.rb b/app/lib/activitypub/tag_manager.rb index 0b608a0adb..2c5323f199 100644 --- a/app/lib/activitypub/tag_manager.rb +++ b/app/lib/activitypub/tag_manager.rb @@ -249,7 +249,7 @@ class ActivityPub::TagManager when 'direct' status.conversation_id.present? ? [uri_for(status.conversation)] : [] when 'limited' - ['as:Limited'] + ['as:Limited', 'kmyblue:Limited'] else [] end @@ -270,7 +270,7 @@ class ActivityPub::TagManager 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 d2ba697545..473b2cabd3 100644 --- a/app/services/activitypub/process_account_service.rb +++ b/app/services/activitypub/process_account_service.rb @@ -272,7 +272,7 @@ class ActivityPub::ProcessAccountService < BaseService :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 58aca07573..4651445ae6 100644 --- a/spec/lib/activitypub/activity/create_spec.rb +++ b/spec/lib/activitypub/activity/create_spec.rb @@ -475,6 +475,17 @@ RSpec.describe ActivityPub::Activity::Create do 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 @@ -600,7 +611,7 @@ RSpec.describe ActivityPub::Activity::Create do 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 fe2c7cda99..8955084879 100644 --- a/spec/services/activitypub/process_account_service_spec.rb +++ b/spec/services/activitypub/process_account_service_spec.rb @@ -54,6 +54,14 @@ RSpec.describe ActivityPub::ProcessAccountService, type: :service do 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