summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-02-23 19:28:09 +0100
committerLibravatar GitHub <noreply@github.com>2024-02-23 18:28:09 +0000
commit4b0eefbcc9c30f1f34092be89a83936ab9ca04ed (patch)
treeb6ee638a569b5cc9c6934fce268865d098a327c4 /internal
parent[bugfix] 2643 bug search for account url doesnt always work when redirected (... (diff)
downloadgotosocial-4b0eefbcc9c30f1f34092be89a83936ab9ca04ed.tar.xz
[chore] Increase default max image description to 1500 chars, collapse cw char count into status (#2682)
* [chore] Make default max image description 1500 chars, collapse cw char count into status * oops * tests
Diffstat (limited to 'internal')
-rw-r--r--internal/api/client/statuses/statuscreate.go16
-rw-r--r--internal/config/config.go3
-rw-r--r--internal/config/defaults.go3
-rw-r--r--internal/config/flags.go1
-rw-r--r--internal/config/helpers.gen.go25
5 files changed, 5 insertions, 43 deletions
diff --git a/internal/api/client/statuses/statuscreate.go b/internal/api/client/statuses/statuscreate.go
index cc9b78384..929adaa6f 100644
--- a/internal/api/client/statuses/statuscreate.go
+++ b/internal/api/client/statuses/statuscreate.go
@@ -137,15 +137,11 @@ func validateNormalizeCreateStatus(form *apimodel.AdvancedStatusCreateForm) erro
}
maxChars := config.GetStatusesMaxChars()
- maxMediaFiles := config.GetStatusesMediaMaxFiles()
- maxCwChars := config.GetStatusesCWMaxChars()
-
- if form.Status != "" {
- if length := len([]rune(form.Status)); length > maxChars {
- return fmt.Errorf("status too long, %d characters provided but limit is %d", length, maxChars)
- }
+ if length := len([]rune(form.Status)) + len([]rune(form.SpoilerText)); length > maxChars {
+ return fmt.Errorf("status too long, %d characters provided (including spoiler/content warning) but limit is %d", length, maxChars)
}
+ maxMediaFiles := config.GetStatusesMediaMaxFiles()
if len(form.MediaIDs) > maxMediaFiles {
return fmt.Errorf("too many media files attached to status, %d attached but limit is %d", len(form.MediaIDs), maxMediaFiles)
}
@@ -156,12 +152,6 @@ func validateNormalizeCreateStatus(form *apimodel.AdvancedStatusCreateForm) erro
}
}
- if form.SpoilerText != "" {
- if length := len([]rune(form.SpoilerText)); length > maxCwChars {
- return fmt.Errorf("content-warning/spoilertext too long, %d characters provided but limit is %d", length, maxCwChars)
- }
- }
-
if form.Language != "" {
language, err := validate.Language(form.Language)
if err != nil {
diff --git a/internal/config/config.go b/internal/config/config.go
index 68c065852..a4cd83227 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -111,8 +111,7 @@ type Configuration struct {
StorageS3BucketName string `name:"storage-s3-bucket" usage:"Place blobs in this bucket"`
StorageS3Proxy bool `name:"storage-s3-proxy" usage:"Proxy S3 contents through GoToSocial instead of redirecting to a presigned URL"`
- StatusesMaxChars int `name:"statuses-max-chars" usage:"Max permitted characters for posted statuses"`
- StatusesCWMaxChars int `name:"statuses-cw-max-chars" usage:"Max permitted characters for content/spoiler warnings on statuses"`
+ StatusesMaxChars int `name:"statuses-max-chars" usage:"Max permitted characters for posted statuses, including content warning"`
StatusesPollMaxOptions int `name:"statuses-poll-max-options" usage:"Max amount of options permitted on a poll"`
StatusesPollOptionMaxChars int `name:"statuses-poll-option-max-chars" usage:"Max amount of characters for a poll option"`
StatusesMediaMaxFiles int `name:"statuses-media-max-files" usage:"Maximum number of media files/attachments per status"`
diff --git a/internal/config/defaults.go b/internal/config/defaults.go
index 3996b133f..a8343400b 100644
--- a/internal/config/defaults.go
+++ b/internal/config/defaults.go
@@ -74,7 +74,7 @@ var Defaults = Configuration{
MediaImageMaxSize: 10 * bytesize.MiB,
MediaVideoMaxSize: 40 * bytesize.MiB,
MediaDescriptionMinChars: 0,
- MediaDescriptionMaxChars: 500,
+ MediaDescriptionMaxChars: 1500,
MediaRemoteCacheDays: 7,
MediaEmojiLocalMaxSize: 50 * bytesize.KiB,
MediaEmojiRemoteMaxSize: 100 * bytesize.KiB,
@@ -87,7 +87,6 @@ var Defaults = Configuration{
StorageS3Proxy: false,
StatusesMaxChars: 5000,
- StatusesCWMaxChars: 100,
StatusesPollMaxOptions: 6,
StatusesPollOptionMaxChars: 50,
StatusesMediaMaxFiles: 6,
diff --git a/internal/config/flags.go b/internal/config/flags.go
index 350f56635..ae8a3ba36 100644
--- a/internal/config/flags.go
+++ b/internal/config/flags.go
@@ -113,7 +113,6 @@ func (s *ConfigState) AddServerFlags(cmd *cobra.Command) {
// Statuses
cmd.Flags().Int(StatusesMaxCharsFlag(), cfg.StatusesMaxChars, fieldtag("StatusesMaxChars", "usage"))
- cmd.Flags().Int(StatusesCWMaxCharsFlag(), cfg.StatusesCWMaxChars, fieldtag("StatusesCWMaxChars", "usage"))
cmd.Flags().Int(StatusesPollMaxOptionsFlag(), cfg.StatusesPollMaxOptions, fieldtag("StatusesPollMaxOptions", "usage"))
cmd.Flags().Int(StatusesPollOptionMaxCharsFlag(), cfg.StatusesPollOptionMaxChars, fieldtag("StatusesPollOptionMaxChars", "usage"))
cmd.Flags().Int(StatusesMediaMaxFilesFlag(), cfg.StatusesMediaMaxFiles, fieldtag("StatusesMediaMaxFiles", "usage"))
diff --git a/internal/config/helpers.gen.go b/internal/config/helpers.gen.go
index 72b2a7fd9..0379a541b 100644
--- a/internal/config/helpers.gen.go
+++ b/internal/config/helpers.gen.go
@@ -1525,31 +1525,6 @@ func GetStatusesMaxChars() int { return global.GetStatusesMaxChars() }
// SetStatusesMaxChars safely sets the value for global configuration 'StatusesMaxChars' field
func SetStatusesMaxChars(v int) { global.SetStatusesMaxChars(v) }
-// GetStatusesCWMaxChars safely fetches the Configuration value for state's 'StatusesCWMaxChars' field
-func (st *ConfigState) GetStatusesCWMaxChars() (v int) {
- st.mutex.RLock()
- v = st.config.StatusesCWMaxChars
- st.mutex.RUnlock()
- return
-}
-
-// SetStatusesCWMaxChars safely sets the Configuration value for state's 'StatusesCWMaxChars' field
-func (st *ConfigState) SetStatusesCWMaxChars(v int) {
- st.mutex.Lock()
- defer st.mutex.Unlock()
- st.config.StatusesCWMaxChars = v
- st.reloadToViper()
-}
-
-// StatusesCWMaxCharsFlag returns the flag name for the 'StatusesCWMaxChars' field
-func StatusesCWMaxCharsFlag() string { return "statuses-cw-max-chars" }
-
-// GetStatusesCWMaxChars safely fetches the value for global configuration 'StatusesCWMaxChars' field
-func GetStatusesCWMaxChars() int { return global.GetStatusesCWMaxChars() }
-
-// SetStatusesCWMaxChars safely sets the value for global configuration 'StatusesCWMaxChars' field
-func SetStatusesCWMaxChars(v int) { global.SetStatusesCWMaxChars(v) }
-
// GetStatusesPollMaxOptions safely fetches the Configuration value for state's 'StatusesPollMaxOptions' field
func (st *ConfigState) GetStatusesPollMaxOptions() (v int) {
st.mutex.RLock()