Gusted
a1cd6f4e3a
[GITEA] Drop sha256-simd in favor of stdlib
...
- In Go 1.21 the crypto/sha256 [got a massive
improvement](https://go.dev/doc/go1.21#crypto/sha256 ) by utilizing the
SHA instructions for AMD64 CPUs, which sha256-simd already was doing.
The performance is now on par and I think it's preferable to use the
standard library rather than a package when possible.
```
cpu: AMD Ryzen 5 3600X 6-Core Processor
│ simd.txt │ go.txt │
│ sec/op │ sec/op vs base │
Hash/8Bytes-12 63.25n ± 1% 73.38n ± 1% +16.02% (p=0.002 n=6)
Hash/64Bytes-12 98.73n ± 1% 105.30n ± 1% +6.65% (p=0.002 n=6)
Hash/1K-12 567.2n ± 1% 572.8n ± 1% +0.99% (p=0.002 n=6)
Hash/8K-12 4.062µ ± 1% 4.062µ ± 1% ~ (p=0.396 n=6)
Hash/1M-12 512.1µ ± 0% 510.6µ ± 1% ~ (p=0.485 n=6)
Hash/5M-12 2.556m ± 1% 2.564m ± 0% ~ (p=0.093 n=6)
Hash/10M-12 5.112m ± 0% 5.127m ± 0% ~ (p=0.093 n=6)
geomean 13.82µ 14.27µ +3.28%
│ simd.txt │ go.txt │
│ B/s │ B/s vs base │
Hash/8Bytes-12 120.6Mi ± 1% 104.0Mi ± 1% -13.81% (p=0.002 n=6)
Hash/64Bytes-12 618.2Mi ± 1% 579.8Mi ± 1% -6.22% (p=0.002 n=6)
Hash/1K-12 1.682Gi ± 1% 1.665Gi ± 1% -0.98% (p=0.002 n=6)
Hash/8K-12 1.878Gi ± 1% 1.878Gi ± 1% ~ (p=0.310 n=6)
Hash/1M-12 1.907Gi ± 0% 1.913Gi ± 1% ~ (p=0.485 n=6)
Hash/5M-12 1.911Gi ± 1% 1.904Gi ± 0% ~ (p=0.093 n=6)
Hash/10M-12 1.910Gi ± 0% 1.905Gi ± 0% ~ (p=0.093 n=6)
geomean 1.066Gi 1.032Gi -3.18%
```
(cherry picked from commit abd94ff5b59c86e793fd9bf12187ea6cfd1f3fa1)
(cherry picked from commit 15e81637abf70576a564cf9eecaa9640228afb5b)
Conflicts:
go.mod
https://codeberg.org/forgejo/forgejo/pulls/1581
(cherry picked from commit 325d92917f655c999b81b08832ee623d6b669f0f)
Conflicts:
modules/context/context_cookie.go
https://codeberg.org/forgejo/forgejo/pulls/1617
(cherry picked from commit 358819e8959886faa171ac16541097500d0a703e)
(cherry picked from commit 362fd7aae17832fa922fa017794bc564ca43060d)
(cherry picked from commit 4f64ee294ee05c93042b6ec68f0a179ec249dab9)
(cherry picked from commit 4bde77f7b1
)
(cherry picked from commit 1311e30a81
)
(cherry picked from commit 57b69e334c2973118488b9b5dbdc8a2c88135756)
(cherry picked from commit 52dc892fadecf39e89c3c351edc9efb42522257b)
(cherry picked from commit 77f54f4187869c6eabcc837742fd3f908093a76c)
(cherry picked from commit 0d0392f3a510ce3683bb649dee1e65b45dd91354)
Conflicts:
go.mod
https://codeberg.org/forgejo/forgejo/pulls/2034
(cherry picked from commit 92798364e8fe3188a2100b54f3adea943f8309e9)
(cherry picked from commit 43d218127752aa9251c4c3ef71b9c060f109dffc)
(cherry picked from commit 45c88b86a35729fc0b2dc6b72bc33caf9f69265f)
2024-01-15 16:11:57 +00:00
harryzcy
ec227d6682
Remove nfnt/resize and oliamb/cutter ( #25999 )
...
The package `github.com/nfnt/resize` is deprecated and archived by the
author. `github.com/oliamb/cutter` is not maintained since 2018. We
could use `golang.org/x/image/draw` instead.
2023-07-20 19:52:42 +08:00
Earl Warren
43c9a84ae5
Add unit test for HashAvatar
( #25662 )
...
- Add 100% unit test for this function.
---------
Co-authored-by: Gusted <postmaster@gusted.xyz>
2023-07-04 12:43:38 +00:00
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
JakobDev
65fe0fb22c
Allow webp
images as avatars ( #24248 )
...
Users can now upload `webp` images.
Browsers supporting webp images then display this as the avatar of this
user (every major browser except IE).
---------
Co-authored-by: silverwind <me@silverwind.io>
2023-04-21 13:15:49 -04:00
zeripath
1319ba6742
Use minio/sha256-simd for accelerated SHA256 ( #23052 )
...
minio/sha256-simd provides additional acceleration for SHA256 using
AVX512, SHA Extensions for x86 and ARM64 for ARM.
It provides a drop-in replacement for crypto/sha256 and if the
extensions are not available it falls back to standard crypto/sha256.
---------
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
2023-02-22 14:21:46 -05:00
Gusted
96797fed31
Unify hashing for avatar ( #22289 )
...
- Unify the hashing code for repository and user avatars into a
function.
- Use a sane hash function instead of MD5.
- Only require hashing once instead of twice(w.r.t. hashing for user
avatar).
- Improve the comment for the hashing code of why it works.
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Yarden Shoham <hrsi88@gmail.com>
2023-01-02 22:46:39 +01:00
flynnnnnnnnnn
e81ccc406b
Implement FSFE REUSE for golang files ( #21840 )
...
Change all license headers to comply with REUSE specification.
Fix #16132
Co-authored-by: flynnnnnnnnnn <flynnnnnnnnnn@github>
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
2022-11-27 18:20:29 +00:00
delvh
0ebb45cfe7
Replace all instances of fmt.Errorf(%v) with fmt.Errorf(%w) ( #21551 )
...
Found using
`find . -type f -name '*.go' -print -exec vim {} -c
':%s/fmt\.Errorf(\(.*\)%v\(.*\)err/fmt.Errorf(\1%w\2err/g' -c ':wq' \;`
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2022-10-24 20:29:17 +01:00
John Olheiser
a48d6ba4b4
Go 1.19 format ( #20758 )
...
* 1.19 gofumpt
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Change CSV test
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* Commit whitespace fixes from @zeripath
Co-authored-by: zeripath <art27@cantab.net>
* Update emoji
Signed-off-by: jolheiser <john.olheiser@gmail.com>
* bump swagger & fix generate-swagger
Signed-off-by: jolheiser <john.olheiser@gmail.com>
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: Lauris BH <lauris@nix.lv>
2022-08-30 21:15:45 -05:00
wxiaoguang
c18d8d6968
Remove legacy +build:
constraint ( #19582 )
...
Go 1.17 and later use modern `//go:build` constraints, the old `// +build:` constraints should be removed.
2022-05-02 23:22:45 +08:00
6543
54e9ee37a7
format with gofumpt ( #18184 )
...
* gofumpt -w -l .
* gofumpt -w -l -extra .
* Add linter
* manual fix
* change make fmt
2022-01-20 18:46:10 +01:00
luzpaz
8c647bf0f6
Fix various typos ( #18219 )
...
Found via `codespell -q 3 -S ./options/locale,./vendor -L ba,pullrequest,pullrequests,readby,te,unknwon`
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2022-01-10 17:32:37 +08:00
Gusted
ff2fd08228
Simplify parameter types ( #18006 )
...
Remove repeated type declarations in function definitions.
2021-12-20 04:41:31 +00:00
techknowlogick
499b05da22
Add user settings key/value DB table ( #16834 )
2021-11-22 04:47:23 -05:00
wxiaoguang
a8fd76557b
Better builtin avatar generator ( #17707 )
...
This PR fixes the builtin avatar generator.
1. The random background color makes some images very dirty. So now we only use white background for avatars.
2. We use left-right mirror avatars to satisfy #14799
3. Fix a small padding error in the algorithm
2021-11-20 01:10:41 +08:00
Eng Zer Jun
f2e7d5477f
refactor: move from io/ioutil to io and os package ( #17109 )
...
The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil . This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2021-09-22 13:38:34 +08:00
KN4CK3R
8e262104c2
Add Image Diff for SVG files ( #14867 )
...
* Added type sniffer.
* Switched content detection from base to typesniffer.
* Added GuessContentType to Blob.
* Moved image info logic to client.
Added support for SVG images in diff.
* Restore old blocked svg behaviour.
* Added missing image formats.
* Execute image diff only when container is visible.
* add margin to spinner
* improve BIN tag on image diffs
* Default to render view.
* Show image diff on incomplete diff.
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
2021-06-05 15:32:19 +03:00
silverwind
1e6fa57acb
Use single shared random string generation function ( #15741 )
...
* Use single shared random string generation function
- Replace 3 functions that do the same with 1 shared one
- Use crypto/rand over math/rand for a stronger RNG
- Output only alphanumerical for URL compatibilty
Fixes : #15536
* use const string method
* Update modules/avatar/avatar.go
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-authored-by: a1012112796 <1012112796@qq.com>
2021-05-10 07:45:17 +01:00
Lunny Xiao
80a6b0f5bc
Avatars and Repo avatars support storing in minio ( #12516 )
...
* Avatar support minio
* Support repo avatar minio storage
* Add missing migration
* Fix bug
* Fix test
* Add test for minio store type on avatars and repo avatars; Add documents
* Fix bug
* Fix bug
* Add back missed avatar link method
* refactor codes
* Simplify the codes
* Code improvements
* Fix lint
* Fix test mysql
* Fix test mysql
* Fix test mysql
* Fix settings
* Fix test
* fix test
* Fix bug
2020-10-14 21:07:51 +08:00
6543
f7b3e06026
Fix Avatar Resize (resize algo NearestNeighbor -> Bilinear) ( #12745 )
...
* Update Vendor github.com/nfnt/resize
* switch resize algo NearestNeighbor -> Bilinear
2020-09-06 20:53:33 +01:00
Rob Watson
df2557835b
Improve handling of non-square avatars ( #7025 )
...
* Crop avatar before resizing (#1268 )
Signed-off-by: Rob Watson <rfwatson@users.noreply.github.com>
* Fix spelling error
Signed-off-by: Rob Watson <rfwatson@users.noreply.github.com>
2019-05-25 14:46:14 +03:00
Ethan Koenig
d2329e1c26
Use assert in legacy unit tests ( #867 )
2017-02-08 14:29:07 +08:00
Lunny Xiao
3c87c57d96
golint fixed for modules/avatar
2016-11-25 16:37:04 +08:00
Dennis Chen
6488ee12be
avatar: make custom and generated avatars equal ( #3301 )
...
Sets all avatars to use PNG image format.
Keeps avatars consistent at 290x290px resolution.
Signed-off-by: Dennis Chen <barracks510@gmail.com>
2016-07-21 15:31:14 +08:00
Unknwon
d5a3021a7d
Make markdown as an independent module
2016-02-20 17:10:05 -05:00
Unknwon
58e004f7da
Remove cache avatar support and add its tests
2016-02-14 23:14:55 -05:00
Unknwon
5dc3dd1704
fix #1960
2015-11-16 11:11:59 -05:00
Unknwon
1559bd58e7
save custom avatar as PNG
2015-11-13 16:43:43 -05:00
Unknwon
a205acf829
drop go 1.2 support
2015-09-26 17:54:02 -04:00
Unknwon
384fbeca80
#1474 logic fix
2015-08-29 14:44:38 +08:00
Unknwon
5ddcd8420b
#1474 minor fix
2015-08-29 12:03:40 +08:00
Unknwon
4cfa2ca40d
#1474 Edit New issue UpdateGravatarSource() assumes insecure protocol
2015-08-28 14:35:08 +08:00
Unknwon
68b9d78386
remove sync.Pool and support go1.2 again
2015-08-09 12:06:08 +08:00
Unknwon
4b43ffc96c
Generate random avatar based on e-mail when disable Gravatar
2015-08-09 11:46:10 +08:00
Vitaliy Vasilenko
cf59057ef3
fix if service.ENABLE_CACHE_AVATAR is true
2015-01-20 05:20:33 +02:00
Joseph Crail
39c068400e
Fix spelling errors in comments.
2014-12-06 20:22:48 -05:00
Andrew Burns
adc1ac689e
HashEmail function should also remove spaces
...
According to the [Gravatar API](https://en.gravatar.com/site/implement/hash/ ) whitespace should also be removed from the email, it was not doing this previously.
2014-12-05 10:58:49 -07:00
Unknwon
55dfe2c978
custom avatar upload
2014-11-21 10:58:08 -05:00
Unknwon
a0f9197b45
GetFile api
2014-11-16 21:32:26 -05:00
Unknown
c3a52f7dd0
Mirror bug fix on downloading zip
2014-04-15 20:01:20 -04:00
Unknown
eb6021f73f
Fix issue pages URL params
2014-03-27 19:42:10 -04:00
skyblue
4662a73ac3
name change of avatar
2014-03-26 21:26:31 +08:00
Unknown
2fa8d0c8dd
Added create issue
2014-03-25 12:12:27 -04:00
skyblue
7048ea4527
update avatar, remove gzip request header
2014-03-25 18:34:57 +08:00
shxsun
8376b0d53c
use modeles/log instead log
2014-03-24 21:16:00 +08:00
Gogs
964e537479
append route to web
2014-03-23 18:13:23 +08:00
skyblue
79604f553f
fix download part problem, add png support
2014-03-23 15:55:27 +08:00
skyblue
8e47ae2102
add avatar inorder to view code on github
2014-03-23 12:24:09 +08:00