]> source.dussan.org Git - gitea.git/log
gitea.git
19 months agoProjects: rename Board to Column in interface and improve consistency (#22767)
Brecht Van Lommel [Fri, 24 Feb 2023 23:10:50 +0000 (00:10 +0100)]
Projects: rename Board to Column in interface and improve consistency (#22767)

19 months agoFix DBConsistency checks on MSSQL (#23132)
zeripath [Fri, 24 Feb 2023 21:45:55 +0000 (21:45 +0000)]
Fix DBConsistency checks on MSSQL (#23132)

Unfortunately xorm's `builder.Select(...).From(...)` does not escape the
table names. This is mostly not a problem but is a problem with the
`user` table.

This PR simply escapes the user table. No other uses of `From("user")`
where found in the codebase so I think this should be all that is
needed.

Fix #23064

Signed-off-by: Andrew Thornton <art27@cantab.net>
19 months agoAdd pagination for dashboard and user activity feeds (#22937)
Brecht Van Lommel [Fri, 24 Feb 2023 21:15:10 +0000 (22:15 +0100)]
Add pagination for dashboard and user activity feeds (#22937)

Previously only the last few activities where available. This works for
all activity and for activity on a date chosen on the heatmap.

19 months agoUpdate go.mod dependencies (#23126)
zeripath [Fri, 24 Feb 2023 20:18:49 +0000 (20:18 +0000)]
Update go.mod dependencies (#23126)

This PR does a bulk update of a lot of our go deps.

I have not included nektos/act and xorm for the following reasons:
* Xorm updates can sometimes be complex and I'd rather do that in a
separate PR
* I think people more update with the actions code should double check
that the latest nektos/act library works correctly.

---------

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
19 months agoShow empty repos in Admin Repository Management page (#23114)
Zettat123 [Fri, 24 Feb 2023 19:11:31 +0000 (03:11 +0800)]
Show empty repos in Admin Repository Management page (#23114)

The **Admin Repository Management** page and the **Explore Repository**
page both use the `RenderRepoSearch` function. In this function, the
`OnlyShowRelevant` search option is `true` when querying repositories
for admin page.

https://github.com/go-gitea/gitea/blob/edf98a2dc30956c8e04b778bb7f1ce55c14ba963/routers/web/explore/repo.go#L99-L115

Refer to
[#19361](https://github.com/go-gitea/gitea/pull/19361/files#diff-8058dfb85557010e0592d586675ec62ce406af7068e6311f39c160deac37f149R497),
the repositories with `is_empty=true` will be hidden if
`OnlyShowRelevant` is `true`.

Administrators should be able to see all repositories. So
`OnlyShowRelevant` shouldn't be set to `true` .

---------

Co-authored-by: Andrew Thornton <art27@cantab.net>
19 months agoRedirect to the commit page after applying patch (#23056)
yp05327 [Fri, 24 Feb 2023 16:56:41 +0000 (01:56 +0900)]
Redirect to the commit page after applying patch (#23056)

Fixes https://github.com/go-gitea/gitea/issues/22621

19 months agoBump go.etcd.io/bbolt and blevesearch deps (#23062)
WÁNG Xuěruì [Fri, 24 Feb 2023 15:45:28 +0000 (23:45 +0800)]
Bump go.etcd.io/bbolt and blevesearch deps (#23062)

This notably brings support for GOARCH=loong64, among other fixes.

---------

Signed-off-by: WANG Xuerui <xen0n@gentoo.org>
Co-authored-by: zeripath <art27@cantab.net>
19 months agoFix height for sticky head on large screen on PR page (#23111)
HesterG [Fri, 24 Feb 2023 14:29:49 +0000 (22:29 +0800)]
Fix height for sticky head on large screen on PR page (#23111)

Right now on the PR 'File Change' Tab, the file title header sticky to
the top on large screens has wrong height, resulting in wrong ui
behavior when scrolling down. This PR is to fix this.

Before:

<img width="964" alt="截屏2023-02-24 17 12 29"
src="https://user-images.githubusercontent.com/17645053/221140409-025c4a84-6bbe-4b5b-a13f-bd2b79063522.png">

After:
<img width="1430" alt="截屏2023-02-24 21 10 12"
src="https://user-images.githubusercontent.com/17645053/221186750-0344d652-4610-4a90-a4c0-7f6269f950d6.png">

19 months agoFix db.Find bug (#23115)
Lunny Xiao [Fri, 24 Feb 2023 13:17:09 +0000 (21:17 +0800)]
Fix db.Find bug (#23115)

Caused by #20821

Fix #23110

19 months agoAvoid warning for system setting when start up (#23054)
Lunny Xiao [Fri, 24 Feb 2023 10:23:13 +0000 (18:23 +0800)]
Avoid warning for system setting when start up (#23054)

Partially fix #23050

After #22294 merged, it always has a warning log like `cannot get
context cache` when starting up. This should not affect any real life
but it's annoying. This PR will fix the problem. That means when
starting up, getting the system settings will not try from the cache but
will read from the database directly.

---------

Co-authored-by: Lauris BH <lauris@nix.lv>
19 months agoRequire approval to run actions for fork pull request (#22803)
Jason Song [Fri, 24 Feb 2023 07:58:49 +0000 (15:58 +0800)]
Require approval to run actions for fork pull request (#22803)

Currently, Gitea will run actions automatically which are triggered by
fork pull request. It's a security risk, people can create a PR and
modify the workflow yamls to execute a malicious script.

So we should require approval for first-time contributors, which is the
default strategy of a public repo on GitHub, see [Approving workflow
runs from public
forks](https://docs.github.com/en/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks).

Current strategy:

- don't need approval if it's not a fork PR;
- always need approval if the user is restricted;
- don't need approval if the user can write;
- don't need approval if the user has been approved before;
- otherwise, need approval.

https://user-images.githubusercontent.com/9418365/217207121-badf50a8-826c-4425-bef1-d82d1979bc81.mov

GitHub has an option for that, you can see that at
`/<owner>/<repo>/settings/actions`, and we can support that later.

<img width="835" alt="image"
src="https://user-images.githubusercontent.com/9418365/217199990-2967e68b-e693-4e59-8186-ab33a1314a16.png">

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoFix nil context in RenderMarkdownToHtml (#23092)
Zettat123 [Fri, 24 Feb 2023 06:36:07 +0000 (14:36 +0800)]
Fix nil context in RenderMarkdownToHtml (#23092)

Fix #23082.

This bug is caused by a nil context in
https://github.com/go-gitea/gitea/issues/23082#issuecomment-1441276546 .

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoAdd HesterG to maintainers (#23104)
HesterG [Fri, 24 Feb 2023 06:31:02 +0000 (14:31 +0800)]
Add HesterG to maintainers (#23104)

[List of mine merged
PR](https://github.com/go-gitea/gitea/pulls?q=is%3Apr+author%3AHesterG+is%3Amerged+)

19 months agoimprove FindProjects (#23085)
yp05327 [Fri, 24 Feb 2023 05:18:52 +0000 (14:18 +0900)]
improve FindProjects (#23085)

I found `FindAndCount` which can `Find` and `Count` in the same time
Maybe it is better to use it in `FindProjects`

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoMake issue meta dropdown support Enter, confirm before reloading (#23014)
wxiaoguang [Fri, 24 Feb 2023 01:26:27 +0000 (09:26 +0800)]
Make issue meta dropdown support Enter, confirm before reloading (#23014)

As the title. Label/assignee share the same code.

* Close #22607
* Close #20727

Also:

* partially fix for #21742, now the comment reaction and menu work with
keyboard.
* partially fix for #17705, in most cases the comment won't be lost.
* partially fix for #21539
* partially fix for #20347
* partially fix for #7329

### The `Enter` support

Before, if user presses Enter, the dropdown just disappears and nothing
happens or the window reloads.

After, Enter can be used to select/deselect labels, and press Esc to
hide the dropdown to update the labels (still no way to cancel ....
maybe you can do a Cmd+R or F5 to refresh the window to discard the
changes .....)

This is only a quick patch, the UX is still not perfect, but it's much
better than before.

### The `confirm` before reloading

And more fixes for the `reload` problem, the new behaviors:

* If nothing changes (just show/hide the dropdown), then the page won't
be reloaded.
* If there are draft comments, show a confirm dialog before reloading,
to avoid losing comments.

That's the best effect can be done at the moment, unless completely
refactor these dropdown related code.

Screenshot of the confirm dialog:

<details>

![image](https://user-images.githubusercontent.com/2114189/220538288-e2da8459-6a4e-43cb-8596-74057f8a03a2.png)

</details>

---------

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoFix SyncOnCommit always return false in API of push_mirrors (#23088)
sillyguodong [Thu, 23 Feb 2023 21:50:33 +0000 (05:50 +0800)]
Fix SyncOnCommit always return false in API of push_mirrors (#23088)

Fix: #22990

---
Before, the return value of the api is always false,regrardless of
whether the entry of `sync_on_commit` is true or false.
I have confirmed that the value of `sync_on_commit` dropped into the
database is correct.
So, I think it is enough to make some small changes.

19 months agoFix commit name in Apply Patch page (#23086)
yp05327 [Thu, 23 Feb 2023 21:14:07 +0000 (06:14 +0900)]
Fix commit name in Apply Patch page (#23086)

Fixes
https://github.com/go-gitea/gitea/issues/22621#issuecomment-1439309200

19 months agoAdd wrapper to author to avoid long name ui problem (#23030)
HesterG [Thu, 23 Feb 2023 20:28:18 +0000 (04:28 +0800)]
Add wrapper to author to avoid long name ui problem (#23030)

This PR is a possible solution for issue #22866. Main change is to add a
`author-wrapper` class around author name, like the wrapper added to
message. The `max-width` is set to 200px on PC, and 100px on mobile
device for now.

19 months agoAvoid Hugo from adding quote to actions url (#23097)
Sven [Thu, 23 Feb 2023 17:19:52 +0000 (18:19 +0100)]
Avoid Hugo from adding quote to actions url (#23097)

19 months agoRemove all package data after tests (#22984)
KN4CK3R [Thu, 23 Feb 2023 14:11:56 +0000 (15:11 +0100)]
Remove all package data after tests (#22984)

Fixes #21020

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: zeripath <art27@cantab.net>
19 months agoChange style to improve whitespaces trimming inside inline markdown code (#23093)
HesterG [Thu, 23 Feb 2023 12:57:03 +0000 (20:57 +0800)]
Change style to improve whitespaces trimming inside inline markdown code  (#23093)

Given mardown source
```
x ` a` y
x `a ` y
x ` a ` y
```

Render

<img width="1421" alt="2023-02-23 15 33 14"
src="https://user-images.githubusercontent.com/17645053/220844280-a304c788-ac79-4a26-a55a-0db00f2fb3f3.png">

Fixes #23080.

19 months agoNest metadata in refactoring docs (#23087)
techknowlogick [Thu, 23 Feb 2023 08:25:18 +0000 (03:25 -0500)]
Nest metadata in refactoring docs (#23087)

Whitespace was missing from refactoring docs metadata.

backport label applied so it is included in versioned docs.

19 months agoImprove reverse proxies documentation (#23068)
Joakim Pettersen [Thu, 23 Feb 2023 07:34:09 +0000 (08:34 +0100)]
Improve reverse proxies documentation (#23068)

Add "Traefik with a sub-path" documentation

closes #23047

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
19 months agoImprove accessibility for issue comments (#22612)
Andre Polykanine [Thu, 23 Feb 2023 02:24:24 +0000 (03:24 +0100)]
Improve accessibility for issue comments (#22612)

Currently in Gitea issue comments are not marked up with headings. I'm
trying to fix this by adding an appropriate
[ARIA](https://www.w3.org/WAI/standards-guidelines/aria/) role for
comment header and also by enclosing the comment itself in a semantical
article element.

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
19 months agoWrap unless-check in docker manifests (#23079)
John Olheiser [Wed, 22 Feb 2023 22:33:31 +0000 (16:33 -0600)]
Wrap unless-check in docker manifests (#23079)

Should fix the following:
> failed to render template: Evaluation error: Helper 'unless' called
with wrong number of arguments, needed 2 but got 3

Signed-off-by: jolheiser <john.olheiser@gmail.com>
19 months agoAdd accessibility to the menu on the navbar (#23059)
HesterG [Wed, 22 Feb 2023 21:58:07 +0000 (05:58 +0800)]
Add accessibility to the menu on the navbar (#23059)

This PR is trying to add accessibility to the menu as mentioned in
#23053 so the menu can be accessed using keyboard (A quick demo is added
below), with a reference to
[PR2612](https://github.com/go-gitea/gitea/pull/22612). The goal is to
make the menu accessible merely using keyboard like shown below. And
this PR might need confirmation from developers using screen readers.

19 months agoUse minio/sha256-simd for accelerated SHA256 (#23052)
zeripath [Wed, 22 Feb 2023 19:21:46 +0000 (19:21 +0000)]
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>
19 months agoFix some more hidden problems (#23074)
wxiaoguang [Wed, 22 Feb 2023 15:26:02 +0000 (23:26 +0800)]
Fix some more hidden problems (#23074)

Follows #22950

19 months agoAdd sillyguodong to maintainers (#23067) v1.19.0-rc0 v1.20.0-dev
sillyguodong [Wed, 22 Feb 2023 10:32:00 +0000 (18:32 +0800)]
Add sillyguodong to maintainers (#23067)

[List of mine merged
PR](https://github.com/go-gitea/gitea/pulls?q=is%3Apr+author%3Asillyguodong+is%3Amerged+)

19 months agoImproving CONTRIBUTING.md for backport details (#23057)
wxiaoguang [Wed, 22 Feb 2023 03:49:52 +0000 (11:49 +0800)]
Improving CONTRIBUTING.md for backport details (#23057)

See the changes.

Two key points:
* Necessary enhancements could be backported.
* The backports shouldn't break downgrade  between minor releases.

19 months agoChangelog 1.18.5 (#23045) (#23049)
John Olheiser [Tue, 21 Feb 2023 19:36:19 +0000 (13:36 -0600)]
Changelog 1.18.5 (#23045) (#23049)

Frontport #23045

19 months agoAdd Bash and Zsh completion scripts (#22646)
zeripath [Tue, 21 Feb 2023 17:32:24 +0000 (17:32 +0000)]
Add Bash and Zsh completion scripts (#22646)

This PR adds contrib scripts for bash and zsh completion.

Simply call:

```bash
source contrib/autocompletion/bash_autocomplete
```

or for Zsh:

```bash
source contrib/autocompletion/zsh_autocomplete
```

Signed-off-by: Andrew Thornton <art27@cantab.net>
---------

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
19 months agoReturn empty url for submodule tree entries (#23043)
Zettat123 [Tue, 21 Feb 2023 17:31:17 +0000 (01:31 +0800)]
Return empty url for submodule tree entries (#23043)

Close #22614.

Refer to [Github's
API](https://docs.github.com/en/rest/git/trees?apiVersion=2022-11-28#get-a-tree),
if a tree entry is a submodule, its url will be an empty string.

---------

Co-authored-by: delvh <leon@kske.dev>
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
19 months agoFix the show/hide methods for string selector (#23042)
wxiaoguang [Tue, 21 Feb 2023 17:09:03 +0000 (01:09 +0800)]
Fix the show/hide methods for string selector (#23042)

At that moment I made a mistake (failed to detect a JS variable type
correctly)

Close #23040

19 months agodisplay attachments of review comment when comment content is blank (#23035)
sillyguodong [Tue, 21 Feb 2023 16:08:20 +0000 (00:08 +0800)]
display attachments of review comment when comment content is blank (#23035)

fix: #22647

19 months agoUpgrade to stylelint 15 (#22944)
silverwind [Tue, 21 Feb 2023 15:23:45 +0000 (16:23 +0100)]
Upgrade to stylelint 15 (#22944)

- Upgrade stylelint and plugin
- Change ruleset to a explicit one, with all deprecated rules removed
- Fix new issues detected by value validation

For `overflow: overlay` see
https://github.com/stylelint/stylelint/issues/6667

19 months agoAdd force_merge to merge request and fix checking mergable (#23010)
Jason Song [Tue, 21 Feb 2023 14:42:07 +0000 (22:42 +0800)]
Add force_merge to merge request and fix checking mergable (#23010)

Fix #23000.

19 months agoImprove PR Review Box UI (#22986)
wxiaoguang [Tue, 21 Feb 2023 13:36:53 +0000 (21:36 +0800)]
Improve PR Review Box UI (#22986)

This PR follows:
* #22950

### Before

The Review Box has many problems:

* It doesn't work for small screens.
* It has an anonying animation which makes the UI laggy.
* It uses "custom dropdown menu" which is very difficult to fine tune.
* `$().toggle('visible')` is not a correct call
* jQuery just accepts any invalid `duration` argument:
`$().toggle('anyting')`
* The button is not a button.

<details>

![image](https://user-images.githubusercontent.com/2114189/219948865-6da3f39c-6fde-4c86-9e42-da5020f3d0c3.png)

</details>

### After

These problems are fixed, and eliminate many `!important` games.

<details>

![image](https://user-images.githubusercontent.com/2114189/219952744-8862fe1a-7ef1-49e4-bf92-2d0c1f104ee4.png)

![image](https://user-images.githubusercontent.com/2114189/219952771-be169a76-45fd-47a8-8f9c-b447d064f4ca.png)

![image](https://user-images.githubusercontent.com/2114189/219952784-3f52e9b7-64ce-4ad1-9553-64c33fb83042.png)

</details>

And most dropdown icons still looks good:

<details>

![image](https://user-images.githubusercontent.com/2114189/219952942-52866a00-e0f9-4af7-8fb5-eb1a8cad1ff3.png)

![image](https://user-images.githubusercontent.com/2114189/219948909-b3bfb844-f84e-4b79-ab1f-382ec66dec31.png)

</details>

Co-authored-by: delvh <leon@kske.dev>
19 months agoRemove dashes between organization member avatars on hover (#23034)
HesterG [Tue, 21 Feb 2023 11:28:31 +0000 (19:28 +0800)]
Remove dashes between organization member avatars on hover (#23034)

On the home page of an organization, there are unexpected dashes between
the avatars of the members when hovering over the avatars, as shown in
below:

![hover including title](https://user-images.githubusercontent.com/17645053/220271470-4f49e16f-87eb-4ffa-b38e-23feae1ff92d.png)

![hover without title](https://user-images.githubusercontent.com/17645053/220271512-e4a67685-6b72-4742-a34f-e01ed248c1de.png)

This is because in `fomantic/build/semantic.css` there is a
rule `text-decoration: underline;` when hovering over the `<a>` tag.
Here, the `<a>` tag has width and height because of the avatar image inside,
leading to the unexpected underlines.

This PR overrides the `a:hover` rule so the underline does not exist anymore.

Co-authored-by: delvh <leon@kske.dev>
19 months agoFix the Manually Merged form (#23015)
wxiaoguang [Tue, 21 Feb 2023 10:03:41 +0000 (18:03 +0800)]
Fix the Manually Merged form (#23015)

Regression bug of #19650

Close #20983
Close #21912

### The "Manually Merged" form

![image](https://user-images.githubusercontent.com/2114189/220170503-32638994-b509-4251-8aa1-d8393dda7184.png)

### Mark a PR as Manually Merged and close it

![image](https://user-images.githubusercontent.com/2114189/220170537-25c91b2c-7a9a-44d1-9e6a-ebe3f1dfc26a.png)

---------

Co-authored-by: Jason Song <i@wolfogre.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoRemove delete button for review comment (#23036)
Zettat123 [Tue, 21 Feb 2023 08:25:47 +0000 (16:25 +0800)]
Remove delete button for review comment (#23036)

Fix #23031.

Currently, only comments with type `CommentTypeComment` or
`CommentTypeCode` can be deleted. If user create a review comment, the
type of the comment will be `CommentTypeReview` so the comment cannot be
deleted.

https://github.com/go-gitea/gitea/blob/e7be610d5773e69abbfb98d19e23112dfad6dfcc/routers/web/repo/issue.go#L2860-L2868

And in Github, user also cannot delete a review comment. There isn't a
delete button in the menu.

<img
src="https://user-images.githubusercontent.com/15528715/220275166-5ae2dc10-4003-4857-b14e-d7b02644345f.png"
width="640px" />

So we should remove the delete button from the menu when the comment's
type is `CommentTypeReview`.

19 months agoImprove frontend guidelines (#23007)
wxiaoguang [Tue, 21 Feb 2023 06:13:37 +0000 (14:13 +0800)]
Improve frontend guidelines (#23007)

Some were out-dated, some are added.

19 months agoUse `--message=%s` for git commit message (#23028)
wxiaoguang [Tue, 21 Feb 2023 06:12:57 +0000 (14:12 +0800)]
Use `--message=%s` for git commit message (#23028)

Close  #23027

`git commit` message option _only_ supports 4 formats (well, only ....):
* `"commit", "-m", msg`
* `"commit", "-m{msg}"`  (no space)
* `"commit", "--message", msg`
* `"commit", "--message={msg}"`

The long format with `=` is the best choice, and it's documented in `man
git-commit`:

`-m <msg>, --message=<msg> ...`

ps: I would suggest always use long format option for git command, as
much as possible.

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoadd margin top to the top of branches (#23002)
HesterG [Tue, 21 Feb 2023 05:03:44 +0000 (13:03 +0800)]
add margin top to the top of branches (#23002)

add margin top as mentioned in #22973

---------

Co-authored-by: jidi <jidi@jidideMacBook-Pro.local>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoAdd me to maintainers (#23026)
yp05327 [Tue, 21 Feb 2023 02:56:13 +0000 (11:56 +0900)]
Add me to maintainers (#23026)

Add me to maintainers.

[My PRs
list](https://github.com/go-gitea/gitea/pulls?q=is%3Apr+author%3Ayp05327+is%3Amerged+)

19 months agoRender access log template as text instead of HTML (#23013)
Lunny Xiao [Tue, 21 Feb 2023 02:22:13 +0000 (10:22 +0800)]
Render access log template as text instead of HTML (#23013)

Fix https://github.com/go-gitea/gitea/pull/22906#discussion_r1112106675

19 months agoUse `gt-relative` class instead of the ambiguous `gt-pr` class (#23008)
wxiaoguang [Tue, 21 Feb 2023 00:16:56 +0000 (08:16 +0800)]
Use `gt-relative` class instead of the ambiguous `gt-pr` class  (#23008)

`.gt-relative` is also `position: relative !important;`

There are `gt-pr-?` styles below (line 140) for `padding-right`, which
makes `.gt-pr` ambiguous

Co-authored-by: delvh <leon@kske.dev>
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
19 months agoFix intermittent panic in notify issue change content (#23019)
zeripath [Tue, 21 Feb 2023 00:15:49 +0000 (00:15 +0000)]
Fix intermittent panic in notify issue change content (#23019)

Ensure that issue pullrequests are loaded before trying to set the
self-reference.

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: delvh <leon@kske.dev>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
19 months agoImprove pull_request_template.md (#22888)
Jason Song [Tue, 21 Feb 2023 00:14:02 +0000 (08:14 +0800)]
Improve pull_request_template.md (#22888)

Update `pull_request_template.md` because:

- It's a kind idea to hide the tips. However, it's easier to include
them in the commit message by mistake when you cannot see them. Check
`git log | grep 'Please check the following:'`. So don't hide it, expose
it and help fix it.
- "for backports" is much clearer than "for bug fixes". I saw someone
post a PR to a release branch because they believed it was the right way
for a bugfix.
- "Allow edits by maintainers", or we have to ask the contributor to
update the branch and they could be confused.
- Remind the contributor that the words could be included in the commit
message, to avoid some words like "Hello", "Sorry". If they really need
them, they can separate them with a line, like:

```markdown
Close #xxxx
Because ... Then ... Finally ...
---
Hello, this is my first time opening a pull request. Sorry for any mistakes.
```
And the merger should be careful, check and delete the extra content
before merging.

---------

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
19 months agoHide 2FA status from other members in organization members list (#22999)
Brecht Van Lommel [Mon, 20 Feb 2023 23:16:29 +0000 (00:16 +0100)]
Hide 2FA status from other members in organization members list (#22999)

This is rather private information that should not be given to all
members in the same organization. Only show it to organization owners.

19 months agohandle deprecated settings (#22992)
Lunny Xiao [Mon, 20 Feb 2023 22:18:26 +0000 (06:18 +0800)]
handle deprecated settings (#22992)

Fix #22736

19 months agoAdd scopes to API to create token and display them (#22989)
zeripath [Mon, 20 Feb 2023 21:28:44 +0000 (21:28 +0000)]
Add scopes to API to create token and display them (#22989)

The API to create tokens is missing the ability to set the required
scopes for tokens, and to show them on the API and on the UI.

This PR adds this functionality.

Signed-off-by: Andrew Thornton <art27@cantab.net>
19 months agoRemove unnecessary and incorrect `find('.menu').toggle()` (#22987)
wxiaoguang [Mon, 20 Feb 2023 20:44:32 +0000 (04:44 +0800)]
Remove unnecessary and incorrect `find('.menu').toggle()` (#22987)

Follows:
* #22950

The dropdown menu works well without these codes.

The reason is that the event bubbling still works for the dropdown menu,
the Fomantic UI dropdown menu module will hide the menu correctly if an
item is clicked.

19 months agoImprove issues.LoadProject (#22982)
yp05327 [Mon, 20 Feb 2023 19:21:56 +0000 (04:21 +0900)]
Improve issues.LoadProject (#22982)

issues.LoadProject() is no use
change `issues.loadProject(ctx)` to issues.LoadProject(ctx)

19 months agoAdd 1.18.4 changelog (#22991) (#22995)
Lunny Xiao [Mon, 20 Feb 2023 18:09:02 +0000 (02:09 +0800)]
Add 1.18.4 changelog (#22991) (#22995)

Frontport from #22991

19 months agoFix pull request branch selector visible without clicking Edit (#23012)
Brecht Van Lommel [Mon, 20 Feb 2023 16:08:32 +0000 (17:08 +0100)]
Fix pull request branch selector visible without clicking Edit (#23012)

Caused by #22950

19 months agoBump golang.org/x/net from 0.4.0 to 0.7.0 (#22980)
dependabot[bot] [Mon, 20 Feb 2023 15:52:21 +0000 (23:52 +0800)]
Bump golang.org/x/net from 0.4.0 to 0.7.0 (#22980)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.4.0 to
0.7.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/net/commit/8e2b117aee74f6b86c207a808b0255de45c0a18a"><code>8e2b117</code></a>
http2/hpack: avoid quadratic complexity in hpack decoding</li>
<li><a
href="https://github.com/golang/net/commit/547e7edf3873d6f3a9c093d3785f9e2289e00746"><code>547e7ed</code></a>
http2: avoid referencing ResponseWrite.Write parameter after
returning</li>
<li><a
href="https://github.com/golang/net/commit/39940adcaaa73e661124cb80fb8dd57ea929dbaf"><code>39940ad</code></a>
html: parse comments per HTML spec</li>
<li><a
href="https://github.com/golang/net/commit/87ce33ecb484cbb6bcfc8e506ce0330ef72e0847"><code>87ce33e</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="https://github.com/golang/net/commit/415cb6d518e71d202e2dc2f44c475cbff84eee72"><code>415cb6d</code></a>
all: fix some comments</li>
<li><a
href="https://github.com/golang/net/commit/7e3c19ca52e202ae203b1914fc00c8e47a4d72fa"><code>7e3c19c</code></a>
all: correct typos in comments</li>
<li><a
href="https://github.com/golang/net/commit/296f09aa3817abc1ddff7703799bf9babb7bbd16"><code>296f09a</code></a>
http2: case insensitive handling for 100-continue</li>
<li><a
href="https://github.com/golang/net/commit/f8411da775a685be247bbedcb3ed2c998f895cd2"><code>f8411da</code></a>
nettest: fix tests on dragonfly and js/wasm</li>
<li><a
href="https://github.com/golang/net/commit/8e0e7d8d38f2b6d21d742845570dde2902d06a1d"><code>8e0e7d8</code></a>
go.mod: update golang.org/x dependencies</li>
<li><a
href="https://github.com/golang/net/commit/7805fdc37dc2b54b28b9d621030e14dcf1dab67c"><code>7805fdc</code></a>
http2: rewrite inbound flow control tracking</li>
<li>Additional commits viewable in <a
href="https://github.com/golang/net/compare/v0.4.0...v0.7.0">compare
view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/net&package-manager=go_modules&previous-version=0.4.0&new-version=0.7.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: delvh <leon@kske.dev>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoFix panic when call api (/repos/{owner}/{repo}/pulls/{index}/files) (#22921)
sillyguodong [Mon, 20 Feb 2023 14:22:34 +0000 (22:22 +0800)]
Fix panic when call api (/repos/{owner}/{repo}/pulls/{index}/files) (#22921)

Close: #22910

---
I'm confused about that why does the api (`GET
/repos/{owner}/{repo}/pulls/{index}/files`) require caller to pass the
parameters `limit` and `page`.
In my case, the caller only needs to pass a `skip-to` to paging. This is
consistent with the api `GET /{owner}/{repo}/pulls/{index}/files`
So, I deleted the code related to `listOptions`

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoonly trigger docs build and publish when docs changed (#22968)
Lunny Xiao [Mon, 20 Feb 2023 13:08:41 +0000 (21:08 +0800)]
only trigger docs build and publish when docs changed (#22968)

Since drone plugin
https://github.com/meltwater/drone-convert-pathschanged/ enabled, we can
filter event with path in drone.

Building docs will now only be triggered when documentations changed.

---------

Co-authored-by: Jason Song <i@wolfogre.com>
19 months agoGet rules by id when editing branch protection rule (#22932)
Zettat123 [Mon, 20 Feb 2023 11:30:41 +0000 (19:30 +0800)]
Get rules by id when editing branch protection rule (#22932)

When users rename an existing branch protection rule, a new rule with
the new name will be created and the old rule will still exist.

![image](https://user-images.githubusercontent.com/15528715/219276442-d3c001ad-e693-44ec-9ad2-b33f2666b49b.png)

---

![image](https://user-images.githubusercontent.com/15528715/219276478-547c3b93-b3f1-4292-a1ef-c1b7747fe1bb.png)

The reason is that the `SettingsProtectedBranchPost` function only get
branch protection rule by name before updating or creating a rule. When
the rule name changes, the function cannot find the existing rule so it
will create a new rule rather than update the existing rule. To fix the
bug, the function should get rule by id first.

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoFix hidden commit status on multiple checks (#22889)
oliverpool [Mon, 20 Feb 2023 08:43:04 +0000 (09:43 +0100)]
Fix hidden commit status on multiple checks (#22889)

Since #22632, when a commit status has multiple checks, no check is
shown at all (hence no way to see the other checks).

This PR fixes this by always adding a tag with the
`.commit-statuses-trigger` to the DOM (the `.vm` is for vertical
alignment).

![2023-02-13-120528](https://user-images.githubusercontent.com/3864879/218441846-1a79c169-2efd-46bb-9e75-d8b45d7cc8e3.png)

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoAdd me to maintainers (#22998)
Zettat123 [Mon, 20 Feb 2023 08:42:02 +0000 (16:42 +0800)]
Add me to maintainers (#22998)

Add me to maintainers.

[List of merged
PRs](https://github.com/go-gitea/gitea/pulls?q=is%3Apr+author%3AZettat123+is%3Amerged)

Co-authored-by: Jason Song <i@wolfogre.com>
19 months agoAdd all units to the units permission list in org team members sidebar (#22971)
yp05327 [Mon, 20 Feb 2023 07:08:33 +0000 (16:08 +0900)]
Add all units to the units permission list in org team members sidebar (#22971)

Add all units to the units permission list in org team members sidebar.

Before:

![BQF448EIHEYKY62XGG(5101](https://user-images.githubusercontent.com/18380374/219877772-b57df8fb-2b82-4b1a-85c8-3809f8751cab.png)
After:

![image](https://user-images.githubusercontent.com/18380374/219877762-f69482b8-abf9-4333-978e-6a3f52039a16.png)

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoMake CI use a dummy password hasher for all tests (#22983)
zeripath [Mon, 20 Feb 2023 05:20:30 +0000 (05:20 +0000)]
Make CI use a dummy password hasher for all tests (#22983)

During the recent hash algorithm change it became clear that the choice
of password hash algorithm plays a role in the time taken for CI to run.

Therefore as attempt to improve CI we should consider using a dummy
hashing algorithm instead of a real hashing algorithm.

This PR creates a dummy algorithm which is then set as the default
hashing algorithm during tests that use the fixtures. This hopefully
will cause a reduction in the time it takes for CI to run.

---------

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoUse beforeCommit instead of baseCommit (#22949)
Kyle D [Mon, 20 Feb 2023 03:56:07 +0000 (20:56 -0700)]
Use beforeCommit instead of baseCommit (#22949)

Replaces: https://github.com/go-gitea/gitea/pull/22947
Fixes https://github.com/go-gitea/gitea/issues/22946
Probably related to https://github.com/go-gitea/gitea/issues/19530

Basically, many of the diffs were broken because they were comparing to
the base commit, where a 3-dot diff should be comparing to the [last
common
ancestor](https://matthew-brett.github.io/pydagogue/git_diff_dots.html).

This should have an integration test so that we don’t run into this
issue again.

---------

Co-authored-by: Jonathan Tran <jonnytran@gmail.com>
19 months agoAdd comment marking the end of database migrations in `1.19.0` (#22975)
Yarden Shoham [Mon, 20 Feb 2023 02:30:36 +0000 (04:30 +0200)]
Add comment marking the end of database migrations in `1.19.0` (#22975)

There will be no more migrations in `1.19.0`

---------

Signed-off-by: Yarden Shoham <hrsi88@gmail.com>
19 months agoFix broken pull request files (#22962)
Lunny Xiao [Mon, 20 Feb 2023 01:57:16 +0000 (09:57 +0800)]
Fix broken pull request files (#22962)

Fix #22961

19 months agoFix avatar misalignment (#22955)
Zettat123 [Sun, 19 Feb 2023 23:07:46 +0000 (07:07 +0800)]
Fix avatar misalignment (#22955)

Fix #22818.

|  Before   | After  |
|  ----  | ----  |
| <img
src="https://user-images.githubusercontent.com/15528715/219617504-d86e7a90-d4ac-4a92-bd8a-100dddc693d5.png"
width="200px" /> | <img
src="https://user-images.githubusercontent.com/15528715/219618645-a4045f65-bda6-49ce-a676-f03a9817bb70.png"
width="200px" />|
| <img
src="https://user-images.githubusercontent.com/15528715/219618013-844ef208-853b-44bd-a67c-36e360f0ffa7.png"
width="200px" /> | <img
src="https://user-images.githubusercontent.com/15528715/219618361-cb13c369-852e-47bf-ae30-e429d348823d.png"
width="200px" /> |

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoRefactor the setting to make unit test easier (#22405)
Lunny Xiao [Sun, 19 Feb 2023 16:12:01 +0000 (00:12 +0800)]
Refactor the setting to make unit test easier (#22405)

Some bugs caused by less unit tests in fundamental packages. This PR
refactor `setting` package so that create a unit test will be easier
than before.

- All `LoadFromXXX` files has been splited as two functions, one is
`InitProviderFromXXX` and `LoadCommonSettings`. The first functions will
only include the code to create or new a ini file. The second function
will load common settings.
- It also renames all functions in setting from `newXXXService` to
`loadXXXSetting` or `loadXXXFrom` to make the function name less
confusing.
- Move `XORMLog` to `SQLLog` because it's a better name for that.

Maybe we should finally move these `loadXXXSetting` into the `XXXInit`
function? Any idea?

---------

Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: delvh <dev.lh@web.de>
19 months agoMigration v244.go should be v243.go (#22988)
zeripath [Sun, 19 Feb 2023 14:24:23 +0000 (14:24 +0000)]
Migration v244.go should be v243.go (#22988)

19 months agoAdjust manifest to prevent tagging latest on rcs (#22811)
zeripath [Sun, 19 Feb 2023 14:24:08 +0000 (14:24 +0000)]
Adjust manifest to prevent tagging latest on rcs (#22811)

19 months agoAdd some guidelines for refactoring (#22880)
wxiaoguang [Sun, 19 Feb 2023 13:25:23 +0000 (21:25 +0800)]
Add some guidelines for refactoring (#22880)

Just some brief ideas.

Feel free to complete these guidelines, feel free to edit on this PR
directly.

19 months agoRename `GetUnits` to `LoadUnits` (#22970)
yp05327 [Sun, 19 Feb 2023 08:31:39 +0000 (17:31 +0900)]
Rename `GetUnits` to `LoadUnits` (#22970)

Same as https://github.com/go-gitea/gitea/pull/22967

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoProvide the ability to set password hash algorithm parameters (#22942)
zeripath [Sun, 19 Feb 2023 07:35:20 +0000 (07:35 +0000)]
Provide the ability to set password hash algorithm parameters (#22942)

This PR refactors and improves the password hashing code within gitea
and makes it possible for server administrators to set the password
hashing parameters

In addition it takes the opportunity to adjust the settings for `pbkdf2`
in order to make the hashing a little stronger.

The majority of this work was inspired by PR #14751 and I would like to
thank @boppy for their work on this.

Thanks to @gusted for the suggestion to adjust the `pbkdf2` hashing
parameters.

Close #14751

---------

Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: John Olheiser <john.olheiser@gmail.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoFix no user listed in org teams page (#22979)
yp05327 [Sun, 19 Feb 2023 04:57:49 +0000 (13:57 +0900)]
Fix no user listed in org teams page (#22979)

https://github.com/go-gitea/gitea/pull/22294 introduced this bug.
Before:

![picture](https://user-images.githubusercontent.com/18380374/219916000-5b28db1a-22b5-481a-807b-49c14ac1cd35.png)
After:

![picture](https://user-images.githubusercontent.com/18380374/219916260-6b94efbb-836a-4551-b6a8-3f9cb37d822a.png)

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoRefactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline...
wxiaoguang [Sun, 19 Feb 2023 04:06:14 +0000 (12:06 +0800)]
Refactor hiding-methods, remove jQuery show/hide, remove `.hide` class, remove inline style=display:none (#22950)

Close #22847

This PR:

* introduce Gitea's own `showElem` and related functions
* remove jQuery show/hide
* remove .hide class
* remove inline style=display:none

From now on:

do not use:
* "[hidden]" attribute: it's too weak, can not be applied to an element
with "display: flex"
* ".hidden" class: it has been polluted by Fomantic UI in many cases
* inline style="display: none": it's difficult to tweak
* jQuery's show/hide/toggle: it can not show/hide elements with
"display: xxx !important"

only use:
* this ".gt-hidden" class
* showElem/hideElem/toggleElem functions in "utils/dom.js"

cc: @silverwind , this is the all-in-one PR

19 months agoScoped labels (#22585)
Brecht Van Lommel [Sat, 18 Feb 2023 19:17:39 +0000 (20:17 +0100)]
Scoped labels (#22585)

Add a new "exclusive" option per label. This makes it so that when the
label is named `scope/name`, no other label with the same `scope/`
prefix can be set on an issue.

The scope is determined by the last occurence of `/`, so for example
`scope/alpha/name` and `scope/beta/name` are considered to be in
different scopes and can coexist.

Exclusive scopes are not enforced by any database rules, however they
are enforced when editing labels at the models level, automatically
removing any existing labels in the same scope when either attaching a
new label or replacing all labels.

In menus use a circle instead of checkbox to indicate they function as
radio buttons per scope. Issue filtering by label ensures that only a
single scoped label is selected at a time. Clicking with alt key can be
used to remove a scoped label, both when editing individual issues and
batch editing.

Label rendering refactor for consistency and code simplification:

* Labels now consistently have the same shape, emojis and tooltips
everywhere. This includes the label list and label assignment menus.
* In label list, show description below label same as label menus.
* Don't use exactly black/white text colors to look a bit nicer.
* Simplify text color computation. There is no point computing luminance
in linear color space, as this is a perceptual problem and sRGB is
closer to perceptually linear.
* Increase height of label assignment menus to show more labels. Showing
only 3-4 labels at a time leads to a lot of scrolling.
* Render all labels with a new RenderLabel template helper function.

Label creation and editing in multiline modal menu:

* Change label creation to open a modal menu like label editing.
* Change menu layout to place name, description and colors on separate
lines.
* Don't color cancel button red in label editing modal menu.
* Align text to the left in model menu for better readability and
consistent with settings layout elsewhere.

Custom exclusive scoped label rendering:

* Display scoped label prefix and suffix with slightly darker and
lighter background color respectively, and a slanted edge between them
similar to the `/` symbol.
* In menus exclusive labels are grouped with a divider line.

---------

Co-authored-by: Yarden Shoham <hrsi88@gmail.com>
Co-authored-by: Lauris BH <lauris@nix.lv>
19 months agoRename "People" to "Members" in organization page and use a better icon (#22960)
Yarden Shoham [Sat, 18 Feb 2023 13:41:31 +0000 (15:41 +0200)]
Rename "People" to "Members" in organization page and use a better icon (#22960)

`member` is how it's named in the code

Closes #22931

Before | After
--- | ---

![image](https://user-images.githubusercontent.com/20454870/219781155-69a8476e-0f04-4b70-bda5-ea6fa8ce676c.png)
|
![image](https://user-images.githubusercontent.com/20454870/219780887-61644c27-36a2-4e1f-8f98-be3911883b49.png)

---------

Signed-off-by: Yarden Shoham <hrsi88@gmail.com>
Co-authored-by: delvh <leon@kske.dev>
19 months agoRename `repo.GetOwner` to `repo.LoadOwner` (#22967)
yp05327 [Sat, 18 Feb 2023 12:11:03 +0000 (21:11 +0900)]
Rename `repo.GetOwner` to `repo.LoadOwner` (#22967)

Fixes https://github.com/go-gitea/gitea/issues/22963

---------

Co-authored-by: Yarden Shoham <hrsi88@gmail.com>
19 months agoNotify on container image create (#22806)
KN4CK3R [Sat, 18 Feb 2023 05:36:38 +0000 (06:36 +0100)]
Notify on container image create (#22806)

Fixes #22791

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agowebview: Fix overflowing diff body (#22959)
Ferdinand Thiessen [Sat, 18 Feb 2023 01:47:06 +0000 (02:47 +0100)]
webview: Fix overflowing diff body (#22959)

If the content is quite large the diff body overflows the container and
can not be read.
This is fixed by setting the diff body maximum width to 100% and enable
overflow scrollbars:

before | after
---|---

![Screenshot_20230217_184716](https://user-images.githubusercontent.com/1855448/219733934-75bec38c-7cfe-47bb-b001-b090c02b769e.png)
|
![Screenshot_20230217_184655](https://user-images.githubusercontent.com/1855448/219733971-4db092d1-ffcb-4298-a640-f740a3ac430b.png)

Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
19 months agoIntroduce customized HTML elements, fix incorrect AppUrl usages in templates (#22861)
wxiaoguang [Fri, 17 Feb 2023 14:02:20 +0000 (22:02 +0800)]
Introduce customized HTML elements, fix incorrect AppUrl usages in templates (#22861)

This PR follows:
* #21986
* #22831

This PR also introduce customized HTML elements, which would also help
problems like:
* #17760
* #21429
* #21440

With customized HTML elements, there won't be any load-search-replace
operations, and it can avoid page flicking (which @silverwind cares a
lot).

Browser support:
https://developer.mozilla.org/en-US/docs/Web/API/Window/customElements

# FAQ

## Why the component has the prefix?

As usual, I would strongly suggest to add prefixes for our own/private
names. The dedicated prefix will avoid conflicts in the future, and it
makes it easier to introduce various 3rd components, like GitHub's
`relative-time` component. If there is no prefix, it's impossible to
introduce another public component with the same name in the future.

## Why the `custcomp.js` is loaded before HTML body? The `index.js` is
after HTML body.

Customized components must be registered before the content loading.
Otherwise there would be still some flicking.

`custcomp.js` should have its own dependencies and should be very light,
so it won't affect the page loading time too much.

## Why use `data-url` attribute but not use the `textContent`?

According to the standard, the `connectedCallback` occurs on the
tag-opening moment. The element's children are not ready yet.

## Why not use `{{.GuessCurrentOrigin $.ctx ...}}` to let backend decide
the absolute URL?

It's difficult for backend to guess the correct protocol(scheme)
correctly with zero configuration. Generating the absolute URL from
frontend can guarantee that the URL is 100% correct -- since the user is
visiting it.

# Screenshot

<details>

![image](https://user-images.githubusercontent.com/2114189/218256757-a267c8ba-3108-4755-9ae5-329f1b08f615.png)

</details>

19 months agoSort issues and pulls by recently updated in user and organization home (#22925)
Brecht Van Lommel [Fri, 17 Feb 2023 07:13:35 +0000 (08:13 +0100)]
Sort issues and pulls by recently updated in user and organization home (#22925)

The main purpose of these home pages should be getting an overview of
what's going on or needs attention. Recently updated is a better default
than newest for that purpose, to avoid missing active issues and pulls
that were not created recently.

The default sorting order in repository issues and pulls remains newest.
Repositories in an organization are already sorted by recently updated.

---------

Co-authored-by: Jason Song <i@wolfogre.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
19 months agoFix 404 error viewing the LFS file (#22945)
Zettat123 [Fri, 17 Feb 2023 03:55:33 +0000 (11:55 +0800)]
Fix 404 error viewing the LFS file (#22945)

Fix #22734.

According to
[`view_file.tmpl`](https://github.com/go-gitea/gitea/blob/main/templates/repo/view_file.tmpl#L82),
`lfs_file.tmpl` should use `AssetUrlPrefix` instead of `AppSubUrl`.

Co-authored-by: Jason Song <i@wolfogre.com>
20 months agoAlways go full width in PR view (#22844)
gempir [Thu, 16 Feb 2023 19:25:00 +0000 (20:25 +0100)]
Always go full width in PR view (#22844)

This is an alternative solution to #22824
and would also close #22781

This makes the PR diff view always full width.
It makes sense to make use of that screen real estate. If you want a
more narrow view you can always resize your browser.
It also avoids cluttering the UI with another button + the database with
another column for the setting.

This is also how github and gitlab do it.

20 months agoIncrease Content field size of gpg_key_import to MEDIUMTEXT (#22897)
zeripath [Thu, 16 Feb 2023 18:08:40 +0000 (18:08 +0000)]
Increase Content field size of gpg_key_import to MEDIUMTEXT (#22897)

Unfortunately #20896 does not completely prevent Data too long issues
and GPGKeyImport needs to be increased too.

Fix #22896

Signed-off-by: Andrew Thornton <art27@cantab.net>
20 months agoFix context bug (#22940)
Lunny Xiao [Thu, 16 Feb 2023 17:20:53 +0000 (01:20 +0800)]
Fix context bug (#22940)

Fix https://try.gitea.io/wxiaoguang/test/issues/19

20 months agoAllow custom "created" timestamps in user creation API (#22549)
Sybren [Thu, 16 Feb 2023 16:32:01 +0000 (17:32 +0100)]
Allow custom "created" timestamps in user creation API (#22549)

Allow back-dating user creation via the `adminCreateUser` API operation.
`CreateUserOption` now has an optional field `created_at`, which can
contain a datetime-formatted string. If this field is present, the
user's `created_unix` database field will be updated to its value.

This is important for Blender's migration of users from Phabricator to
Gitea. There are many users, and the creation timestamp of their account
can give us some indication as to how long someone's been part of the
community.

The back-dating is done in a separate query that just updates the user's
`created_unix` field. This was the easiest and cleanest way I could
find, as in the initial `INSERT` query the field always is set to "now".

20 months agoUse "Title Case" for text "Reference in new issue" (#22936)
Dalai Felinto [Thu, 16 Feb 2023 15:06:07 +0000 (16:06 +0100)]
Use "Title Case" for text "Reference in new issue" (#22936)

The "Reference in new issue" option shows up in a menu when looking at
pull requests. All the other options there follow the "Title case":

* Copy Link
* Quote Reply
* Edit

This patch makes sure this option also follow the Title case.

Screenshot of how it looks without this patch:

![image](https://user-images.githubusercontent.com/843498/219346003-728d07c1-d150-41a5-b084-faef118228b1.png)

Co-authored-by: Dalai Felinto <dalai@blender.org>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
20 months agoFirst step to refactor the `.hide` to `.gt-hidden` (#22916)
wxiaoguang [Thu, 16 Feb 2023 12:07:21 +0000 (20:07 +0800)]
First step to refactor the `.hide` to `.gt-hidden` (#22916)

A separate PR from #22884 (without touching the jQuery methods)

20 months agoAdd continue option to backport.go (#22930)
zeripath [Thu, 16 Feb 2023 09:48:08 +0000 (09:48 +0000)]
Add continue option to backport.go (#22930)

Sometimes it can be helpful to continue from a broken cherry-pick. This
PR adds another option which can be used to determine the version and pr
number from the current branch name instead of reading the config.yaml
file.

---------

Signed-off-by: Andrew Thornton <art27@cantab.net>
20 months agoAdd `title` to PR file tree items (#22918)
delvh [Thu, 16 Feb 2023 05:57:25 +0000 (06:57 +0100)]
Add `title` to PR file tree items (#22918)

Previously, a file/directory name was simply cut when it was too long.
Now, we display the browser-native tooltip (`title`) instead, so you can
still see it when hovering over it.
In this case, we don't use the normal `tippy` tooltips for three
reasons:
1. Vue components are not included in the global tooltip initialization
2. Vue components would need to initialize their tooltips themselves
whenever their content is changed
3. The tooltips are shown too long under the default configuration (the
tooltip one element above is still shown when hovering on the element
below)

Fixes #22915

## Appearance

![image](https://user-images.githubusercontent.com/51889757/219049642-43668a38-0e86-42bf-a1d0-3742c4dc7fd9.png)

## Room for future improvement

We could think about displaying the whole file path in the title, not
just its name.
This is not done at the moment:

![image](https://user-images.githubusercontent.com/51889757/219050689-1e6e3d57-f2bf-48be-8553-415e744a6e10.png)

---------

Co-authored-by: techknowlogick <techknowlogick@gitea.io>
20 months agoFix shabox regression (#22924)
Gusted [Thu, 16 Feb 2023 01:37:11 +0000 (02:37 +0100)]
Fix shabox regression (#22924)

- Regression from https://github.com/go-gitea/gitea/pull/22294

Error:

![image](https://user-images.githubusercontent.com/25481501/219115669-52b98fdb-bcbb-430d-a205-beb305c37e85.png)

20 months agofix incorrect role labels for migrated issues and comments (#22914)
Zettat123 [Wed, 15 Feb 2023 17:29:13 +0000 (01:29 +0800)]
fix incorrect role labels for migrated issues and comments (#22914)

Fix #22797.

## Reason
If a comment was migrated from other platforms, this comment may have an
original author and its poster is always not the original author. When
the `roleDescriptor` func get the poster's role descriptor for a
comment, it does not check if the comment has an original author. So the
migrated comments' original authors might be marked as incorrect roles.

---------

Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
20 months agoAlways show the `command line instructions` button even if there are conflicts (...
wxiaoguang [Wed, 15 Feb 2023 15:31:35 +0000 (23:31 +0800)]
Always show the `command line instructions` button even if there are conflicts (#22909)

Always show the `command line instructions` button even if there are
conflicts.

20 months agoRemove thehowl from maintainers (#22917)
Morgan [Wed, 15 Feb 2023 14:35:46 +0000 (15:35 +0100)]
Remove thehowl from maintainers (#22917)

20 months agoAdd context cache as a request level cache (#22294)
Lunny Xiao [Wed, 15 Feb 2023 13:37:34 +0000 (21:37 +0800)]
Add context cache as a request level cache (#22294)

To avoid duplicated load of the same data in an HTTP request, we can set
a context cache to do that. i.e. Some pages may load a user from a
database with the same id in different areas on the same page. But the
code is hidden in two different deep logic. How should we share the
user? As a result of this PR, now if both entry functions accept
`context.Context` as the first parameter and we just need to refactor
`GetUserByID` to reuse the user from the context cache. Then it will not
be loaded twice on an HTTP request.

But of course, sometimes we would like to reload an object from the
database, that's why `RemoveContextData` is also exposed.

The core context cache is here. It defines a new context
```go
type cacheContext struct {
ctx  context.Context
data map[any]map[any]any
        lock sync.RWMutex
}

var cacheContextKey = struct{}{}

func WithCacheContext(ctx context.Context) context.Context {
return context.WithValue(ctx, cacheContextKey, &cacheContext{
ctx:  ctx,
data: make(map[any]map[any]any),
})
}
```

Then you can use the below 4 methods to read/write/del the data within
the same context.

```go
func GetContextData(ctx context.Context, tp, key any) any
func SetContextData(ctx context.Context, tp, key, value any)
func RemoveContextData(ctx context.Context, tp, key any)
func GetWithContextCache[T any](ctx context.Context, cacheGroupKey string, cacheTargetID any, f func() (T, error)) (T, error)
```

Then let's take a look at how `system.GetString` implement it.

```go
func GetSetting(ctx context.Context, key string) (string, error) {
return cache.GetWithContextCache(ctx, contextCacheKey, key, func() (string, error) {
return cache.GetString(genSettingCacheKey(key), func() (string, error) {
res, err := GetSettingNoCache(ctx, key)
if err != nil {
return "", err
}
return res.SettingValue, nil
})
})
}
```

First, it will check if context data include the setting object with the
key. If not, it will query from the global cache which may be memory or
a Redis cache. If not, it will get the object from the database. In the
end, if the object gets from the global cache or database, it will be
set into the context cache.

An object stored in the context cache will only be destroyed after the
context disappeared.

20 months agoAdd tooltip to issue reference (#22913)
delvh [Wed, 15 Feb 2023 11:34:10 +0000 (12:34 +0100)]
Add tooltip to issue reference (#22913)

Previously, you had no idea what you are copying with the issue
reference button for either long repo names, user names, or issue
indexes.
Now, it is simply a bit redundant for short references but a lot easier
for long references.

## Before

![image](https://user-images.githubusercontent.com/51889757/218995943-3b609ee9-4138-49ce-99b1-73fb1ea80280.png)

## After

![image](https://user-images.githubusercontent.com/51889757/218996119-4b6bf6c1-abfa-4618-81ca-a72914e73eb8.png)

20 months agoAdd command to bulk set must-change-password (#22823)
zeripath [Tue, 14 Feb 2023 22:12:19 +0000 (22:12 +0000)]
Add command to bulk set must-change-password (#22823)

As part of administration sometimes it is appropriate to forcibly tell
users to update their passwords.

This PR creates a new command `gitea admin user must-change-password`
which will set the `MustChangePassword` flag on the provided users.

Signed-off-by: Andrew Thornton <art27@cantab.net>
20 months agoRemember to attach the parent tree when converting TreeEntry() -> Tree() (#22902)
Nick [Tue, 14 Feb 2023 21:23:04 +0000 (16:23 -0500)]
Remember to attach the parent tree when converting TreeEntry() -> Tree() (#22902)

!fixup https://github.com/go-gitea/gitea/pull/22177

The only place this function is used so far is in
findReadmeFileInEntries(), so the only visible effect of this oversight
was in an obscure README-related corner: if the README was in a
subfolder and was a symlink that pointed up, as in .github/README.md ->
../docs/old/setup.md, the README would fail to render when FollowLinks()
hit the nil ptree. This makes the ptree non-nil and thus repairs it.