diff --git a/app/serializers/node_info/serializer.rb b/app/serializers/node_info/serializer.rb index 56f5280698..bdf1ca884d 100644 --- a/app/serializers/node_info/serializer.rb +++ b/app/serializers/node_info/serializer.rb @@ -43,6 +43,10 @@ class NodeInfo::Serializer < ActiveModel::Serializer nodeName: Setting.site_title, nodeDescription: Setting.site_short_description, features: capabilities_for_nodeinfo, + upstream: { + name: 'Mastodon', + version: Mastodon::Version.to_s_of_mastodon, + }, } end diff --git a/lib/mastodon/version.rb b/lib/mastodon/version.rb index 1c9bee3a21..7f6ada0f44 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