summaryrefslogtreecommitdiff
path: root/internal/typeutils/internaltofrontend.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/typeutils/internaltofrontend.go')
-rw-r--r--internal/typeutils/internaltofrontend.go13
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{}