You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gitea/services
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>
2 years ago
..
actions Rewrite queue (#24505) 2 years ago
agit add user rename endpoint to admin api (#22789) 2 years ago
asymkey Add context cache as a request level cache (#22294) 2 years ago
attachment Preserve file size when creating attachments (#23406) 2 years ago
auth Add Alpine package registry (#23714) 2 years ago
automerge Rewrite queue (#24505) 2 years ago
context Use User.ID instead of User.Name in ActivityPub API for Person IRI (#23823) 2 years ago
convert Filter get single commit (#24613) 2 years ago
cron Add Cargo package registry (#21888) 2 years ago
externalaccount Implement FSFE REUSE for golang files (#21840) 2 years ago
forms Add Alpine package registry (#23714) 2 years ago
gitdiff Simplify template helper functions (#24570) 2 years ago
issue Improve Gitea's web context, decouple "issue template" code into service package (#24590) 2 years ago
lfs Fix auth check bug (#24382) 2 years ago
mailer Rewrite queue (#24505) 2 years ago
markup Implement FSFE REUSE for golang files (#21840) 2 years ago
migrations Make repo migration cancelable and fix various bugs (#24605) 2 years ago
mirror Rewrite queue (#24505) 2 years ago
org Implement FSFE REUSE for golang files (#21840) 2 years ago
packages Add Alpine package registry (#23714) 2 years ago
pull Rewrite queue (#24505) 2 years ago
release Delete deleted release attachments immediately from storage (#23913) 2 years ago
repository Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2 years ago
task Make repo migration cancelable and fix various bugs (#24605) 2 years ago
user Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2 years ago
webhook Rewrite queue (#24505) 2 years ago
wiki Improve wiki user title test (#24559) 2 years ago