diff options
Diffstat (limited to 'internal/typeutils/internaltofrontend.go')
-rw-r--r-- | internal/typeutils/internaltofrontend.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index d6da9493f..17b8047e9 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -45,6 +45,7 @@ const ( instanceAccountsMaxFeaturedTags = 10 instanceAccountsMaxProfileFields = 6 // FIXME: https://github.com/superseriousbusiness/gotosocial/issues/1876 instanceSourceURL = "https://github.com/superseriousbusiness/gotosocial" + instanceMastodonVersion = "3.5.3" ) var instanceStatusesSupportedMimeTypes = []string{ @@ -52,6 +53,10 @@ var instanceStatusesSupportedMimeTypes = []string{ string(apimodel.StatusContentTypeMarkdown), } +func toMastodonVersion(in string) string { + return instanceMastodonVersion + "+" + strings.ReplaceAll(in, " ", "-") +} + func (c *converter) AccountToAPIAccountSensitive(ctx context.Context, a *gtsmodel.Account) (*apimodel.Account, error) { // we can build this sensitive account easily by first getting the public account.... apiAccount, err := c.AccountToAPIAccountPublic(ctx, a) @@ -740,6 +745,10 @@ func (c *converter) InstanceToAPIV1Instance(ctx context.Context, i *gtsmodel.Ins MaxTootChars: uint(config.GetStatusesMaxChars()), } + if config.GetInstanceInjectMastodonVersion() { + instance.Version = toMastodonVersion(instance.Version) + } + // configuration instance.Configuration.Statuses.MaxCharacters = config.GetStatusesMaxChars() instance.Configuration.Statuses.MaxMediaAttachments = config.GetStatusesMediaMaxFiles() @@ -839,6 +848,10 @@ func (c *converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins Rules: []interface{}{}, // todo: not implemented } + if config.GetInstanceInjectMastodonVersion() { + instance.Version = toMastodonVersion(instance.Version) + } + // thumbnail thumbnail := apimodel.InstanceV2Thumbnail{} |