Merge remote-tracking branch 'upstream/v11.0/forgejo' into v11.0/forgejo
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				/ release (push) Has been cancelled
				
			
		
			
				
	
				testing / backend-checks (push) Has been cancelled
				
			
		
			
				
	
				testing / frontend-checks (push) Has been cancelled
				
			
		
			
				
	
				testing / test-unit (push) Has been cancelled
				
			
		
			
				
	
				testing / test-e2e (push) Has been cancelled
				
			
		
			
				
	
				testing / test-remote-cacher (redis) (push) Has been cancelled
				
			
		
			
				
	
				testing / test-remote-cacher (valkey) (push) Has been cancelled
				
			
		
			
				
	
				testing / test-remote-cacher (garnet) (push) Has been cancelled
				
			
		
			
				
	
				testing / test-remote-cacher (redict) (push) Has been cancelled
				
			
		
			
				
	
				testing / test-mysql (push) Has been cancelled
				
			
		
			
				
	
				testing / test-pgsql (push) Has been cancelled
				
			
		
			
				
	
				testing / test-sqlite (push) Has been cancelled
				
			
		
			
				
	
				testing / security-check (push) Has been cancelled
				
			
		
		
	
	
		
	
		
			Some checks failed
		
		
	
	/ release (push) Has been cancelled
				
			testing / backend-checks (push) Has been cancelled
				
			testing / frontend-checks (push) Has been cancelled
				
			testing / test-unit (push) Has been cancelled
				
			testing / test-e2e (push) Has been cancelled
				
			testing / test-remote-cacher (redis) (push) Has been cancelled
				
			testing / test-remote-cacher (valkey) (push) Has been cancelled
				
			testing / test-remote-cacher (garnet) (push) Has been cancelled
				
			testing / test-remote-cacher (redict) (push) Has been cancelled
				
			testing / test-mysql (push) Has been cancelled
				
			testing / test-pgsql (push) Has been cancelled
				
			testing / test-sqlite (push) Has been cancelled
				
			testing / security-check (push) Has been cancelled
				
			This commit is contained in:
		
				commit
				
					
						e596eec7bf
					
				
			
		
					 21 changed files with 184 additions and 77 deletions
				
			
		
							
								
								
									
										9
									
								
								assets/go-licenses.json
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										9
									
								
								assets/go-licenses.json
									
										
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										31
									
								
								go.mod
									
										
									
									
									
								
							
							
						
						
									
										31
									
								
								go.mod
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -25,7 +25,7 @@ require (
 | 
			
		|||
	github.com/SaveTheRbtz/zstd-seekable-format-go/pkg v0.7.2
 | 
			
		||||
	github.com/alecthomas/chroma/v2 v2.15.0
 | 
			
		||||
	github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb
 | 
			
		||||
	github.com/blevesearch/bleve/v2 v2.4.4
 | 
			
		||||
	github.com/blevesearch/bleve/v2 v2.5.1
 | 
			
		||||
	github.com/buildkite/terminal-to-html/v3 v3.16.8
 | 
			
		||||
	github.com/caddyserver/certmagic v0.22.2
 | 
			
		||||
	github.com/chi-middleware/proxy v1.1.1
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +76,7 @@ require (
 | 
			
		|||
	github.com/mholt/archiver/v3 v3.5.1
 | 
			
		||||
	github.com/microcosm-cc/bluemonday v1.0.27
 | 
			
		||||
	github.com/minio/minio-go/v7 v7.0.88
 | 
			
		||||
	github.com/msteinert/pam/v2 v2.0.0
 | 
			
		||||
	github.com/msteinert/pam/v2 v2.1.0
 | 
			
		||||
	github.com/nektos/act v0.2.52
 | 
			
		||||
	github.com/niklasfasching/go-org v1.7.0
 | 
			
		||||
	github.com/olivere/elastic/v7 v7.0.32
 | 
			
		||||
| 
						 | 
				
			
			@ -123,30 +123,30 @@ require (
 | 
			
		|||
	git.sr.ht/~mariusor/go-xsd-duration v0.0.0-20220703122237-02e73435a078 // indirect
 | 
			
		||||
	github.com/DataDog/zstd v1.5.5 // indirect
 | 
			
		||||
	github.com/Microsoft/go-winio v0.6.2 // indirect
 | 
			
		||||
	github.com/RoaringBitmap/roaring v1.9.3 // indirect
 | 
			
		||||
	github.com/RoaringBitmap/roaring/v2 v2.4.5 // indirect
 | 
			
		||||
	github.com/andybalholm/brotli v1.1.1 // indirect
 | 
			
		||||
	github.com/andybalholm/cascadia v1.3.3 // indirect
 | 
			
		||||
	github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be // indirect
 | 
			
		||||
	github.com/aymerick/douceur v0.2.0 // indirect
 | 
			
		||||
	github.com/beorn7/perks v1.0.1 // indirect
 | 
			
		||||
	github.com/bits-and-blooms/bitset v1.13.0 // indirect
 | 
			
		||||
	github.com/blevesearch/bleve_index_api v1.1.12 // indirect
 | 
			
		||||
	github.com/blevesearch/geo v0.1.20 // indirect
 | 
			
		||||
	github.com/blevesearch/go-faiss v1.0.24 // indirect
 | 
			
		||||
	github.com/bits-and-blooms/bitset v1.22.0 // indirect
 | 
			
		||||
	github.com/blevesearch/bleve_index_api v1.2.8 // indirect
 | 
			
		||||
	github.com/blevesearch/geo v0.2.3 // indirect
 | 
			
		||||
	github.com/blevesearch/go-faiss v1.0.25 // indirect
 | 
			
		||||
	github.com/blevesearch/go-porterstemmer v1.0.3 // indirect
 | 
			
		||||
	github.com/blevesearch/gtreap v0.1.1 // indirect
 | 
			
		||||
	github.com/blevesearch/mmap-go v1.0.4 // indirect
 | 
			
		||||
	github.com/blevesearch/scorch_segment_api/v2 v2.2.16 // indirect
 | 
			
		||||
	github.com/blevesearch/scorch_segment_api/v2 v2.3.10 // indirect
 | 
			
		||||
	github.com/blevesearch/segment v0.9.1 // indirect
 | 
			
		||||
	github.com/blevesearch/snowballstem v0.9.0 // indirect
 | 
			
		||||
	github.com/blevesearch/upsidedown_store_api v1.0.2 // indirect
 | 
			
		||||
	github.com/blevesearch/vellum v1.0.10 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v11 v11.3.10 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v12 v12.3.10 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v13 v13.3.10 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v14 v14.3.10 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v15 v15.3.16 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v16 v16.1.9-0.20241217210638-a0519e7caf3b // indirect
 | 
			
		||||
	github.com/blevesearch/vellum v1.1.0 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v11 v11.4.2 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v12 v12.4.2 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v13 v13.4.2 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v14 v14.4.2 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v15 v15.4.2 // indirect
 | 
			
		||||
	github.com/blevesearch/zapx/v16 v16.2.3 // indirect
 | 
			
		||||
	github.com/boombuler/barcode v1.0.1 // indirect
 | 
			
		||||
	github.com/bradfitz/gomemcache v0.0.0-20230905024940-24af94b03874 // indirect
 | 
			
		||||
	github.com/caddyserver/zerossl v0.1.3 // indirect
 | 
			
		||||
| 
						 | 
				
			
			@ -176,7 +176,6 @@ require (
 | 
			
		|||
	github.com/go-webauthn/x v0.1.20 // indirect
 | 
			
		||||
	github.com/goccy/go-json v0.10.5 // indirect
 | 
			
		||||
	github.com/golang-jwt/jwt/v4 v4.5.1 // indirect
 | 
			
		||||
	github.com/golang/geo v0.0.0-20230421003525-6adc56603217 // indirect
 | 
			
		||||
	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
 | 
			
		||||
	github.com/golang/protobuf v1.5.4 // indirect
 | 
			
		||||
	github.com/golang/snappy v0.0.4 // indirect
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										63
									
								
								go.sum
									
										
									
									
									
								
							
							
						
						
									
										63
									
								
								go.sum
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -55,8 +55,8 @@ github.com/ProtonMail/go-crypto v1.1.6 h1:ZcV+Ropw6Qn0AX9brlQLAUXfqLBc7Bl+f/DmNx
 | 
			
		|||
github.com/ProtonMail/go-crypto v1.1.6/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
 | 
			
		||||
github.com/PuerkitoBio/goquery v1.10.2 h1:7fh2BdHcG6VFZsK7toXBT/Bh1z5Wmy8Q9MV9HqT2AM8=
 | 
			
		||||
github.com/PuerkitoBio/goquery v1.10.2/go.mod h1:0guWGjcLu9AYC7C1GHnpysHy056u9aEkUHwhdnePMCU=
 | 
			
		||||
github.com/RoaringBitmap/roaring v1.9.3 h1:t4EbC5qQwnisr5PrP9nt0IRhRTb9gMUgQF4t4S2OByM=
 | 
			
		||||
github.com/RoaringBitmap/roaring v1.9.3/go.mod h1:6AXUsoIEzDTFFQCe1RbGA6uFONMhvejWj5rqITANK90=
 | 
			
		||||
github.com/RoaringBitmap/roaring/v2 v2.4.5 h1:uGrrMreGjvAtTBobc0g5IrW1D5ldxDQYe2JW2gggRdg=
 | 
			
		||||
github.com/RoaringBitmap/roaring/v2 v2.4.5/go.mod h1:FiJcsfkGje/nZBZgCu0ZxCPOKD/hVXDS2dXi7/eUFE0=
 | 
			
		||||
github.com/SaveTheRbtz/zstd-seekable-format-go/pkg v0.7.2 h1:cSXom2MoKJ9KPPw29RoZtHvUETY4F4n/kXl8m9btnQ0=
 | 
			
		||||
github.com/SaveTheRbtz/zstd-seekable-format-go/pkg v0.7.2/go.mod h1:JitQWJ8JuV4Y87l8VsHiiwhb3cgdyn68mX40s7NT6PA=
 | 
			
		||||
github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0=
 | 
			
		||||
| 
						 | 
				
			
			@ -83,46 +83,46 @@ github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd3
 | 
			
		|||
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 | 
			
		||||
github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
 | 
			
		||||
github.com/bits-and-blooms/bitset v1.12.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
 | 
			
		||||
github.com/bits-and-blooms/bitset v1.13.0 h1:bAQ9OPNFYbGHV6Nez0tmNI0RiEu7/hxlYJRUA0wFAVE=
 | 
			
		||||
github.com/bits-and-blooms/bitset v1.13.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
 | 
			
		||||
github.com/bits-and-blooms/bitset v1.22.0 h1:Tquv9S8+SGaS3EhyA+up3FXzmkhxPGjQQCkcs2uw7w4=
 | 
			
		||||
github.com/bits-and-blooms/bitset v1.22.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
 | 
			
		||||
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb h1:m935MPodAbYS46DG4pJSv7WO+VECIWUQ7OJYSoTrMh4=
 | 
			
		||||
github.com/blakesmith/ar v0.0.0-20190502131153-809d4375e1fb/go.mod h1:PkYb9DJNAwrSvRx5DYA+gUcOIgTGVMNkfSCbZM8cWpI=
 | 
			
		||||
github.com/blevesearch/bleve/v2 v2.4.4 h1:RwwLGjUm54SwyyykbrZs4vc1qjzYic4ZnAnY9TwNl60=
 | 
			
		||||
github.com/blevesearch/bleve/v2 v2.4.4/go.mod h1:fa2Eo6DP7JR+dMFpQe+WiZXINKSunh7WBtlDGbolKXk=
 | 
			
		||||
github.com/blevesearch/bleve_index_api v1.1.12 h1:P4bw9/G/5rulOF7SJ9l4FsDoo7UFJ+5kexNy1RXfegY=
 | 
			
		||||
github.com/blevesearch/bleve_index_api v1.1.12/go.mod h1:PbcwjIcRmjhGbkS/lJCpfgVSMROV6TRubGGAODaK1W8=
 | 
			
		||||
github.com/blevesearch/geo v0.1.20 h1:paaSpu2Ewh/tn5DKn/FB5SzvH0EWupxHEIwbCk/QPqM=
 | 
			
		||||
github.com/blevesearch/geo v0.1.20/go.mod h1:DVG2QjwHNMFmjo+ZgzrIq2sfCh6rIHzy9d9d0B59I6w=
 | 
			
		||||
github.com/blevesearch/go-faiss v1.0.24 h1:K79IvKjoKHdi7FdiXEsAhxpMuns0x4fM0BO93bW5jLI=
 | 
			
		||||
github.com/blevesearch/go-faiss v1.0.24/go.mod h1:OMGQwOaRRYxrmeNdMrXJPvVx8gBnvE5RYrr0BahNnkk=
 | 
			
		||||
github.com/blevesearch/bleve/v2 v2.5.1 h1:cc/O++W2Hcjp1SU5ETHeE+QYWv2oV88ldYEPowdmg8M=
 | 
			
		||||
github.com/blevesearch/bleve/v2 v2.5.1/go.mod h1:9g/wnbWKm9AgXrU8Ecqi+IDdqjUHWymwkQRDg+5tafU=
 | 
			
		||||
github.com/blevesearch/bleve_index_api v1.2.8 h1:Y98Pu5/MdlkRyLM0qDHostYo7i+Vv1cDNhqTeR4Sy6Y=
 | 
			
		||||
github.com/blevesearch/bleve_index_api v1.2.8/go.mod h1:rKQDl4u51uwafZxFrPD1R7xFOwKnzZW7s/LSeK4lgo0=
 | 
			
		||||
github.com/blevesearch/geo v0.2.3 h1:K9/vbGI9ehlXdxjxDRJtoAMt7zGAsMIzc6n8zWcwnhg=
 | 
			
		||||
github.com/blevesearch/geo v0.2.3/go.mod h1:K56Q33AzXt2YExVHGObtmRSFYZKYGv0JEN5mdacJJR8=
 | 
			
		||||
github.com/blevesearch/go-faiss v1.0.25 h1:lel1rkOUGbT1CJ0YgzKwC7k+XH0XVBHnCVWahdCXk4U=
 | 
			
		||||
github.com/blevesearch/go-faiss v1.0.25/go.mod h1:OMGQwOaRRYxrmeNdMrXJPvVx8gBnvE5RYrr0BahNnkk=
 | 
			
		||||
github.com/blevesearch/go-porterstemmer v1.0.3 h1:GtmsqID0aZdCSNiY8SkuPJ12pD4jI+DdXTAn4YRcHCo=
 | 
			
		||||
github.com/blevesearch/go-porterstemmer v1.0.3/go.mod h1:angGc5Ht+k2xhJdZi511LtmxuEf0OVpvUUNrwmM1P7M=
 | 
			
		||||
github.com/blevesearch/gtreap v0.1.1 h1:2JWigFrzDMR+42WGIN/V2p0cUvn4UP3C4Q5nmaZGW8Y=
 | 
			
		||||
github.com/blevesearch/gtreap v0.1.1/go.mod h1:QaQyDRAT51sotthUWAH4Sj08awFSSWzgYICSZ3w0tYk=
 | 
			
		||||
github.com/blevesearch/mmap-go v1.0.4 h1:OVhDhT5B/M1HNPpYPBKIEJaD0F3Si+CrEKULGCDPWmc=
 | 
			
		||||
github.com/blevesearch/mmap-go v1.0.4/go.mod h1:EWmEAOmdAS9z/pi/+Toxu99DnsbhG1TIxUoRmJw/pSs=
 | 
			
		||||
github.com/blevesearch/scorch_segment_api/v2 v2.2.16 h1:uGvKVvG7zvSxCwcm4/ehBa9cCEuZVE+/zvrSl57QUVY=
 | 
			
		||||
github.com/blevesearch/scorch_segment_api/v2 v2.2.16/go.mod h1:VF5oHVbIFTu+znY1v30GjSpT5+9YFs9dV2hjvuh34F0=
 | 
			
		||||
github.com/blevesearch/scorch_segment_api/v2 v2.3.10 h1:Yqk0XD1mE0fDZAJXTjawJ8If/85JxnLd8v5vG/jWE/s=
 | 
			
		||||
github.com/blevesearch/scorch_segment_api/v2 v2.3.10/go.mod h1:Z3e6ChN3qyN35yaQpl00MfI5s8AxUJbpTR/DL8QOQ+8=
 | 
			
		||||
github.com/blevesearch/segment v0.9.1 h1:+dThDy+Lvgj5JMxhmOVlgFfkUtZV2kw49xax4+jTfSU=
 | 
			
		||||
github.com/blevesearch/segment v0.9.1/go.mod h1:zN21iLm7+GnBHWTao9I+Au/7MBiL8pPFtJBJTsk6kQw=
 | 
			
		||||
github.com/blevesearch/snowballstem v0.9.0 h1:lMQ189YspGP6sXvZQ4WZ+MLawfV8wOmPoD/iWeNXm8s=
 | 
			
		||||
github.com/blevesearch/snowballstem v0.9.0/go.mod h1:PivSj3JMc8WuaFkTSRDW2SlrulNWPl4ABg1tC/hlgLs=
 | 
			
		||||
github.com/blevesearch/upsidedown_store_api v1.0.2 h1:U53Q6YoWEARVLd1OYNc9kvhBMGZzVrdmaozG2MfoB+A=
 | 
			
		||||
github.com/blevesearch/upsidedown_store_api v1.0.2/go.mod h1:M01mh3Gpfy56Ps/UXHjEO/knbqyQ1Oamg8If49gRwrQ=
 | 
			
		||||
github.com/blevesearch/vellum v1.0.10 h1:HGPJDT2bTva12hrHepVT3rOyIKFFF4t7Gf6yMxyMIPI=
 | 
			
		||||
github.com/blevesearch/vellum v1.0.10/go.mod h1:ul1oT0FhSMDIExNjIxHqJoGpVrBpKCdgDQNxfqgJt7k=
 | 
			
		||||
github.com/blevesearch/zapx/v11 v11.3.10 h1:hvjgj9tZ9DeIqBCxKhi70TtSZYMdcFn7gDb71Xo/fvk=
 | 
			
		||||
github.com/blevesearch/zapx/v11 v11.3.10/go.mod h1:0+gW+FaE48fNxoVtMY5ugtNHHof/PxCqh7CnhYdnMzQ=
 | 
			
		||||
github.com/blevesearch/zapx/v12 v12.3.10 h1:yHfj3vXLSYmmsBleJFROXuO08mS3L1qDCdDK81jDl8s=
 | 
			
		||||
github.com/blevesearch/zapx/v12 v12.3.10/go.mod h1:0yeZg6JhaGxITlsS5co73aqPtM04+ycnI6D1v0mhbCs=
 | 
			
		||||
github.com/blevesearch/zapx/v13 v13.3.10 h1:0KY9tuxg06rXxOZHg3DwPJBjniSlqEgVpxIqMGahDE8=
 | 
			
		||||
github.com/blevesearch/zapx/v13 v13.3.10/go.mod h1:w2wjSDQ/WBVeEIvP0fvMJZAzDwqwIEzVPnCPrz93yAk=
 | 
			
		||||
github.com/blevesearch/zapx/v14 v14.3.10 h1:SG6xlsL+W6YjhX5N3aEiL/2tcWh3DO75Bnz77pSwwKU=
 | 
			
		||||
github.com/blevesearch/zapx/v14 v14.3.10/go.mod h1:qqyuR0u230jN1yMmE4FIAuCxmahRQEOehF78m6oTgns=
 | 
			
		||||
github.com/blevesearch/zapx/v15 v15.3.16 h1:Ct3rv7FUJPfPk99TI/OofdC+Kpb4IdyfdMH48sb+FmE=
 | 
			
		||||
github.com/blevesearch/zapx/v15 v15.3.16/go.mod h1:Turk/TNRKj9es7ZpKK95PS7f6D44Y7fAFy8F4LXQtGg=
 | 
			
		||||
github.com/blevesearch/zapx/v16 v16.1.9-0.20241217210638-a0519e7caf3b h1:ju9Az5YgrzCeK3M1QwvZIpxYhChkXp7/L0RhDYsxXoE=
 | 
			
		||||
github.com/blevesearch/zapx/v16 v16.1.9-0.20241217210638-a0519e7caf3b/go.mod h1:BlrYNpOu4BvVRslmIG+rLtKhmjIaRhIbG8sb9scGTwI=
 | 
			
		||||
github.com/blevesearch/vellum v1.1.0 h1:CinkGyIsgVlYf8Y2LUQHvdelgXr6PYuvoDIajq6yR9w=
 | 
			
		||||
github.com/blevesearch/vellum v1.1.0/go.mod h1:QgwWryE8ThtNPxtgWJof5ndPfx0/YMBh+W2weHKPw8Y=
 | 
			
		||||
github.com/blevesearch/zapx/v11 v11.4.2 h1:l46SV+b0gFN+Rw3wUI1YdMWdSAVhskYuvxlcgpQFljs=
 | 
			
		||||
github.com/blevesearch/zapx/v11 v11.4.2/go.mod h1:4gdeyy9oGa/lLa6D34R9daXNUvfMPZqUYjPwiLmekwc=
 | 
			
		||||
github.com/blevesearch/zapx/v12 v12.4.2 h1:fzRbhllQmEMUuAQ7zBuMvKRlcPA5ESTgWlDEoB9uQNE=
 | 
			
		||||
github.com/blevesearch/zapx/v12 v12.4.2/go.mod h1:TdFmr7afSz1hFh/SIBCCZvcLfzYvievIH6aEISCte58=
 | 
			
		||||
github.com/blevesearch/zapx/v13 v13.4.2 h1:46PIZCO/ZuKZYgxI8Y7lOJqX3Irkc3N8W82QTK3MVks=
 | 
			
		||||
github.com/blevesearch/zapx/v13 v13.4.2/go.mod h1:knK8z2NdQHlb5ot/uj8wuvOq5PhDGjNYQQy0QDnopZk=
 | 
			
		||||
github.com/blevesearch/zapx/v14 v14.4.2 h1:2SGHakVKd+TrtEqpfeq8X+So5PShQ5nW6GNxT7fWYz0=
 | 
			
		||||
github.com/blevesearch/zapx/v14 v14.4.2/go.mod h1:rz0XNb/OZSMjNorufDGSpFpjoFKhXmppH9Hi7a877D8=
 | 
			
		||||
github.com/blevesearch/zapx/v15 v15.4.2 h1:sWxpDE0QQOTjyxYbAVjt3+0ieu8NCE0fDRaFxEsp31k=
 | 
			
		||||
github.com/blevesearch/zapx/v15 v15.4.2/go.mod h1:1pssev/59FsuWcgSnTa0OeEpOzmhtmr/0/11H0Z8+Nw=
 | 
			
		||||
github.com/blevesearch/zapx/v16 v16.2.3 h1:7Y0r+a3diEvlazsncexq1qoFOcBd64xwMS7aDm4lo1s=
 | 
			
		||||
github.com/blevesearch/zapx/v16 v16.2.3/go.mod h1:wVJ+GtURAaRG9KQAMNYyklq0egV+XJlGcXNCE0OFjjA=
 | 
			
		||||
github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
 | 
			
		||||
github.com/boombuler/barcode v1.0.1 h1:NDBbPmhS+EqABEs5Kg3n/5ZNjy73Pz7SIV+KCeqyXcs=
 | 
			
		||||
github.com/boombuler/barcode v1.0.1/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8=
 | 
			
		||||
| 
						 | 
				
			
			@ -273,8 +273,6 @@ github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeD
 | 
			
		|||
github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
 | 
			
		||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
 | 
			
		||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
 | 
			
		||||
github.com/golang/geo v0.0.0-20230421003525-6adc56603217 h1:HKlyj6in2JV6wVkmQ4XmG/EIm+SCYlPZ+V4GWit7Z+I=
 | 
			
		||||
github.com/golang/geo v0.0.0-20230421003525-6adc56603217/go.mod h1:8wI0hitZ3a1IxZfeH3/5I97CI8i5cLGsYe7xNhQGs9U=
 | 
			
		||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
 | 
			
		||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 | 
			
		||||
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
 | 
			
		||||
| 
						 | 
				
			
			@ -429,8 +427,8 @@ github.com/mrjones/oauth v0.0.0-20190623134757-126b35219450 h1:j2kD3MT1z4PXCiUll
 | 
			
		|||
github.com/mrjones/oauth v0.0.0-20190623134757-126b35219450/go.mod h1:skjdDftzkFALcuGzYSklqYd8gvat6F1gZJ4YPVbkZpM=
 | 
			
		||||
github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM=
 | 
			
		||||
github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw=
 | 
			
		||||
github.com/msteinert/pam/v2 v2.0.0 h1:jnObb8MT6jvMbmrUQO5J/puTUjxy7Av+55zVJRJsCyE=
 | 
			
		||||
github.com/msteinert/pam/v2 v2.0.0/go.mod h1:KT28NNIcDFf3PcBmNI2mIGO4zZJ+9RSs/At2PB3IDVc=
 | 
			
		||||
github.com/msteinert/pam/v2 v2.1.0 h1:er5F9TKV5nGFuTt12ubtqPHEUdeBwReP7vd3wovidGY=
 | 
			
		||||
github.com/msteinert/pam/v2 v2.1.0/go.mod h1:KT28NNIcDFf3PcBmNI2mIGO4zZJ+9RSs/At2PB3IDVc=
 | 
			
		||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
 | 
			
		||||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
 | 
			
		||||
github.com/niklasfasching/go-org v1.7.0 h1:vyMdcMWWTe/XmANk19F4k8XGBYg0GQ/gJGMimOjGMek=
 | 
			
		||||
| 
						 | 
				
			
			@ -734,6 +732,7 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 | 
			
		|||
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 | 
			
		||||
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 | 
			
		||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 | 
			
		||||
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 | 
			
		||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 | 
			
		||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 | 
			
		||||
lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI=
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,6 +65,7 @@
 | 
			
		|||
  merge_base: 985f0301dba5e7b34be866819cd15ad3d8f508ee
 | 
			
		||||
  has_merged: false
 | 
			
		||||
  allow_maintainer_edit: true
 | 
			
		||||
  commits_behind: 1
 | 
			
		||||
 | 
			
		||||
-
 | 
			
		||||
  id: 6
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -132,6 +132,7 @@
 | 
			
		|||
  owner_name: org3
 | 
			
		||||
  lower_name: repo5
 | 
			
		||||
  name: repo5
 | 
			
		||||
  default_branch: master
 | 
			
		||||
  num_watches: 0
 | 
			
		||||
  num_stars: 0
 | 
			
		||||
  num_forks: 0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -576,7 +576,7 @@ func GetUserSalt() (string, error) {
 | 
			
		|||
// Note: The set of characters here can safely expand without a breaking change,
 | 
			
		||||
// but characters removed from this set can cause user account linking to break
 | 
			
		||||
var (
 | 
			
		||||
	customCharsReplacement    = strings.NewReplacer("Æ", "AE")
 | 
			
		||||
	customCharsReplacement    = strings.NewReplacer("Æ", "AE", "ß", "ss")
 | 
			
		||||
	removeCharsRE             = regexp.MustCompile(`['´\x60]`)
 | 
			
		||||
	removeDiacriticsTransform = transform.Chain(norm.NFD, runes.Remove(runes.In(unicode.Mn)), norm.NFC)
 | 
			
		||||
	replaceCharsHyphenRE      = regexp.MustCompile(`[\s~+]`)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -633,6 +633,7 @@ func Test_NormalizeUserFromEmail(t *testing.T) {
 | 
			
		|||
		{"test", "test", true},
 | 
			
		||||
		{"Sinéad.O'Connor", "Sinead.OConnor", true},
 | 
			
		||||
		{"Æsir", "AEsir", true},
 | 
			
		||||
		{"Flußpferd", "Flusspferd", true},
 | 
			
		||||
		// \u00e9\u0065\u0301
 | 
			
		||||
		{"éé", "ee", true},
 | 
			
		||||
		{"Awareness Hub", "Awareness-Hub", true},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,6 +85,8 @@ readLoop:
 | 
			
		|||
				_, _ = payloadSB.Write(line)
 | 
			
		||||
			case "encoding":
 | 
			
		||||
				_, _ = payloadSB.Write(line)
 | 
			
		||||
			case "change-id": // jj-vcs specific header.
 | 
			
		||||
				_, _ = payloadSB.Write(line)
 | 
			
		||||
			case "gpgsig":
 | 
			
		||||
				fallthrough
 | 
			
		||||
			case "gpgsig-sha256": // FIXME: no intertop, so only 1 exists at present.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -189,6 +189,55 @@ ISO-8859-1`, commitFromReader.Signature.Payload)
 | 
			
		|||
	assert.EqualValues(t, commitFromReader, commitFromReader2)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestCommitWithChangeIDFromReader(t *testing.T) {
 | 
			
		||||
	commitString := `e66911914414b0daa85d4a428c8d607b9b249a2c commit 611
 | 
			
		||||
tree efd3cbedfc360ce9f60e5f92d51221be5afb4bf0
 | 
			
		||||
author Nicole Patricia Mazzuca <nicole@strega-nil.co> 1746965490 +0200
 | 
			
		||||
committer Nicole Patricia Mazzuca <nicole@strega-nil.co> 1746965630 +0200
 | 
			
		||||
change-id psyxzzozmuvvwrwnpqpvmtwntqsnwzpu
 | 
			
		||||
gpgsig -----BEGIN PGP SIGNATURE-----
 | 
			
		||||
` + " " + `
 | 
			
		||||
 iHUEABYKAB0WIQT/T2ISZ7rMF2EbKVdDm0tNAL/2MgUCaCCUfgAKCRBDm0tNAL/2
 | 
			
		||||
 Mmu/AQC0OWWHsSlfDKIArdALjDLgd00OQVbP+6iYVE9e+rorFwEA5qYVAXD60EHB
 | 
			
		||||
 +7UVcfwZ2jKajkk3q01VyT/CDo3LLQE=
 | 
			
		||||
 =yq2Y
 | 
			
		||||
 -----END PGP SIGNATURE-----
 | 
			
		||||
 | 
			
		||||
views: first commit!
 | 
			
		||||
 | 
			
		||||
includes a basic month view, and prints a nice view of an imaginary
 | 
			
		||||
January where the year starts on a Monday :)`
 | 
			
		||||
 | 
			
		||||
	sha := &Sha1Hash{0xe6, 0x69, 0x11, 0x91, 0x44, 0x14, 0xb0, 0xda, 0xa8, 0x5d, 0x4a, 0x42, 0x8c, 0x8d, 0x60, 0x7b, 0x9b, 0x24, 0x9a, 0x2c}
 | 
			
		||||
	gitRepo, err := openRepositoryWithDefaultContext(filepath.Join(testReposDir, "repo1_bare"))
 | 
			
		||||
	require.NoError(t, err)
 | 
			
		||||
	assert.NotNil(t, gitRepo)
 | 
			
		||||
	defer gitRepo.Close()
 | 
			
		||||
 | 
			
		||||
	commitFromReader, err := CommitFromReader(gitRepo, sha, strings.NewReader(commitString))
 | 
			
		||||
	require.NoError(t, err)
 | 
			
		||||
	require.NotNil(t, commitFromReader)
 | 
			
		||||
	assert.EqualValues(t, sha, commitFromReader.ID)
 | 
			
		||||
	assert.Equal(t, `-----BEGIN PGP SIGNATURE-----
 | 
			
		||||
 | 
			
		||||
iHUEABYKAB0WIQT/T2ISZ7rMF2EbKVdDm0tNAL/2MgUCaCCUfgAKCRBDm0tNAL/2
 | 
			
		||||
Mmu/AQC0OWWHsSlfDKIArdALjDLgd00OQVbP+6iYVE9e+rorFwEA5qYVAXD60EHB
 | 
			
		||||
+7UVcfwZ2jKajkk3q01VyT/CDo3LLQE=
 | 
			
		||||
=yq2Y
 | 
			
		||||
-----END PGP SIGNATURE-----
 | 
			
		||||
`, commitFromReader.Signature.Signature)
 | 
			
		||||
	assert.Equal(t, `tree efd3cbedfc360ce9f60e5f92d51221be5afb4bf0
 | 
			
		||||
author Nicole Patricia Mazzuca <nicole@strega-nil.co> 1746965490 +0200
 | 
			
		||||
committer Nicole Patricia Mazzuca <nicole@strega-nil.co> 1746965630 +0200
 | 
			
		||||
change-id psyxzzozmuvvwrwnpqpvmtwntqsnwzpu
 | 
			
		||||
 | 
			
		||||
views: first commit!
 | 
			
		||||
 | 
			
		||||
includes a basic month view, and prints a nice view of an imaginary
 | 
			
		||||
January where the year starts on a Monday :)`, commitFromReader.Signature.Payload)
 | 
			
		||||
	assert.Equal(t, "Nicole Patricia Mazzuca <nicole@strega-nil.co>", commitFromReader.Author.String())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestHasPreviousCommit(t *testing.T) {
 | 
			
		||||
	bareRepo1Path := filepath.Join(testReposDir, "repo1_bare")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -65,5 +65,7 @@ func TokenizerConstructor(config map[string]any, cache *registry.Cache) (analysi
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	registry.RegisterTokenizer(Name, TokenizerConstructor)
 | 
			
		||||
	if err := registry.RegisterTokenizer(Name, TokenizerConstructor); err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,7 +55,7 @@ var (
 | 
			
		|||
	shortLinkPattern = regexp.MustCompile(`\[\[(.*?)\]\](\w*)`)
 | 
			
		||||
 | 
			
		||||
	// anyHashPattern splits url containing SHA into parts
 | 
			
		||||
	anyHashPattern = regexp.MustCompile(`https?://(?:\S+/){4,5}([0-9a-f]{7,64})(/[-+~_%.a-zA-Z0-9/]+)?(\?[-+~_%\.a-zA-Z0-9=&]+)?(#[-+~_%.a-zA-Z0-9]+)?`)
 | 
			
		||||
	anyHashPattern = regexp.MustCompile(`https?://(?:(?:\S+/){3,4}(?:commit|tree|blob)/)([0-9a-f]{7,64})(/[-+~_%.a-zA-Z0-9/]+)?(\?[-+~_%\.a-zA-Z0-9=&]+)?(#[-+~_%.a-zA-Z0-9]+)?`)
 | 
			
		||||
 | 
			
		||||
	// comparePattern matches "http://domain/org/repo/compare/COMMIT1...COMMIT2#hash"
 | 
			
		||||
	comparePattern = regexp.MustCompile(`https?://(?:\S+/){4,5}([0-9a-f]{7,64})(\.\.\.?)([0-9a-f]{7,64})?(#[-+~_%.a-zA-Z0-9]+)?`)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -469,6 +469,10 @@ func TestRegExp_anySHA1Pattern(t *testing.T) {
 | 
			
		|||
	for k, v := range testCases {
 | 
			
		||||
		assert.Equal(t, anyHashPattern.FindStringSubmatch(k)[1:], v)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, v := range []string{"https://codeberg.org/forgejo/forgejo/attachments/774421a1-b0ae-4501-8fba-983874b76811"} {
 | 
			
		||||
		assert.False(t, anyHashPattern.MatchString(v))
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestRegExp_shortLinkPattern(t *testing.T) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,7 +53,8 @@ type CreateHookOption struct {
 | 
			
		|||
	BranchFilter        string                 `json:"branch_filter" binding:"GlobPattern"`
 | 
			
		||||
	AuthorizationHeader string                 `json:"authorization_header"`
 | 
			
		||||
	// default: false
 | 
			
		||||
	Active bool `json:"active"`
 | 
			
		||||
	Active          bool `json:"active"`
 | 
			
		||||
	IsSystemWebhook bool `json:"is_system_webhook"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// EditHookOption options when modify one hook
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -14,7 +14,6 @@ import (
 | 
			
		|||
	"net/url"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"forgejo.org/models"
 | 
			
		||||
	activities_model "forgejo.org/models/activities"
 | 
			
		||||
| 
						 | 
				
			
			@ -727,7 +726,7 @@ func PrepareViewPullInfo(ctx *context.Context, issue *issues_model.Issue) *git.C
 | 
			
		|||
	ctx.Data["HeadBranchCommitID"] = headBranchSha
 | 
			
		||||
	ctx.Data["PullHeadCommitID"] = sha
 | 
			
		||||
 | 
			
		||||
	if pull.HeadRepo == nil || !headBranchExist || (!pull.Issue.IsClosed && (headBranchSha != sha)) {
 | 
			
		||||
	if pull.HeadRepo == nil || !headBranchExist || (!pull.Issue.IsClosed && !pull.IsChecking() && (headBranchSha != sha)) {
 | 
			
		||||
		ctx.Data["IsPullRequestBroken"] = true
 | 
			
		||||
		if pull.IsSameRepo() {
 | 
			
		||||
			ctx.Data["HeadTarget"] = pull.HeadBranch
 | 
			
		||||
| 
						 | 
				
			
			@ -1207,8 +1206,6 @@ func UpdatePullRequest(ctx *context.Context) {
 | 
			
		|||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	time.Sleep(1 * time.Second)
 | 
			
		||||
 | 
			
		||||
	ctx.Flash.Success(ctx.Tr("repo.pulls.update_branch_success"))
 | 
			
		||||
	ctx.Redirect(issue.Link())
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -30,7 +30,7 @@
 | 
			
		|||
								<p class="info tw-flex tw-items-center tw-my-1">{{svg "octicon-git-commit" 16 "tw-mr-1"}}<a href="{{.RepoLink}}/commit/{{PathEscape .DefaultBranchBranch.DBBranch.CommitID}}">{{ShortSha .DefaultBranchBranch.DBBranch.CommitID}}</a> · <span class="commit-message">{{RenderCommitMessage $.Context .DefaultBranchBranch.DBBranch.CommitMessage (.Repository.ComposeMetas ctx)}}</span> · {{ctx.Locale.Tr "org.repo_updated" (DateUtils.TimeSince .DefaultBranchBranch.DBBranch.CommitTime)}}{{if .DefaultBranchBranch.DBBranch.Pusher}}  {{template "shared/user/avatarlink" dict "user" .DefaultBranchBranch.DBBranch.Pusher}}{{template "shared/user/namelink" .DefaultBranchBranch.DBBranch.Pusher}}{{end}}</p>
 | 
			
		||||
							</td>
 | 
			
		||||
							<td class="right aligned middle aligned overflow-visible">
 | 
			
		||||
								{{if and $.IsWriter (not $.Repository.IsArchived) (not .IsDeleted)}}
 | 
			
		||||
								{{if and $.IsWriter (not $.Repository.IsArchived) (not $.Repository.IsMirror) (not .IsDeleted)}}
 | 
			
		||||
									<button class="btn interact-bg show-create-branch-modal tw-p-2"
 | 
			
		||||
										data-modal="#create-branch-modal"
 | 
			
		||||
										data-branch-from="{{$.DefaultBranchBranch.DBBranch.Name}}"
 | 
			
		||||
| 
						 | 
				
			
			@ -151,7 +151,7 @@
 | 
			
		|||
								{{end}}
 | 
			
		||||
							</td>
 | 
			
		||||
							<td class="three wide right aligned overflow-visible">
 | 
			
		||||
								{{if and $.IsWriter (not $.Repository.IsArchived) (not .DBBranch.IsDeleted)}}
 | 
			
		||||
								{{if and $.IsWriter (not $.Repository.IsArchived) (not $.Repository.IsMirror) (not .DBBranch.IsDeleted)}}
 | 
			
		||||
									<button class="btn interact-bg tw-p-2 show-modal show-create-branch-modal"
 | 
			
		||||
										data-branch-from="{{.DBBranch.Name}}"
 | 
			
		||||
										data-branch-from-urlcomponent="{{PathEscapeSegments .DBBranch.Name}}"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -549,18 +549,21 @@
 | 
			
		|||
			<div class="timeline-item event" id="{{.HashTag}}">
 | 
			
		||||
				<span class="badge">{{svg "octicon-repo-push"}}</span>
 | 
			
		||||
				<span class="text grey muted-links">
 | 
			
		||||
					{{template "shared/user/authorlink" .Poster}}
 | 
			
		||||
					{{if .IsForcePush}}
 | 
			
		||||
						{{ctx.Locale.Tr "repo.issues.force_push_codes" $.Issue.PullRequest.HeadBranch (ShortSha .OldCommit) ($.Issue.Repo.CommitLink .OldCommit) (ShortSha .NewCommit) ($.Issue.Repo.CommitLink .NewCommit) $createdStr "ui sha"}}
 | 
			
		||||
						<span class="forced-push">
 | 
			
		||||
							<span>
 | 
			
		||||
								{{template "shared/user/authorlink" .Poster}}
 | 
			
		||||
								{{ctx.Locale.Tr "repo.issues.force_push_codes" $.Issue.PullRequest.HeadBranch (ShortSha .OldCommit) ($.Issue.Repo.CommitLink .OldCommit) (ShortSha .NewCommit) ($.Issue.Repo.CommitLink .NewCommit) $createdStr "ui sha"}}
 | 
			
		||||
							</span>
 | 
			
		||||
							{{if $.Issue.PullRequest.BaseRepo.Name}}
 | 
			
		||||
								<a href="{{$.Issue.PullRequest.BaseRepo.Link}}/compare/{{PathEscape .OldCommit}}..{{PathEscape .NewCommit}}" rel="nofollow" class="ui compare label">{{ctx.Locale.Tr "repo.issues.force_push_compare"}}</a>
 | 
			
		||||
							{{end}}
 | 
			
		||||
						</span>
 | 
			
		||||
					{{else}}
 | 
			
		||||
						{{template "shared/user/authorlink" .Poster}}
 | 
			
		||||
						{{ctx.Locale.TrN (len .Commits) "repo.issues.push_commit_1" "repo.issues.push_commits_n" (len .Commits) $createdStr}}
 | 
			
		||||
					{{end}}
 | 
			
		||||
				</span>
 | 
			
		||||
				{{if and .IsForcePush $.Issue.PullRequest.BaseRepo.Name}}
 | 
			
		||||
				<span class="tw-float-right comparebox">
 | 
			
		||||
					<a href="{{$.Issue.PullRequest.BaseRepo.Link}}/compare/{{PathEscape .OldCommit}}..{{PathEscape .NewCommit}}" rel="nofollow" class="ui compare label">{{ctx.Locale.Tr "repo.issues.force_push_compare"}}</a>
 | 
			
		||||
				</span>
 | 
			
		||||
				{{end}}
 | 
			
		||||
			</div>
 | 
			
		||||
			{{if not .IsForcePush}}
 | 
			
		||||
				{{template "repo/commits_list_small" dict "comment" . "root" $}}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										4
									
								
								templates/swagger/v1_json.tmpl
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								templates/swagger/v1_json.tmpl
									
										
									
										generated
									
									
									
								
							| 
						 | 
				
			
			@ -22178,6 +22178,10 @@
 | 
			
		|||
          },
 | 
			
		||||
          "x-go-name": "Events"
 | 
			
		||||
        },
 | 
			
		||||
        "is_system_webhook": {
 | 
			
		||||
          "type": "boolean",
 | 
			
		||||
          "x-go-name": "IsSystemWebhook"
 | 
			
		||||
        },
 | 
			
		||||
        "type": {
 | 
			
		||||
          "type": "string",
 | 
			
		||||
          "enum": [
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -273,3 +273,19 @@ func createOutdatedPR(t *testing.T, actor, forkOrg *user_model.User) *issues_mod
 | 
			
		|||
 | 
			
		||||
	return issue.PullRequest
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestStatusDuringUpdate(t *testing.T) {
 | 
			
		||||
	onGiteaRun(t, func(t *testing.T, u *url.URL) {
 | 
			
		||||
		session := loginUser(t, "user2")
 | 
			
		||||
 | 
			
		||||
		// Adjust this pull request to be in the conflict checker and having a head
 | 
			
		||||
		// branch that is pointing to the an incorrect commit ID.
 | 
			
		||||
		_, err := db.GetEngine(t.Context()).Cols("status", "head_branch").Update(&issues_model.PullRequest{ID: 5, Status: issues_model.PullRequestStatusChecking, HeadBranch: "master"})
 | 
			
		||||
		require.NoError(t, err)
 | 
			
		||||
 | 
			
		||||
		resp := session.MakeRequest(t, NewRequest(t, "GET", "/user2/repo1/pulls/5"), http.StatusOK)
 | 
			
		||||
		htmlDoc := NewHTMLParser(t, resp.Body)
 | 
			
		||||
 | 
			
		||||
		assert.Contains(t, htmlDoc.Find(".merge-section .item").Text(), "Merge conflict checking is in progress. Try again in few moments.")
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -204,3 +204,28 @@ func TestDatabaseMissingABranch(t *testing.T) {
 | 
			
		|||
		assert.Equal(t, firstBranchCount-1, secondBranchCount)
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func TestCreateBranchButtonVisibility(t *testing.T) {
 | 
			
		||||
	onGiteaRun(t, func(t *testing.T, u *url.URL) {
 | 
			
		||||
		session := loginUser(t, "user1")
 | 
			
		||||
 | 
			
		||||
		t.Run("Check create branch button", func(t *testing.T) {
 | 
			
		||||
			t.Run("Normal repository", func(t *testing.T) {
 | 
			
		||||
				repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
 | 
			
		||||
 | 
			
		||||
				// Check that the button is present
 | 
			
		||||
				resp := session.MakeRequest(t, NewRequest(t, "GET", "/"+repo1.FullName()+"/branches"), http.StatusOK)
 | 
			
		||||
				htmlDoc := NewHTMLParser(t, resp.Body)
 | 
			
		||||
				assert.Positive(t, htmlDoc.doc.Find(".show-create-branch-modal").Length())
 | 
			
		||||
			})
 | 
			
		||||
			t.Run("Mirrored repository", func(t *testing.T) {
 | 
			
		||||
				repo5 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 5})
 | 
			
		||||
 | 
			
		||||
				// Check that the button is NOT present
 | 
			
		||||
				resp := session.MakeRequest(t, NewRequest(t, "GET", "/"+repo5.FullName()+"/branches"), http.StatusOK)
 | 
			
		||||
				htmlDoc := NewHTMLParser(t, resp.Body)
 | 
			
		||||
				assert.Equal(t, 0, htmlDoc.doc.Find(".show-create-branch-modal").Length())
 | 
			
		||||
			})
 | 
			
		||||
		})
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -904,15 +904,18 @@ td .commit-summary {
 | 
			
		|||
  background: var(--color-orange-badge-hover-bg) !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.view.issue .comment-list .timeline-item .comparebox {
 | 
			
		||||
  line-height: 32px;
 | 
			
		||||
  vertical-align: middle;
 | 
			
		||||
@media (min-width: 768px) {
 | 
			
		||||
  .repository.view.issue .comment-list .timeline-item .forced-push {
 | 
			
		||||
    display: grid;
 | 
			
		||||
    grid-auto-flow: column;
 | 
			
		||||
    column-gap: 1rem;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.repository.view.issue .comment-list .timeline-item .comparebox .compare.label {
 | 
			
		||||
.repository.view.issue .comment-list .timeline-item .compare.label {
 | 
			
		||||
  font-size: 1rem;
 | 
			
		||||
  margin: 0;
 | 
			
		||||
  border: 1px solid var(--color-light-border);
 | 
			
		||||
  height: fit-content;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (max-width: 767.98px) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -685,7 +685,12 @@ function initRepoIssueCommentEdit() {
 | 
			
		|||
 | 
			
		||||
    // If the selection is in the comment body, then insert the quote.
 | 
			
		||||
    if (quote.closest(`#${event.target.getAttribute('data-target')}`)) {
 | 
			
		||||
      // Chromium quirk: Temporarily store the range so it doesn't get lost, caused by appending text in another element.
 | 
			
		||||
      const currentRange = quote.range;
 | 
			
		||||
 | 
			
		||||
      editorTextArea.value += `@${event.target.getAttribute('data-author')} wrote in ${toAbsoluteUrl(event.target.getAttribute('data-reference-url'))}:`;
 | 
			
		||||
 | 
			
		||||
      quote.range = currentRange;
 | 
			
		||||
      quote.insert(editorTextArea);
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue