diff options
Diffstat (limited to 'internal/typeutils/internaltofrontend.go')
-rw-r--r-- | internal/typeutils/internaltofrontend.go | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go index 774739d85..eb4bcf70d 100644 --- a/internal/typeutils/internaltofrontend.go +++ b/internal/typeutils/internaltofrontend.go @@ -29,6 +29,7 @@ import ( "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" + "github.com/superseriousbusiness/gotosocial/internal/media" "github.com/superseriousbusiness/gotosocial/internal/util" ) @@ -595,9 +596,32 @@ func (c *converter) InstanceToAPIInstance(ctx context.Context, i *gtsmodel.Insta mi.InvitesEnabled = false // TODO mi.MaxTootChars = uint(config.GetStatusesMaxChars()) mi.URLS = &model.InstanceURLs{ - StreamingAPI: fmt.Sprintf("wss://%s", host), + StreamingAPI: "wss://" + host, } mi.Version = config.GetSoftwareVersion() + + // todo: remove hardcoded values and put them in config somewhere + mi.Configuration = &model.InstanceConfiguration{ + Statuses: &model.InstanceConfigurationStatuses{ + MaxCharacters: config.GetStatusesMaxChars(), + MaxMediaAttachments: config.GetStatusesMediaMaxFiles(), + CharactersReservedPerURL: 999, + }, + MediaAttachments: &model.InstanceConfigurationMediaAttachments{ + SupportedMimeTypes: media.AllSupportedMIMETypes(), + ImageSizeLimit: config.GetMediaImageMaxSize(), + ImageMatrixLimit: 16777216, // height*width + VideoSizeLimit: config.GetMediaVideoMaxSize(), + VideoFrameRateLimit: 60, + VideoMatrixLimit: 16777216, // height*width + }, + Polls: &model.InstanceConfigurationPolls{ + MaxOptions: config.GetStatusesPollMaxOptions(), + MaxCharactersPerOption: config.GetStatusesPollOptionMaxChars(), + MinExpiration: 300, // seconds + MaxExpiration: 2629746, // seconds + }, + } } // get the instance account if it exists and just skip if it doesn't |