Fix: #89 NodeInfo向けの機能一覧表を作成して区別 (#103)

This commit is contained in:
KMY(雪あすか) 2023-10-12 20:06:21 +09:00 committed by GitHub
parent 5cb8ccad84
commit 2e7cdd0516
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 1 deletions

View file

@ -30,4 +30,29 @@ module KmyblueCapabilitiesHelper
capabilities
end
def capabilities_for_nodeinfo
capabilities = %i(
wide_emoji
status_reference
quote
kmyblue_quote
searchability
kmyblue_searchability
visibility_mutual
visibility_limited
kmyblue_antenna
kmyblue_bookmark_category
kmyblue_searchability_limited
kmyblue_circle_history
)
capabilities << :full_text_search if Chewy.enabled?
if Setting.enable_emoji_reaction
capabilities << :emoji_reaction
capabilities << :enable_wide_emoji_reaction
end
capabilities
end
end

View file

@ -40,7 +40,7 @@ class NodeInfo::Serializer < ActiveModel::Serializer
def metadata
{
features: fedibird_capabilities,
features: capabilities_for_nodeinfo,
}
end

View file

@ -28,5 +28,10 @@ describe NodeInfo::Serializer do # rubocop:disable RSpec/FilePath
it 'returns features' do
expect(serialization['metadata']['features']).to include 'emoji_reaction'
end
it 'returns nodeinfo own features' do
expect(serialization['metadata']['features']).to include 'quote'
expect(serialization['metadata']['features']).to_not include 'kmyblue_markdown'
end
end
end

View file

@ -22,5 +22,9 @@ describe REST::InstanceSerializer do
it 'returns fedibird_capabilities' do
expect(serialization['fedibird_capabilities']).to include 'emoji_reaction'
end
it 'returns api own fedibird_capabilities' do
expect(serialization['fedibird_capabilities']).to include 'kmyblue_markdown'
end
end
end