gitea/modules/setting
wxiaoguang 82224c54e0
Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653)
Fixes: #8972
Fixes: #24263

And I think it also (partially) fix #24263 (no need to convert) ,
because users could upload any supported image format if it isn't larger
than AVATAR_MAX_ORIGIN_SIZE


The main idea: 

* if the uploaded file size is not larger than AVATAR_MAX_ORIGIN_SIZE,
use the origin
* if the resized size is larger than the origin, use the origin

Screenshots:

JPG:

<details>


![image](https://github.com/go-gitea/gitea/assets/2114189/70e98bb0-ecb9-4c4e-a89f-4a37d4e37f8e)

</details>

APNG:

<details>


![image](https://github.com/go-gitea/gitea/assets/2114189/9055135b-5e2d-4152-bd72-596fcb7c6671)


![image](https://github.com/go-gitea/gitea/assets/2114189/50364caf-f7f6-4241-a289-e485fe4cd582)

</details>

WebP (animated)

<details>


![image](https://github.com/go-gitea/gitea/assets/2114189/f642eb85-498a-49a5-86bf-0a7b04089ae0)

</details>

The only exception: if a WebP image is larger than MaxOriginSize and it
is animated, then current `webp` package can't decode it, so only in
this case it isn't supported. IMO no need to support such case: why a
user would upload a 1MB animated webp as avatar? crazy .....

---------

Co-authored-by: silverwind <me@silverwind.io>
2023-05-13 20:59:11 +02:00
..
actions.go
admin.go
api.go
asset_dynamic.go
asset_static.go
attachment.go
cache.go
camo.go
config_provider.go Remove unnecessary code (#24610) 2023-05-10 04:57:06 +00:00
cors.go
cron.go
cron_test.go
database.go
database_sqlite.go
database_test.go
federation.go
git.go
highlight.go
i18n.go
incoming_email.go
indexer.go
indexer_test.go
lfs.go Increase default LFS auth timeout from 20m to 24h (#24628) 2023-05-10 22:23:47 +08:00
log.go
mailer.go
mailer_test.go Remove unnecessary code (#24610) 2023-05-10 04:57:06 +00:00
markup.go
metrics.go
migrations.go
mime_type_map.go
mirror.go
oauth2.go
other.go
packages.go Add Alpine package registry (#23714) 2023-05-12 17:27:50 +00:00
packages_test.go Remove unnecessary code (#24610) 2023-05-10 04:57:06 +00:00
picture.go Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2023-05-13 20:59:11 +02:00
project.go
proxy.go
queue.go
repository.go Support SSH for go get (#24664) 2023-05-12 09:44:37 +00:00
security.go
server.go
service.go
session.go
setting.go
setting_test.go
ssh.go
storage.go
storage_test.go
task.go
time.go
ui.go
webhook.go