(cherry picked from commit 481d813539)
address oliverpool comments
(cherry picked from commit d8f313f9e2)
s/Printf/Print/
(cherry picked from commit 6621b04458)
do not run initDB within integration tests
(cherry picked from commit 5a0428ede3)
(cherry picked from commit d3ebc9449c)
(cherry picked from commit e84e43887b)
[DOCS] RELEASE-NOTES: add scoped access tokens
(cherry picked from commit 688f831853)
[DOCS] RELEASE-NOTES: Scoped labels
(cherry picked from commit 747479a07b)
[DOCS] RELEASE-NOTES: OIDC groups
(cherry picked from commit 10c505fe89)
[DOCS] RELEASE-NOTES: Copy Link is broken
On firefox it fails with Uncaught TypeError: navigator.clipboard is
undefined
On chromium it fails with Uncaught TypeError: Cannot read properties of undefined (reading 'writeText')
(cherry picked from commit 148b2ff093)
[DOCS] RELEASE-NOTES: Copy citation
(cherry picked from commit d0f217735f)
[DOCS] RELEASE-NOTES: Support org/user level projects
(cherry picked from commit de845c7bcf)
[DOCS] RELEASE-NOTES: v1.19 has a documentation
(cherry picked from commit 9a5b46da32)
[DOCS] RELEASE-NOTES: do not split webhook section
(cherry picked from commit 00ed020321)
[DOCS] RELEASE-NOTES: Incoming emails
(cherry picked from commit 06c455b33b)
[DOCS] RELEASE-NOTES: secrets are an implementation detail
(cherry picked from commit 8236dc3a57)
[DOCS] RELEASE-NOTES: Prohibit fork if user reached maximum
(cherry picked from commit 0f80b8c696)
[DOCS] RELEASE-NOTES: scoped tokens: do not duplicate the docs
(cherry picked from commit 9bc4793c07)
[DOCS] RELEASE-NOTES: rss feed for tags and releases
(cherry picked from commit 599b36fada)
[DOCS] RELEASE-NOTES: protected branches wildcard
(cherry picked from commit 2b316c4950)
[DOCS] RELEASE-NOTES: disable releases
(cherry picked from commit 9a60773f1d)
[DOCS] RELEASE-NOTES: review box
(cherry picked from commit 09867dd122)
[DOCS] RELEASE-NOTES: asciicast support
(cherry picked from commit ea9658379b)
[DOCS] RELEASE-NOTES: attention blocks
(cherry picked from commit 70b387750b)
[DOCS] RELEASE-NOTES: commit cross reference
(cherry picked from commit fe706dad13)
[DOCS] RELEASE-NOTES: strip user completion border case
(cherry picked from commit 33ca51b4b6)
[DOCS] RELEASE-NOTES: card preview
(cherry picked from commit 626cd78ca6)
[DOCS] RELEASE-NOTES: raw copy button
(cherry picked from commit edfb467d64)
[DOCS] RELEASE-NOTES: allow edits by maintainers by default
(cherry picked from commit 7006405bc6)
[DOCS] RELEASE-NOTES: database auto migration is a little arcane
(cherry picked from commit 78030fa9af)
[DOCS] RELEASE-NOTES: fix typos & minor rewording
(cherry picked from commit ae1d47f656)
(cherry picked from commit ad08ca9955)
[DOCS] RELEASE-NOTES: webhook authorization header
(cherry picked from commit c35e2c4f6f)
[DOCS] RELEASE-NOTES: video element in markdown
(cherry picked from commit bcb0bd51d2)
[DOCS] RELEASE-NOTES: move scoped labels to the documentation
(cherry picked from commit c5eedaf4f3)
[DOCS] RELEASE-NOTES: cosmetic improvements
(cherry picked from commit b93df350d9)
[DOCS] RELEASE-NOTES: 1.19.0-0 is really : 1.19.0-2
(cherry picked from commit 60d770c2c9)
[DOCS] RELEASE-NOTES: relevant repositories
(cherry picked from commit de6ed5b87f)
(cherry picked from commit 71d91fdf22)
[DOCS] RELEASE-NOTES: semantic version
(cherry picked from commit af062d77f0)
[DOCS] RELEASE-NOTES: reflogs
(cherry picked from commit 084713d8aa)
(cherry picked from commit 20b5669269)
(cherry picked from commit 1574643a6a)
Update semantic version according to specification
(cherry picked from commit 22510f4130)
Mise à jour de 'Makefile'
(cherry picked from commit c3d85d8409)
(cherry picked from commit 5ea2309851)
(cherry picked from commit ec5217b9d1)
Although it would be possible to modify these files, it would create
conflicts when rebasing. Instead, this commit removes them entirely
and another commit can start from scratch, borrowing content from the
original files.
The drawback of this approach is that some content updates from Gitea
that also need updating in Forgejo will have to be copy/pasted
instead of being merged.
(cherry picked from commit eb85782115)
(cherry picked from commit 34401f2004)
(cherry picked from commit ef43b1c691)
(cherry picked from commit d17fe25e2f)
(cherry picked from commit 3f65dea3e7)
f92e0a4018 added minio to the tests/pgsql.ini.tmpl and Forgejo CI does
not run a minio server. It will if there are external storage related
changes at some point but it is not the case now so it is not worth
the burden.
(cherry picked from commit 4cfbf4718d)
[`worker-loader`](https://github.com/webpack-contrib/worker-loader) is
deprecated since webpack 5 which can load workers without it now, so
remove it. I think it was already dysfunctional because the regex does
not match our current worker scripts:
```
web_src/js/features/eventsource.sharedworker.js
web_src/js/features/serviceworker.js
web_src/js/serviceworker.js
```
I did confirm that eventsource worker still loads via simple
`console.log` inside the script.
Co-authored-by: delvh <leon@kske.dev>
Close#23444
Add `Repository` to npm package `Metadata` struct so the `repository` in
`package.json` can be stored and be returned in the endpoint.
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
A part of https://github.com/go-gitea/gitea/pull/22865
At first, I think we do not need 3 ProjectTypes, as we can check user
type, but it seems that it is not database friendly.
---------
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: 6543 <6543@obermui.de>
Furthermore improved/deleted some comments in the template.
The appearance did not change.
---------
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This PR is extracted from #23346 to address some unclear (I don't
understand) code-belonging concerns.
This PR needs to be backported, otherwise the `aria.js` is too buggy in
some cases. Since there would be two minor conflicts, I will do the
backport manually.
Before: the `aria.js` is still buggy in some cases.
After: tested with AppleVoice, Android TalkBack
* Fix incorrect dropdown init code
* Fix incorrect role element (the menu role should be on the `$menu`
element, but not on the `$focusable`)
* Fix the focus-show-click-hide problem on mobile. Now the language menu
works as expected
* Fix incorrect dropdown template function setting
* Clarify the logic in aria.js
* Hide item's tippy after menu gets hidden
* Fix incorrect tippy `setProps` after `destroy`
* Fix UI lag problem when page gets redirected during menu hiding
animation with screen reader
* Improve comments
* Implement the layout proposed by #19861
<details>
d74a7efb60/web_src/js/features/aria.md (L38-L47)
</details>
This PR fixes the tags sort issue mentioned in #23432
The tags on dropdown shoud be sorted in descending order of time but are
not. Because when getting tags, it execeutes `git tag sort
--sort=-taggerdate`. Git supports two types of tags: lightweight and
annotated, and `git tag sort --sort=-taggerdate` dosen't work with
lightweight tags, which will not give correct result. This PR add
`GetTagNamesByRepoID ` to get tags from the database so the tags are
sorted.
Also adapt this change to the droplist when comparing branches.
Dropdown places:
<img width="369" alt="截屏2023-03-15 14 25 39"
src="https://user-images.githubusercontent.com/17645053/225224506-65a72e50-4c11-41d7-8187-a7e9c7dab2cb.png">
<img width="675" alt="截屏2023-03-15 14 25 27"
src="https://user-images.githubusercontent.com/17645053/225224526-65ce8008-340c-43f6-aa65-b6bd9e1a1bf1.png">
Currently gitea shows no commit information for files starting with a
colon.
[I set up a minimal repro repository that reproduces this error once
it's migrated on gitea](https://github.com/kbolashev/colon-test)
<img width="1209" alt="image"
src="https://user-images.githubusercontent.com/111061261/219326625-0e6d3a86-8b58-4d67-bc24-8a78963f36b9.png">
This is happening because the filenames piped to the `git log` command
are written as is, and it doesn't work when you have a colon at the
start of the filename, and you need to escape it.
You can test it locally, if you do
```
mkdir repo
git init
touch :file
git add . && git commit -m "Add file with colon"
git log -- :file
```
git log returns nothing. However, if you do `git log -- "\:file"`, it
will show the commit with the file change.
This PR escapes the starting colons in paths in the `LogNameStatusRepo`
function, making gitea return commit info about the file with the bad
filename.
<img width="1209" alt="image"
src="https://user-images.githubusercontent.com/111061261/219328299-46451246-4006-45e3-89b1-c244635ded23.png">
This error shows up only with files starting with colon, anywhere else
in filename is ok. Dashes at the beginning also seem to be working.
I don't know gitea internals well enough to know where else this error
can pop up, so I'm keeping this PR small as suggested by your
contributor guide
Update replace:
```diff
- replace github.com/nektos/act => gitea.com/gitea/act v0.234.2-0.20230131074955-e46ede1b1744
+ replace github.com/nektos/act => gitea.com/gitea/act v0.243.1
```
Update require:
```diff
- github.com/nektos/act v0.0.0
+ github.com/nektos/act v0.2.43
```
Actually, `v0.2.43` doesn't work, it will be replaced by `gitea/act`, so
it's OK to put any version here. But `gitea/act` is based on
`nektos/act`, so keeping the right upstream version will make security
dependabot help.
BTW, the [security
report](https://github.com/go-gitea/gitea/security/dependabot/20) is
false positive, we don't use the artifact server in act, see #22738.
Creating pid file should not belong to setting package and only web
command needs that. So this PR moves pidfile creation from setting
package to web command package to keep setting package more readable.
I marked this as `break` because the PIDFile path moved. For those who
have used the pid build argument, it has to be changed.
---------
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
`namedBlob` turned out to be a poor imitation of a `TreeEntry`. Using
the latter directly shortens this code.
This partially undoes https://github.com/go-gitea/gitea/pull/23152/,
which I found a merge conflict with, and also expands the test it added
to cover the subtle README-in-a-subfolder case.
Fix regression from https://github.com/go-gitea/gitea/pull/23481.
The conditional on the CSS import was being stripped away by webpack's
`css-loader`, resulting in the dark theme always loading. The old syntax
with `@import` nested inside `@media` also did not work as `css-loader`
(rightfully) ignores such non-standard `@import` syntax that was
previously supported by Less.
Unfortunately, we have to re-introduce postcss to the CSS pipeline to
fix this and I loaded only the minimal plugins to make it work.
There is one variant of the fix that does work without postcss, which is
to exclude the file from transpilation but I did not consider it as it
would have meant the `@import` was being done without a version suffix
in the URL, which would have caused cache issue.
Related: https://github.com/webpack-contrib/css-loader/issues/1503
---------
Co-authored-by: John Olheiser <john.olheiser@gmail.com>