mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[feature] Add description_limit
to /api/v2/instance
, increase default limit to 5k (#4140)
Closes https://codeberg.org/superseriousbusiness/gotosocial/issues/4131 by adding `description_limit` to the `api/v2/instance` response. Also increases default sizes to default status length to allow people to more easily describe things like screenshots of text. Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4140 Co-authored-by: tobi <tobi.smethurst@protonmail.com> Co-committed-by: tobi <tobi.smethurst@protonmail.com>
This commit is contained in:
@ -1593,6 +1593,23 @@ definitions:
|
|||||||
x-go-package: code.superseriousbusiness.org/gotosocial/internal/api/model
|
x-go-package: code.superseriousbusiness.org/gotosocial/internal/api/model
|
||||||
instanceConfigurationMediaAttachments:
|
instanceConfigurationMediaAttachments:
|
||||||
properties:
|
properties:
|
||||||
|
description_limit:
|
||||||
|
description: |-
|
||||||
|
The maximum size of a description, in characters.
|
||||||
|
Omitted for /api/v1/instance response.
|
||||||
|
example: 5000
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
x-go-name: DescriptionLimit
|
||||||
|
description_minimum:
|
||||||
|
description: |-
|
||||||
|
The minimum size required for a description, in characters.
|
||||||
|
Omitted if zero/not set.
|
||||||
|
Omitted for /api/v1/instance response.
|
||||||
|
example: 200
|
||||||
|
format: int64
|
||||||
|
type: integer
|
||||||
|
x-go-name: DescriptionMinimum
|
||||||
image_matrix_limit:
|
image_matrix_limit:
|
||||||
description: |-
|
description: |-
|
||||||
Max allowed image size in pixels as height*width.
|
Max allowed image size in pixels as height*width.
|
||||||
|
@ -50,9 +50,9 @@ media-remote-max-size: 40MiB
|
|||||||
media-description-min-chars: 0
|
media-description-min-chars: 0
|
||||||
|
|
||||||
# Int. Maximum amount of characters permitted in an image or video description.
|
# Int. Maximum amount of characters permitted in an image or video description.
|
||||||
# Examples: [1000, 1500, 3000]
|
# Examples: [1000, 5000, 10000]
|
||||||
# Default: 1500
|
# Default: 5000
|
||||||
media-description-max-chars: 1500
|
media-description-max-chars: 5000
|
||||||
|
|
||||||
# Size. Max size in bytes of emojis uploaded to this instance via the admin API.
|
# Size. Max size in bytes of emojis uploaded to this instance via the admin API.
|
||||||
#
|
#
|
||||||
|
@ -580,9 +580,9 @@ media-remote-max-size: 40MiB
|
|||||||
media-description-min-chars: 0
|
media-description-min-chars: 0
|
||||||
|
|
||||||
# Int. Maximum amount of characters permitted in an image or video description.
|
# Int. Maximum amount of characters permitted in an image or video description.
|
||||||
# Examples: [1000, 1500, 3000]
|
# Examples: [1000, 5000, 10000]
|
||||||
# Default: 1500
|
# Default: 5000
|
||||||
media-description-max-chars: 1500
|
media-description-max-chars: 5000
|
||||||
|
|
||||||
# Size. Max size in bytes of emojis uploaded to this instance via the admin API.
|
# Size. Max size in bytes of emojis uploaded to this instance via the admin API.
|
||||||
#
|
#
|
||||||
|
@ -120,6 +120,17 @@ type InstanceConfigurationMediaAttachments struct {
|
|||||||
//
|
//
|
||||||
// example: 16777216
|
// example: 16777216
|
||||||
VideoMatrixLimit int `json:"video_matrix_limit"`
|
VideoMatrixLimit int `json:"video_matrix_limit"`
|
||||||
|
// The maximum size of a description, in characters.
|
||||||
|
// Omitted for /api/v1/instance response.
|
||||||
|
//
|
||||||
|
// example: 5000
|
||||||
|
DescriptionLimit int `json:"description_limit,omitempty"`
|
||||||
|
// The minimum size required for a description, in characters.
|
||||||
|
// Omitted if zero/not set.
|
||||||
|
// Omitted for /api/v1/instance response.
|
||||||
|
//
|
||||||
|
// example: 200
|
||||||
|
DescriptionMinimum int `json:"description_minimum,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// InstanceConfigurationPolls models instance poll config parameters.
|
// InstanceConfigurationPolls models instance poll config parameters.
|
||||||
|
@ -1966,6 +1966,8 @@ func (c *Converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins
|
|||||||
instance.Configuration.Statuses.CharactersReservedPerURL = instanceStatusesCharactersReservedPerURL
|
instance.Configuration.Statuses.CharactersReservedPerURL = instanceStatusesCharactersReservedPerURL
|
||||||
instance.Configuration.Statuses.SupportedMimeTypes = instanceStatusesSupportedMimeTypes
|
instance.Configuration.Statuses.SupportedMimeTypes = instanceStatusesSupportedMimeTypes
|
||||||
instance.Configuration.MediaAttachments.SupportedMimeTypes = media.SupportedMIMETypes
|
instance.Configuration.MediaAttachments.SupportedMimeTypes = media.SupportedMIMETypes
|
||||||
|
instance.Configuration.MediaAttachments.DescriptionLimit = config.GetMediaDescriptionMaxChars()
|
||||||
|
instance.Configuration.MediaAttachments.DescriptionMinimum = config.GetMediaDescriptionMinChars()
|
||||||
|
|
||||||
// NOTE: we use the local max sizes here
|
// NOTE: we use the local max sizes here
|
||||||
// as it hints to apps like Tusky for image
|
// as it hints to apps like Tusky for image
|
||||||
|
@ -2501,7 +2501,8 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV2ToFrontend() {
|
|||||||
"image_matrix_limit": 2147483647,
|
"image_matrix_limit": 2147483647,
|
||||||
"video_size_limit": 41943040,
|
"video_size_limit": 41943040,
|
||||||
"video_frame_rate_limit": 2147483647,
|
"video_frame_rate_limit": 2147483647,
|
||||||
"video_matrix_limit": 2147483647
|
"video_matrix_limit": 2147483647,
|
||||||
|
"description_limit": 500
|
||||||
},
|
},
|
||||||
"polls": {
|
"polls": {
|
||||||
"max_options": 6,
|
"max_options": 6,
|
||||||
|
Reference in New Issue
Block a user