diff --git a/app/serializers/nodeinfo/serializer.rb b/app/serializers/nodeinfo/serializer.rb index 3555f0bd8d..b316753c72 100644 --- a/app/serializers/nodeinfo/serializer.rb +++ b/app/serializers/nodeinfo/serializer.rb @@ -11,7 +11,7 @@ class NodeInfo::Serializer < ActiveModel::Serializer end def software - { name: 'mastodon', version: Mastodon::Version.to_s } + { name: 'kmyblue', version: Mastodon::Version.to_s } end def services @@ -41,6 +41,10 @@ class NodeInfo::Serializer < ActiveModel::Serializer def metadata { features: fedibird_capabilities, + upstream: { + name: 'Mastodon', + version: Mastodon::Version.to_s_of_mastodon, + }, } end diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 0e819ce52c..0d3e40b859 100644 --- a/lib/mastodon/version.rb +++ b/lib/mastodon/version.rb @@ -46,8 +46,19 @@ module Mastodon components.join end + def to_s_of_mastodon + components = [to_a.join('.')] + components << "-#{prerelease}" if prerelease.present? + components << "+#{build_metadata_of_mastodon}" if build_metadata_of_mastodon.present? + components.join + end + def build_metadata - ['kmyblue', to_s_of_kmyblue, ENV.fetch('MASTODON_VERSION_METADATA', nil)].compact.join('.') + ['kmyblue', to_s_of_kmyblue, build_metadata_of_mastodon].compact.join('.') + end + + def build_metadata_of_mastodon + ENV.fetch('MASTODON_VERSION_METADATA', nil) end def to_a