[feature] configurable maximum thumbnail dimensions (#4258)

- adds configuration for thumbnail maximum dimensions with warning on exceeding recommendations
- moves the media configuration vars into their own sub-struct
- replaces the configuration flag funcs with simple string consts

Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4258
Reviewed-by: tobi <kipvandenbos@noreply.codeberg.org>
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
This commit is contained in:
kim 2025-06-10 15:43:31 +02:00 committed by kim
commit d7f967cbb5
17 changed files with 902 additions and 1099 deletions

View file

@ -114,15 +114,18 @@ func testDefaults() config.Configuration {
AccountsCustomCSSLength: 10000,
AccountsMaxProfileFields: 8,
MediaDescriptionMinChars: 0,
MediaDescriptionMaxChars: 500,
MediaRemoteCacheDays: 7,
MediaLocalMaxSize: 40 * bytesize.MiB,
MediaRemoteMaxSize: 40 * bytesize.MiB,
MediaEmojiLocalMaxSize: 51200, // 50KiB
MediaEmojiRemoteMaxSize: 102400, // 100KiB
MediaCleanupFrom: "00:00", // midnight.
MediaCleanupEvery: 24 * time.Hour, // 1/day.
Media: config.MediaConfiguration{
DescriptionMinChars: 0,
DescriptionMaxChars: 500,
RemoteCacheDays: 7,
LocalMaxSize: 40 * bytesize.MiB,
RemoteMaxSize: 40 * bytesize.MiB,
EmojiLocalMaxSize: 51200, // 50KiB
EmojiRemoteMaxSize: 102400, // 100KiB
CleanupFrom: "00:00", // midnight.
CleanupEvery: 24 * time.Hour, // 1/day.
ThumbMaxPixels: 512,
},
// the testrig only uses in-memory storage, so we can
// safely set this value to 'test' to avoid running storage