From f624cdfa98a0df059ab430151d57ff1c589d2435 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?KMY=EF=BC=88=E9=9B=AA=E3=81=82=E3=81=99=E3=81=8B=EF=BC=89?= Date: Tue, 9 Jan 2024 18:05:08 +0900 Subject: [PATCH] =?UTF-8?q?Add:=20NodeInfo=E3=81=AB`upstream`=E6=83=85?= =?UTF-8?q?=E5=A0=B1=E3=82=92=E8=BF=BD=E5=8A=A0=20(#440)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/serializers/node_info/serializer.rb | 4 ++++ lib/mastodon/version.rb | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) 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