forgejo/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>
2023-05-13 20:59:11 +02:00
..
actions Rewrite queue (#24505) 2023-05-08 19:49:59 +08:00
agit add user rename endpoint to admin api (#22789) 2023-03-14 03:45:21 -04:00
asymkey Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
attachment Preserve file size when creating attachments (#23406) 2023-03-12 03:48:07 -04:00
auth Add Alpine package registry (#23714) 2023-05-12 17:27:50 +00:00
automerge Rewrite queue (#24505) 2023-05-08 19:49:59 +08:00
context Use User.ID instead of User.Name in ActivityPub API for Person IRI (#23823) 2023-04-04 10:08:23 +08:00
convert Filter get single commit (#24613) 2023-05-10 09:34:07 +08:00
cron Add Cargo package registry (#21888) 2023-02-05 18:12:31 +08:00
externalaccount Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
forms Add Alpine package registry (#23714) 2023-05-12 17:27:50 +00:00
gitdiff Simplify template helper functions (#24570) 2023-05-07 09:49:46 +00:00
issue Improve Gitea's web context, decouple "issue template" code into service package (#24590) 2023-05-09 01:30:14 +02:00
lfs Fix auth check bug (#24382) 2023-04-27 22:43:27 +02:00
mailer Rewrite queue (#24505) 2023-05-08 19:49:59 +08:00
markup Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
migrations Make repo migration cancelable and fix various bugs (#24605) 2023-05-11 08:25:46 +00:00
mirror Rewrite queue (#24505) 2023-05-08 19:49:59 +08:00
org Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
packages Add Alpine package registry (#23714) 2023-05-12 17:27:50 +00:00
pull Rewrite queue (#24505) 2023-05-08 19:49:59 +08:00
release Delete deleted release attachments immediately from storage (#23913) 2023-04-06 18:01:36 -04:00
repository Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2023-05-13 20:59:11 +02:00
task Make repo migration cancelable and fix various bugs (#24605) 2023-05-11 08:25:46 +00:00
user Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2023-05-13 20:59:11 +02:00
webhook Rewrite queue (#24505) 2023-05-08 19:49:59 +08:00
wiki Improve wiki user title test (#24559) 2023-05-06 11:24:18 +00:00