forgejo/modules/repository
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
..
collaborator.go Always reuse transaction (#22362) 2023-01-08 09:34:58 +08:00
collaborator_test.go Rename repo.GetOwner to repo.LoadOwner (#22967) 2023-02-18 20:11:03 +08:00
commits.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
commits_test.go Improve avatar uploading / resizing / compressing, remove Fomantic card module (#24653) 2023-05-13 20:59:11 +02:00
create.go Fix unclear IsRepositoryExist logic (#24374) 2023-04-28 14:14:26 -04:00
create_test.go Map OIDC groups to Orgs/Teams (#21441) 2023-02-08 14:44:42 +08:00
delete.go Allow repo admins too to delete the repo (#23940) 2023-04-07 11:21:02 -04:00
env.go Implement actions (#21937) 2023-01-31 09:45:19 +08:00
fork.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
generate.go Repositories: by default disable all units except code and pulls on forks (#22541) 2023-02-04 14:48:38 +08:00
generate_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
hooks.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
init.go Replace placeholders in licenses (#24354) 2023-05-05 13:46:17 +00:00
init_test.go Make label templates have consistent behavior and priority (#23749) 2023-04-10 16:44:02 +08:00
license.go Replace placeholders in licenses (#24354) 2023-05-05 13:46:17 +00:00
license_test.go Replace placeholders in licenses (#24354) 2023-05-05 13:46:17 +00:00
main_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
push.go Fix pull request update showing too many commits with multiple branches (#22856) 2023-03-09 12:14:22 -06:00
repo.go Add context cache as a request level cache (#22294) 2023-02-15 21:37:34 +08:00
temp.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00