summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/api/swagger.yaml17
-rw-r--r--docs/configuration/media.md6
-rw-r--r--example/config.yaml6
-rw-r--r--internal/api/model/instance.go11
-rw-r--r--internal/typeutils/internaltofrontend.go2
-rw-r--r--internal/typeutils/internaltofrontend_test.go3
6 files changed, 38 insertions, 7 deletions
diff --git a/docs/api/swagger.yaml b/docs/api/swagger.yaml
index 59e698596..851106398 100644
--- a/docs/api/swagger.yaml
+++ b/docs/api/swagger.yaml
@@ -1593,6 +1593,23 @@ definitions:
x-go-package: code.superseriousbusiness.org/gotosocial/internal/api/model
instanceConfigurationMediaAttachments:
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:
description: |-
Max allowed image size in pixels as height*width.
diff --git a/docs/configuration/media.md b/docs/configuration/media.md
index e49b59dd3..b75a94d15 100644
--- a/docs/configuration/media.md
+++ b/docs/configuration/media.md
@@ -50,9 +50,9 @@ media-remote-max-size: 40MiB
media-description-min-chars: 0
# Int. Maximum amount of characters permitted in an image or video description.
-# Examples: [1000, 1500, 3000]
-# Default: 1500
-media-description-max-chars: 1500
+# Examples: [1000, 5000, 10000]
+# Default: 5000
+media-description-max-chars: 5000
# Size. Max size in bytes of emojis uploaded to this instance via the admin API.
#
diff --git a/example/config.yaml b/example/config.yaml
index c2f9667c3..acabd4e22 100644
--- a/example/config.yaml
+++ b/example/config.yaml
@@ -580,9 +580,9 @@ media-remote-max-size: 40MiB
media-description-min-chars: 0
# Int. Maximum amount of characters permitted in an image or video description.
-# Examples: [1000, 1500, 3000]
-# Default: 1500
-media-description-max-chars: 1500
+# Examples: [1000, 5000, 10000]
+# Default: 5000
+media-description-max-chars: 5000
# Size. Max size in bytes of emojis uploaded to this instance via the admin API.
#
diff --git a/internal/api/model/instance.go b/internal/api/model/instance.go
index 2a085c082..73aa8ef82 100644
--- a/internal/api/model/instance.go
+++ b/internal/api/model/instance.go
@@ -120,6 +120,17 @@ type InstanceConfigurationMediaAttachments struct {
//
// example: 16777216
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.
diff --git a/internal/typeutils/internaltofrontend.go b/internal/typeutils/internaltofrontend.go
index 659f47ab4..ffd971040 100644
--- a/internal/typeutils/internaltofrontend.go
+++ b/internal/typeutils/internaltofrontend.go
@@ -1966,6 +1966,8 @@ func (c *Converter) InstanceToAPIV2Instance(ctx context.Context, i *gtsmodel.Ins
instance.Configuration.Statuses.CharactersReservedPerURL = instanceStatusesCharactersReservedPerURL
instance.Configuration.Statuses.SupportedMimeTypes = instanceStatusesSupportedMimeTypes
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
// as it hints to apps like Tusky for image
diff --git a/internal/typeutils/internaltofrontend_test.go b/internal/typeutils/internaltofrontend_test.go
index f38e815f9..63e242f79 100644
--- a/internal/typeutils/internaltofrontend_test.go
+++ b/internal/typeutils/internaltofrontend_test.go
@@ -2501,7 +2501,8 @@ func (suite *InternalToFrontendTestSuite) TestInstanceV2ToFrontend() {
"image_matrix_limit": 2147483647,
"video_size_limit": 41943040,
"video_frame_rate_limit": 2147483647,
- "video_matrix_limit": 2147483647
+ "video_matrix_limit": 2147483647,
+ "description_limit": 500
},
"polls": {
"max_options": 6,