]> source.dussan.org Git - gitea.git/log
gitea.git
2 weeks agoAdd new index for action to resolve the performance problem (#32333)
Lunny Xiao [Wed, 6 Nov 2024 22:04:48 +0000 (14:04 -0800)]
Add new index for action to resolve the performance problem (#32333)

Fix #32224

2 weeks agoInclude file extension checks in attachment API (#32151)
Kemal Zebari [Wed, 6 Nov 2024 21:34:32 +0000 (13:34 -0800)]
Include file extension checks in attachment API (#32151)

From testing, I found that issue posters and users with repository write
access are able to edit attachment names in a way that circumvents the
instance-level file extension restrictions using the edit attachment
APIs. This snapshot adds checks for these endpoints.

2 weeks agoUpdated tokenizer to better matching when search for code snippets (#32261)
Bruno Sofiato [Wed, 6 Nov 2024 20:51:20 +0000 (17:51 -0300)]
Updated tokenizer to better matching when search for code snippets (#32261)

This PR improves the accuracy of Gitea's code search.

Currently, Gitea does not consider statements such as
`onsole.log("hello")` as hits when the user searches for `log`. The
culprit is how both ES and Bleve are tokenizing the file contents (in
both cases, `console.log` is a whole token).

In ES' case, we changed the tokenizer to
[simple_pattern_split](https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-simplepatternsplit-tokenizer.html#:~:text=The%20simple_pattern_split%20tokenizer%20uses%20a,the%20tokenization%20is%20generally%20faster.).
In such a case, tokens are words formed by digits and letters. In
Bleve's case, it employs a
[letter](https://blevesearch.com/docs/Tokenizers/) tokenizer.

Resolves #32220

---------

Signed-off-by: Bruno Sofiato <bruno.sofiato@gmail.com>
2 weeks agoCorrectly query the primary button in a form (#32438)
wxiaoguang [Wed, 6 Nov 2024 20:21:53 +0000 (04:21 +0800)]
Correctly query the primary button in a form (#32438)

The "primary button" is used at many places, but sometimes they might
conflict (due to button switch, hidden panel, dropdown menu, etc).

Sometimes we could add a special CSS class for the buttons, but
sometimes not (see the comment of QuickSubmit)

This PR introduces `querySingleVisibleElem` to help to get the correct
primary button (the only visible one), and prevent from querying the
wrong buttons.

Fix #32437

---------

Co-authored-by: silverwind <me@silverwind.io>
2 weeks agoUse 8 as default value for git lfs concurrency (#32421)
wxiaoguang [Tue, 5 Nov 2024 13:10:57 +0000 (21:10 +0800)]
Use 8 as default value for git lfs concurrency (#32421)

2 weeks agoFix milestone deadline and date related problems (#32339)
Lunny Xiao [Tue, 5 Nov 2024 07:46:40 +0000 (23:46 -0800)]
Fix milestone deadline and date related problems (#32339)

Use zero instead of 9999-12-31 for deadline
Fix #32291

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2 weeks agoOnly query team tables if repository is under org when getting assignees (#32414)
Lunny Xiao [Tue, 5 Nov 2024 07:13:52 +0000 (23:13 -0800)]
Only query team tables if repository is under org when getting assignees (#32414)

It's unnecessary to query the team table if the repository is not under
organization when getting assignees.

2 weeks agoRefactor RepoRefByType (#32413)
wxiaoguang [Tue, 5 Nov 2024 06:35:54 +0000 (14:35 +0800)]
Refactor RepoRefByType (#32413)

1. clarify the "filepath" could(should) contain "{ref}"
2. remove unclear RepoRefLegacy and RepoRefAny, use RepoRefUnknown to guess
3. by the way, avoid using AppURL

2 weeks agoRefactor template ctx and render utils (#32422)
wxiaoguang [Tue, 5 Nov 2024 06:04:26 +0000 (14:04 +0800)]
Refactor template ctx and render utils (#32422)

Clean up the templates

2 weeks agoRefactor DateUtils and merge TimeSince (#32409)
wxiaoguang [Mon, 4 Nov 2024 11:30:00 +0000 (19:30 +0800)]
Refactor DateUtils and merge TimeSince (#32409)

Follow #32383 and #32402

2 weeks agoRefactor markup package (#32399)
wxiaoguang [Mon, 4 Nov 2024 10:59:50 +0000 (18:59 +0800)]
Refactor markup package (#32399)

To make the markup package easier to maintain:
1. Split some go files into small files
2. Use a shared util.NopCloser, remove duplicate code
3. Remove unused functions

2 weeks agoAdd some handy markdown editor features (#32400)
wxiaoguang [Mon, 4 Nov 2024 10:14:36 +0000 (18:14 +0800)]
Add some handy markdown editor features (#32400)

There were some missing features from EasyMDE:

1. H1 - H3 style
2. Auto add task list
3. Insert a table

And added some tests

2 weeks agoMake LFS http_client parallel within a batch. (#32369)
Royce Remer [Mon, 4 Nov 2024 04:49:08 +0000 (20:49 -0800)]
Make LFS http_client parallel within a batch. (#32369)

Signed-off-by: Royce Remer <royceremer@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2 weeks agoRefactor repo legacy (#32404)
wxiaoguang [Sun, 3 Nov 2024 11:00:12 +0000 (19:00 +0800)]
Refactor repo legacy (#32404)

Only move code, no unnecessary logic change. (There are many problems in
old code, but changing them is not in this PR's scope)

Co-authored-by: Giteabot <teabot@gitea.io>
2 weeks agoReplace DateTime with proper functions (#32402)
wxiaoguang [Sat, 2 Nov 2024 21:04:53 +0000 (05:04 +0800)]
Replace DateTime with proper functions (#32402)

Follow #32383

This PR cleans up the "Deadline" usages in templates, make them call
`ParseLegacy` first to get a `Time` struct then display by `DateUtils`.

Now it should be pretty clear how "deadline string" works, it makes it
possible to do further refactoring and correcting.

2 weeks agoFix git error handling (#32401)
wxiaoguang [Sat, 2 Nov 2024 11:20:22 +0000 (19:20 +0800)]
Fix git error handling (#32401)

2 weeks agoFix created_unix for mirroring (#32342)
Lunny Xiao [Sat, 2 Nov 2024 06:11:38 +0000 (23:11 -0700)]
Fix created_unix for mirroring (#32342)

Fix #32233

2 weeks agoReplace DateTime with DateUtils (#32383)
wxiaoguang [Sat, 2 Nov 2024 04:08:28 +0000 (12:08 +0800)]
Replace DateTime with DateUtils (#32383)

2 weeks agoimprove performance of diffs (#32393)
Rowan Bohde [Sat, 2 Nov 2024 03:29:37 +0000 (22:29 -0500)]
improve performance of diffs (#32393)

This has two major changes that significantly reduce the amount of work
done for large diffs:

* Kill a running git process when reaching the maximum number of files
in a diff, preventing it from processing the entire diff.
* When loading a diff with the URL param `file-only=true`, skip loading
stats. This speeds up loading both hidden files of a diff and sections
of a diff when clicking the "Show More" button.

A couple of minor things from profiling are also included:

* Reuse existing repo in `PrepareViewPullInfo` if head and base are the
same.

The performance impact is going to depend heavily on the individual diff
and the hardware it runs on, but when testing locally on a diff changing
100k+ lines over hundreds of files, I'm seeing a roughly 75% reduction
in time to load the result of "Show More"

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2 weeks agoRefactor tests to prevent from unnecessary preparations (#32398)
wxiaoguang [Fri, 1 Nov 2024 15:18:29 +0000 (23:18 +0800)]
Refactor tests to prevent from unnecessary preparations (#32398)

2 weeks agoAdd artifacts test fixture (#30300)
Kyle D. [Fri, 1 Nov 2024 02:29:54 +0000 (22:29 -0400)]
Add artifacts test fixture (#30300)

Closes https://github.com/go-gitea/gitea/issues/30296

- Adds a DB fixture for actions artifacts
- Adds artifacts test files
- Clears artifacts test files between each run
- Note: I initially initialized the artifacts only for artifacts tests,
but because the files are small it only takes ~8ms, so I changed it to
always run in test setup for simplicity
- Fix some otherwise flaky tests by making them not depend on previous
tests

2 weeks agoFix `missing signature key` error when pulling Docker images with `SERVE_DIRECT`...
Zettat123 [Thu, 31 Oct 2024 15:28:25 +0000 (23:28 +0800)]
Fix `missing signature key` error when pulling Docker images with `SERVE_DIRECT` enabled (#32365)

Fix #28121

I did some tests and found that the `missing signature key` error is
caused by an incorrect `Content-Type` header. Gitea correctly sets the
`Content-Type` header when serving files.

https://github.com/go-gitea/gitea/blob/348d1d0f322ca57c459acd902f54821d687ca804/routers/api/packages/container/container.go#L712-L717
However, when `SERVE_DIRECT` is enabled, the `Content-Type` header may
be set to an incorrect value by the storage service. To fix this issue,
we can use query parameters to override response header values.

https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
<img width="600px"
src="https://github.com/user-attachments/assets/f2ff90f0-f1df-46f9-9680-b8120222c555"
/>

In this PR, I introduced a new parameter to the `URL` method to support
additional parameters.

```
URL(path, name string, reqParams url.Values) (*url.URL, error)
```

---

Most S3-like services support specifying the content type when storing
objects. However, Gitea always use `application/octet-stream`.
Therefore, I believe we also need to improve the `Save` method to
support storing objects with the correct content type.

https://github.com/go-gitea/gitea/blob/b7fb20e73e63b8edc9b90c52073e248bef428fcc/modules/storage/minio.go#L214-L221

2 weeks agoFix a number of typescript issues (#32308)
silverwind [Thu, 31 Oct 2024 14:57:40 +0000 (15:57 +0100)]
Fix a number of typescript issues (#32308)

- Prefer
[window.location.assign](https://developer.mozilla.org/en-US/docs/Web/API/Location/assign)
over assigning to
[window.location](https://developer.mozilla.org/en-US/docs/Web/API/Window/location)
which typescript does not like. This works in all browsers including
PaleMoon.
- Fix all typescript issues in `web_src/js/webcomponents`, no behaviour
changes.
- ~~Workaround bug in `@typescript-eslint/no-unnecessary-type-assertion`
rule.~~
- Omit vendored file from type checks.
- `tsc` error count is reduce by 53 with these changes.

3 weeks agoUpdate go dependencies (#32389)
wxiaoguang [Thu, 31 Oct 2024 12:05:54 +0000 (20:05 +0800)]
Update go dependencies (#32389)

3 weeks agoUpdate JS and PY dependencies (#32388)
silverwind [Thu, 31 Oct 2024 04:19:15 +0000 (05:19 +0100)]
Update JS and PY dependencies (#32388)

- Update all JS dependencies excluding stylelint (because of
https://github.com/AndyOGo/stylelint-declaration-strict-value/issues/379).
- Update all PY dependencies.
- Replace `eslint-plugin-deprecation` with
`@typescript-eslint/no-deprecated` rule.
- Enabled `unicorn/prefer-math-min-max` and autofixed issues.
- Tested all dependencies.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
3 weeks agoFix suggestions for issues (#32380)
wxiaoguang [Wed, 30 Oct 2024 20:06:36 +0000 (04:06 +0800)]
Fix suggestions for issues (#32380)

3 weeks agorefactor: remove redundant err declarations (#32381)
Oleksandr Redko [Wed, 30 Oct 2024 19:36:24 +0000 (21:36 +0200)]
refactor: remove redundant err declarations (#32381)

3 weeks agoFix the missing menu in organization project view page (#32313)
yp05327 [Wed, 30 Oct 2024 19:05:40 +0000 (04:05 +0900)]
Fix the missing menu in organization project view page (#32313)

#29248 didn't modify the view page.
The class name is not good enough, so this is a quick fix.

Before:
org:

![image](https://github.com/user-attachments/assets/3e26502d-66b4-4043-ab03-003ba7391487)
user:

![image](https://github.com/user-attachments/assets/9b22b90c-d63c-4228-acad-4d9fb20590ac)

After:
org:

![image](https://github.com/user-attachments/assets/21bf98a7-8a5b-4dc6-950a-88f529e36450)
user: (no change)

![image](https://github.com/user-attachments/assets/fea0dcae-3625-44e8-bb9e-4c3733da8764)

Co-authored-by: Giteabot <teabot@gitea.io>
3 weeks agoFix toAbsoluteLocaleDate and add more tests (#32387)
wxiaoguang [Wed, 30 Oct 2024 18:36:02 +0000 (02:36 +0800)]
Fix toAbsoluteLocaleDate and add more tests (#32387)

3 weeks agoRespect UI.ExploreDefaultSort setting again (#32357)
6543 [Wed, 30 Oct 2024 12:33:25 +0000 (13:33 +0100)]
Respect UI.ExploreDefaultSort setting again (#32357)

fix regression of https://github.com/go-gitea/gitea/pull/29430

---
*Sponsored by Kithara Software GmbH*

3 weeks agoFix absolute-date (#32375)
wxiaoguang [Wed, 30 Oct 2024 09:50:19 +0000 (17:50 +0800)]
Fix absolute-date (#32375)

3 weeks agoFix undefined errors on Activity page (#32378)
cloudchamb3r [Wed, 30 Oct 2024 06:48:13 +0000 (15:48 +0900)]
Fix undefined errors on Activity page (#32378)

close #32377

Co-authored-by: Giteabot <teabot@gitea.io>
3 weeks agoAdd new [lfs_client].BATCH_SIZE and [server].LFS_MAX_BATCH_SIZE config settings....
Royce Remer [Wed, 30 Oct 2024 05:41:55 +0000 (22:41 -0700)]
Add new [lfs_client].BATCH_SIZE and [server].LFS_MAX_BATCH_SIZE config settings. (#32307)

This contains two backwards-compatible changes:
* in the lfs http_client, the number of lfs oids requested per batch is
loaded from lfs_client#BATCH_SIZE and defaulted to the previous value of
20
* in the lfs server/service, the max number of lfs oids allowed in a
batch api request is loaded from server#LFS_MAX_BATCH_SIZE and defaults
to 'nil' which equates to the previous behavior of 'infinite'

This fixes #32306

---------

Signed-off-by: Royce Remer <royceremer@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
3 weeks agoremove unused call to $.HeadRepo in view_title template (#32317)
Rowan Bohde [Wed, 30 Oct 2024 05:12:48 +0000 (00:12 -0500)]
remove unused call to $.HeadRepo in view_title template (#32317)

This is only populated in
[`ParseCompareInfo`](https://github.com/search?q=repo%3Ago-gitea%2Fgitea%20%20.Data%5B%22HeadRepo%22%5D&type=code)
which is called in two handlers:

*
[`CompareAndPullRequestPost`](https://github.com/go-gitea/gitea/blob/9206fbb55fd28f21720072fce6a36cc22277934c/routers/web/repo/pull.go#L1246)
- a JSON post handler that doesn't render templates
*
[`CompareDiff`](https://github.com/go-gitea/gitea/blob/9206fbb55fd28f21720072fce6a36cc22277934c/routers/web/repo/compare.go#L706)
- which can render `diff/box.tmpl` and `diff/compare.tmpl`

3 weeks agoFix clean tmp dir (#32360)
Lunny Xiao [Tue, 29 Oct 2024 16:27:03 +0000 (09:27 -0700)]
Fix clean tmp dir (#32360)

Try to fix #31792

Credit to @jeroenlaylo
Copied from
https://github.com/go-gitea/gitea/issues/31792#issuecomment-2311920520

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
3 weeks agoOptimize branch protection rule loading (#32280)
6543 [Tue, 29 Oct 2024 14:43:47 +0000 (15:43 +0100)]
Optimize branch protection rule loading (#32280)

before if it was nonglob each load would try to glob it and the check
that is not glob ... now we only do that once and no future loading will
trigger it

---
*Sponsored by Kithara Software GmbH*

3 weeks agoSuggestions for issues (#32327)
Anbraten [Tue, 29 Oct 2024 09:20:49 +0000 (10:20 +0100)]
Suggestions for issues (#32327)

closes #16872

3 weeks agoMigrate vue components to setup (#32329)
Anbraten [Mon, 28 Oct 2024 20:15:05 +0000 (21:15 +0100)]
Migrate vue components to setup (#32329)

Migrated a handful Vue components to the `setup` syntax using
composition api as it has better Typescript support and is becoming the
new default in the Vue ecosystem.

- [x] ActionRunStatus.vue
- [x] ActivityHeatmap.vue
- [x] ContextPopup.vue
- [x] DiffFileList.vue
- [x] DiffFileTree.vue
- [x] DiffFileTreeItem.vue
- [x] PullRequestMergeForm.vue
- [x] RepoActivityTopAuthors.vue
- [x] RepoCodeFrequency.vue
- [x] RepoRecentCommits.vue
- [x] ScopedAccessTokenSelector.vue

Left some larger components untouched for now to not go to crazy in this
single PR:
- [ ] DiffCommitSelector.vue
- [ ] RepoActionView.vue
- [ ] RepoContributors.vue
- [ ] DashboardRepoList.vue
- [ ] RepoBranchTagSelector.vue

3 weeks agoFix db engine (#32351)
wxiaoguang [Sun, 27 Oct 2024 22:48:07 +0000 (06:48 +0800)]
Fix db engine (#32351)

Fix #32349

3 weeks agoRefactor the DB migration system slightly (#32344)
wxiaoguang [Sun, 27 Oct 2024 11:54:35 +0000 (19:54 +0800)]
Refactor the DB migration system slightly (#32344)

Introduce "idNumber" for each migration, and clarify the difference
between the migration ID number and database version.

4 weeks agoFix broken image when editing comment with non-image attachments (#32319)
yp05327 [Wed, 23 Oct 2024 15:39:10 +0000 (00:39 +0900)]
Fix broken image when editing comment with non-image attachments (#32319)

Fix #32316

4 weeks agoFix disable 2fa bug (#32320)
Lunny Xiao [Wed, 23 Oct 2024 06:41:00 +0000 (14:41 +0800)]
Fix disable 2fa bug (#32320)

4 weeks agoUpgrade rollup to 4.24.0 (#32312)
Lunny Xiao [Wed, 23 Oct 2024 05:00:32 +0000 (13:00 +0800)]
Upgrade rollup to 4.24.0 (#32312)

4 weeks agoUpgrade vue to 3.5.12 (#32311)
Lunny Xiao [Wed, 23 Oct 2024 04:55:17 +0000 (12:55 +0800)]
Upgrade vue to 3.5.12 (#32311)

4 weeks agoMake admins adhere to branch protection rules (#32248)
Tim [Wed, 23 Oct 2024 04:39:43 +0000 (06:39 +0200)]
Make admins adhere to branch protection rules (#32248)

This introduces a new flag `BlockAdminMergeOverride` on the branch
protection rules that prevents admins/repo owners from bypassing branch
protection rules and merging without approvals or failing status checks.

Fixes #17131

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
4 weeks agoPrevent from submitting issue/comment on uploading (#32263)
박상철 [Wed, 23 Oct 2024 02:48:04 +0000 (11:48 +0900)]
Prevent from submitting issue/comment on uploading (#32263)

fix #32262

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
4 weeks agoAdd warn log when deleting inactive users (#32318)
Lunny Xiao [Wed, 23 Oct 2024 01:28:28 +0000 (09:28 +0800)]
Add warn log when deleting inactive users (#32318)

Add log for the problem #31480

4 weeks agoAdd `DISABLE_ORGANIZATIONS_PAGE` and `DISABLE_CODE_PAGE` settings for explore pages...
Zettat123 [Tue, 22 Oct 2024 05:09:19 +0000 (13:09 +0800)]
Add `DISABLE_ORGANIZATIONS_PAGE` and `DISABLE_CODE_PAGE` settings for explore pages and fix an issue related to user search (#32288)

These settings can allow users to only display the repositories explore page.

Thanks to yp05327 and wxiaoguang !

---------

Co-authored-by: Giteabot <teabot@gitea.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
4 weeks agochore: fix some function names in comment (#32300)
wangjingcun [Tue, 22 Oct 2024 00:41:05 +0000 (08:41 +0800)]
chore: fix some function names in comment (#32300)

fix some function names in comment

4 weeks agoAPI: enhance SearchIssues swagger docs (#32208)
6543 [Sat, 19 Oct 2024 20:11:56 +0000 (22:11 +0200)]
API: enhance SearchIssues swagger docs (#32208)

this will result in better api clients generated out of the openapi docs
... for SearchIssues

---
*Sponsored by Kithara Software GmbH*

4 weeks agoUpdate github.com/go-enry/go-enry to v2.9.1 (#32295)
YR Chen [Sat, 19 Oct 2024 12:51:55 +0000 (20:51 +0800)]
Update github.com/go-enry/go-enry to v2.9.1 (#32295)

`go-enry` v2.9.1 includes latest file patterns from Linguist, which can
identify more generated file type, eg. `pdm.lock`.

5 weeks agoAlways update expiration time when creating an artifact (#32281)
Zettat123 [Thu, 17 Oct 2024 09:05:38 +0000 (17:05 +0800)]
Always update expiration time when creating an artifact (#32281)

Fix #32256

5 weeks agoAdd `gh-access-token` flag into backport script (#32283)
cloudchamb3r [Thu, 17 Oct 2024 05:43:48 +0000 (14:43 +0900)]
Add `gh-access-token` flag into backport script (#32283)

The current backport script does not have github access token flag.
This patch will be useful when encountered rate limit issue.

5 weeks agoWarn users when they try to use a non-root-url to sign in/up (#32272)
wxiaoguang [Thu, 17 Oct 2024 02:28:51 +0000 (10:28 +0800)]
Warn users when they try to use a non-root-url to sign in/up (#32272)

5 weeks agoFix null errors on conversation holder (#32258) (#32266)
cloudchamb3r [Wed, 16 Oct 2024 12:39:47 +0000 (21:39 +0900)]
Fix null errors on conversation holder (#32258) (#32266)

fix #32258

Errors in the issue was due to unhandled null check. so i fixed it.

### Detailed description for Issue & Fix
To reproduce that issue, the comment must be deleted on Conversation
tab.
#### Before Delete
<img width="1032" alt="image"
src="https://github.com/user-attachments/assets/72df61ba-7db6-44c9-bebc-ca1178dd27f1">

#### After Delete (AS-IS)
<img width="1010" alt="image"
src="https://github.com/user-attachments/assets/36fa537e-4f8e-4535-8d02-e538c50f0dd8">

gitea already have remove logic for `timeline-item-group`, but because
of null ref exception the later logic that removes `timeline-item-group`
could be not be called correctly.

5 weeks agoSupport requested_reviewers data in comment webhook events (#26178)
谈笑风生间 [Wed, 16 Oct 2024 09:10:05 +0000 (17:10 +0800)]
Support requested_reviewers data in comment webhook events (#26178)

close #25833

Currently, the information for "requested_reviewers" is only included in
the webhook event for reviews. I would like to suggest adding this
information to the webhook event for "PullRequest comment" as well, as
they both pertain to the "PullRequest" event.

Also, The reviewer information for the Pull Request is not displayed
when it is approved or rejected.

5 weeks agoMake `owner/repo/pulls` handlers use "PR reader" permission (#32254)
wxiaoguang [Tue, 15 Oct 2024 06:47:07 +0000 (14:47 +0800)]
Make `owner/repo/pulls` handlers use "PR reader" permission (#32254)

Fix #32253 (partially)

5 weeks agomake `show stats` work when only one file changed (#32244)
a1012112796 [Mon, 14 Oct 2024 21:23:20 +0000 (05:23 +0800)]
make `show stats` work when only one file changed (#32244)

fix https://github.com/go-gitea/gitea/issues/32226

in https://github.com/go-gitea/gitea/pull/27775 , it do some changes to
only show diff file tree when more than one file changed. But looks it
also break the `diff-file-list` logic, which looks not expected change.
so try fix it.

/cc @silverwind

example view:

![image](https://github.com/user-attachments/assets/281e9c4f-a269-4d36-94eb-a132058aea87)

Signed-off-by: a1012112796 <1012112796@qq.com>
5 weeks agoUpdate scheduled tasks even if changes are pushed by "ActionsUser" (#32246)
Zettat123 [Sun, 13 Oct 2024 20:28:32 +0000 (04:28 +0800)]
Update scheduled tasks even if changes are pushed by "ActionsUser" (#32246)

Fix #32219

---------

Co-authored-by: delvh <dev.lh@web.de>
5 weeks agoSupport migrating GitHub/GitLab PR draft status (#32242)
Zettat123 [Sun, 13 Oct 2024 19:58:13 +0000 (03:58 +0800)]
Support migrating GitHub/GitLab PR draft status (#32242)

Resolve #32196

5 weeks agoOnly rename a user when they should receive a different name (#32247)
Lunny Xiao [Sun, 13 Oct 2024 03:13:55 +0000 (11:13 +0800)]
Only rename a user when they should receive a different name (#32247)

Fix #31996

5 weeks agoFix dropdown content overflow (#31610)
charles [Sun, 13 Oct 2024 02:43:43 +0000 (10:43 +0800)]
Fix dropdown content overflow (#31610)

close #31602

![圖片](https://github.com/go-gitea/gitea/assets/30816317/43722917-bc5e-4e06-b0de-db52552a20df)

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
5 weeks agoMake git push options accept short name (#32245)
wxiaoguang [Sat, 12 Oct 2024 05:42:10 +0000 (13:42 +0800)]
Make git push options accept short name (#32245)

Just like what most CLI parsers do: `--opt` means `opt=true`

Then users could use `-o force-push` as `-o force-push=true`

5 weeks agoAllow code search by filename (#32210)
Bruno Sofiato [Fri, 11 Oct 2024 23:35:04 +0000 (20:35 -0300)]
Allow code search by filename (#32210)

This is a large and complex PR, so let me explain in detail its changes.

First, I had to create new index mappings for Bleve and ElasticSerach as
the current ones do not support search by filename. This requires Gitea
to recreate the code search indexes (I do not know if this is a breaking
change, but I feel it deserves a heads-up).

I've used [this
approach](https://www.elastic.co/guide/en/elasticsearch/reference/7.17/analysis-pathhierarchy-tokenizer.html)
to model the filename index. It allows us to efficiently search for both
the full path and the name of a file. Bleve, however, does not support
this out-of-box, so I had to code a brand new [token
filter](https://blevesearch.com/docs/Token-Filters/) to generate the
search terms.

I also did an overhaul in the `indexer_test.go` file. It now asserts the
order of the expected results (this is important since matches based on
the name of a file are more relevant than those based on its content).
I've added new test scenarios that deal with searching by filename. They
use a new repo included in the Gitea fixture.

The screenshot below depicts how Gitea shows the search results. It
shows results based on content in the same way as the current version
does. In matches based on the filename, the first seven lines of the
file contents are shown (BTW, this is how GitHub does it).

![image](https://github.com/user-attachments/assets/9d938d86-1a8d-4f89-8644-1921a473e858)

Resolves #32096

---------

Signed-off-by: Bruno Sofiato <bruno.sofiato@gmail.com>
5 weeks agoAllow maintainers to view and edit files of private repos when "Allow maintainers...
Zettat123 [Fri, 11 Oct 2024 19:08:19 +0000 (03:08 +0800)]
Allow maintainers to view and edit files of private repos when "Allow maintainers to edit" is enabled (#32215)

Fix #31539

5 weeks agoUse per package global lock for container uploads instead of memory lock (#31860)
Lunny Xiao [Fri, 11 Oct 2024 07:37:49 +0000 (15:37 +0800)]
Use per package global lock for container uploads instead of memory lock (#31860)

This PR uses a per-package lock instead of a global lock for container
uploads. So that different packages can be uploaded simultaneously.

5 weeks agoFix checkbox bug on private/archive filter (#32236)
cloudchamb3r [Thu, 10 Oct 2024 17:12:27 +0000 (02:12 +0900)]
Fix checkbox bug on private/archive filter (#32236)

fix #32235

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
6 weeks agoImprove the maintainblity of the reserved username list (#32229)
wxiaoguang [Thu, 10 Oct 2024 09:04:42 +0000 (17:04 +0800)]
Improve the maintainblity of the reserved username list (#32229)

6 weeks agoMove admin routers from /admin to /-/admin (#32189)
Lunny Xiao [Thu, 10 Oct 2024 04:56:49 +0000 (12:56 +0800)]
Move admin routers from /admin to /-/admin (#32189)

Resolve #32181

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
6 weeks agoRefactor CSRF token (#32216)
wxiaoguang [Thu, 10 Oct 2024 03:48:21 +0000 (11:48 +0800)]
Refactor CSRF token (#32216)

6 weeks ago[skip ci] Updated translations via Crowdin
GiteaBot [Thu, 10 Oct 2024 00:30:33 +0000 (00:30 +0000)]
[skip ci] Updated translations via Crowdin

6 weeks agoFix incorrect "Target branch does not exist" in PR title (#32222)
Zettat123 [Thu, 10 Oct 2024 00:25:46 +0000 (08:25 +0800)]
Fix incorrect "Target branch does not exist" in PR title (#32222)

6 weeks agoupdate git book link to v2 (#32221)
Ehsan Shirvanian [Wed, 9 Oct 2024 05:04:34 +0000 (01:04 -0400)]
update git book link to v2 (#32221)

Fix the dead link `https://git-scm.com/book/en/Git-Basics-Getting-a-Git-Repository` for
empty repositories to help how to clone the repository
to `https://git-scm.com/book/en/v2/Git-Basics-Getting-a-Git-Repository`
which is v2 of the git book. This also updates download git links

6 weeks ago[skip ci] Updated translations via Crowdin
GiteaBot [Wed, 9 Oct 2024 00:31:01 +0000 (00:31 +0000)]
[skip ci] Updated translations via Crowdin

6 weeks agoAdd null check for responseData.invalidTopics (#32212)
cloudchamb3r [Tue, 8 Oct 2024 17:27:05 +0000 (02:27 +0900)]
Add null check for responseData.invalidTopics (#32212)

<img width="553" alt="Screenshot 2024-10-08 at 10 49 10 AM"
src="https://github.com/user-attachments/assets/faeef64d-684a-4aba-b7fc-c7c6a0301abe">

`responseData.invalidTopics` can be null but it wasn't handled.

6 weeks agoFix bug when a token is given public only (#32204)
Lunny Xiao [Tue, 8 Oct 2024 09:51:09 +0000 (17:51 +0800)]
Fix bug when a token is given public only (#32204)

6 weeks ago[skip ci] Updated translations via Crowdin
GiteaBot [Tue, 8 Oct 2024 00:30:42 +0000 (00:30 +0000)]
[skip ci] Updated translations via Crowdin

6 weeks agoAllow filtering PRs by poster in the ListPullRequests API (#32209)
6543 [Mon, 7 Oct 2024 21:21:07 +0000 (23:21 +0200)]
Allow filtering PRs by poster in the ListPullRequests API (#32209)

as title

---
*Sponsored by Kithara Software GmbH*

6 weeks agoFix bug when there are multiple triggers with workflow dispatch (#32200)
Lunny Xiao [Mon, 7 Oct 2024 03:50:38 +0000 (11:50 +0800)]
Fix bug when there are multiple triggers with workflow dispatch (#32200)

6 weeks ago[skip ci] Updated licenses and gitignores
GiteaBot [Mon, 7 Oct 2024 00:32:39 +0000 (00:32 +0000)]
[skip ci] Updated licenses and gitignores

6 weeks ago[skip ci] Updated translations via Crowdin
GiteaBot [Sun, 6 Oct 2024 00:34:29 +0000 (00:34 +0000)]
[skip ci] Updated translations via Crowdin

6 weeks agoUpgrade htmx to 2.0.3 (#32192)
Yarden Shoham [Sat, 5 Oct 2024 20:52:30 +0000 (23:52 +0300)]
Upgrade htmx to 2.0.3 (#32192)

Release notes:
https://github.com/bigskysoftware/htmx/releases/tag/v2.0.3

Tested `Star`, `Watch`, and the admin dashboard page. All functionality
remains unchanged.

Signed-off-by: Yarden Shoham <git@yardenshoham.com>
6 weeks agoEnhance USER_DISABLED_FEATURES to allow disabling change username or full name (...
Zisu Zhang [Sat, 5 Oct 2024 20:41:38 +0000 (04:41 +0800)]
Enhance USER_DISABLED_FEATURES to allow disabling change username or full name (#31959)

Fix #31958
Enhanced `USER_DISABLED_FEATURES`(also `EXTERNAL_USER_DISABLE_FEATURES`)
option in `[admin]` section.
Added following values:
- `change_username`: Disable change username
- `change_full_name`: Disable change full name
---

Progress:
- [x] Update code
- [x] Update translations

6 weeks ago[skip ci] Updated translations via Crowdin
GiteaBot [Sat, 5 Oct 2024 00:30:40 +0000 (00:30 +0000)]
[skip ci] Updated translations via Crowdin

6 weeks agoAdd support for searching users by email (#30908)
yp05327 [Fri, 4 Oct 2024 17:45:06 +0000 (02:45 +0900)]
Add support for searching users by email (#30908)

Fix #30898

we have an option `SearchByEmail`, so enable it, then we can search user
by email.
Also added a test for it.

6 weeks agoFix PR creation on forked repositories (#31863)
Job [Fri, 4 Oct 2024 17:12:48 +0000 (19:12 +0200)]
Fix PR creation on forked repositories (#31863)

Resolves #20475

6 weeks ago[skip ci] Updated translations via Crowdin
GiteaBot [Fri, 4 Oct 2024 00:30:54 +0000 (00:30 +0000)]
[skip ci] Updated translations via Crowdin

6 weeks agoFixed race condition when deleting documents by repoId in ElasticSearch (#32185)
Bruno Sofiato [Thu, 3 Oct 2024 16:03:36 +0000 (13:03 -0300)]
Fixed race condition when deleting documents by repoId in ElasticSearch (#32185)

Resolves #32184

---------

Signed-off-by: Bruno Sofiato <bruno.sofiato@gmail.com>
7 weeks agoadd {{TEST_MINIO_ENDPOINT}} for local testing "with/without" docker + fix pgsql testi...
sommerf-lf [Thu, 3 Oct 2024 01:00:56 +0000 (03:00 +0200)]
add {{TEST_MINIO_ENDPOINT}} for local testing "with/without" docker + fix pgsql testing doc (#32105)

while testing i found out that testing locally as documented in the
changed README.md for pgsql isn't working because of the minio
dependency. reworked this to by default be still docker, but allow for
for local with only minio in docker and testing on bare metal.
also depending on this: fixed docs for running pgsql test

Closes: #32168 (by changing documentation for pgsql tests)
Closes: #32169 (by changing documentation, Makefile & pgsql.ini.tmpl:
adding {{TEST_MINIO_ENDPOINT}})

sry for the combined pr, but when testing I ran into this issue and
first thought they were related and now finally address the same
problem: not beeing able to run pgsql integration tests as described in
the according README.md

7 weeks ago[skip ci] Updated translations via Crowdin
GiteaBot [Thu, 3 Oct 2024 00:30:51 +0000 (00:30 +0000)]
[skip ci] Updated translations via Crowdin

7 weeks agoFix javascript error when an anonymous user visiting migration page (#32144)
Lunny Xiao [Wed, 2 Oct 2024 04:37:16 +0000 (12:37 +0800)]
Fix javascript error when an anonymous user visiting migration page (#32144)

This PR fixes javascript errors when an anonymous user visits the
migration page.
It also makes task view checking more restrictive.

The router moved from `/user/task/{id}/status` to
`/username/reponame/-/migrate/status` because it's a migrate status.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
7 weeks agoMake oauth2 code clear. Move oauth2 provider code to their own packages/files (#32148)
Lunny Xiao [Wed, 2 Oct 2024 00:03:19 +0000 (08:03 +0800)]
Make oauth2 code clear. Move oauth2 provider code to their own packages/files (#32148)

Fix #30266
Replace #31533

7 weeks agoSupport repo license (#24872)
yp05327 [Tue, 1 Oct 2024 19:25:08 +0000 (04:25 +0900)]
Support repo license (#24872)

Close #278
Close #24076

## Solutions:
- Use
[google/licenseclassifier](https://github.com/google/licenseclassifier/)
Test result between
[google/licensecheck](https://github.com/google/licensecheck) and
[go-license-detector](https://github.com/go-enry/go-license-detector):
https://github.com/go-gitea/gitea/pull/24872#issuecomment-1560361167
Test result between
[google/licensecheck](https://github.com/google/licensecheck) and
[google/licenseclassifier](https://github.com/google/licenseclassifier/):
https://github.com/go-gitea/gitea/pull/24872#issuecomment-1576092178
- Generate License Convert Name List to avoid import license templates
with same contents
Gitea automatically get latest license data from[
spdx/license-list-data](https://github.com/spdx/license-list-data).
But unfortunately, some license templates have same contents. #20915
[click here to see the
list](https://github.com/go-gitea/gitea/pull/24872#issuecomment-1584141684)
So we will generate a list of these license templates with same contents
and create a new file to save the result when using `make
generate-license`. (Need to decide the save path)
- Save License info into a new table `repo_license`
Can easily support searching repo by license in the future.

## Screen shot
Single License:

![image](https://github.com/go-gitea/gitea/assets/18380374/41260bd7-0b4c-4038-8592-508706cffa9f)

Multiple Licenses:

![image](https://github.com/go-gitea/gitea/assets/18380374/34ce2f73-7e18-446b-9b96-ecc4fb61bd70)

Triggers:
- [x] Push commit to default branch
- [x] Create repo
- [x] Mirror repo
- [x] When Default Branch is changed, licenses should be updated

Todo:
- [x] Save Licenses info in to DB when there's a change to license file
in the commit
- [x] DB Migration
- [x] A nominal test?
- [x] Select which library to
use(https://github.com/go-gitea/gitea/pull/24872#issuecomment-1560361167)
- [x] API Support
- [x] Add repo license table
- ~Select license in settings if there are several licenses(Not
recommended)~
- License board(later, not in this PR)

![image](https://github.com/go-gitea/gitea/assets/18380374/2c3c3bf8-bcc2-4c6d-8ce0-81d1a9733878)

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Denys Konovalov <kontakt@denyskon.de>
Co-authored-by: delvh <dev.lh@web.de>
Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: 6543 <m.huber@kithara.com>
Co-authored-by: a1012112796 <1012112796@qq.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.com>
7 weeks agoFix the logic of finding the latest pull review commit ID (#32139)
Zettat123 [Tue, 1 Oct 2024 01:58:55 +0000 (09:58 +0800)]
Fix the logic of finding the latest pull review commit ID (#32139)

Fix #31423

7 weeks agoEnsure `GetCSRF` doesn't return an empty token (#32130)
Jason Song [Mon, 30 Sep 2024 02:28:09 +0000 (10:28 +0800)]
Ensure `GetCSRF` doesn't return an empty token (#32130)

Since page templates keep changing, some pages that contained forms with
CSRF token no longer have them.

It leads to some calls of `GetCSRF` returning an empty string, which
fails the tests. Like

https://github.com/go-gitea/gitea/blob/3269b04d61ffe6a7ce462cd05ee150e4491124e8/tests/integration/attachment_test.go#L62-L63

The test did try to get the CSRF token and provided it, but it was
empty.

7 weeks agoBump minio-go to latest version (#32156)
Manuel Valls Fernández [Mon, 30 Sep 2024 01:57:48 +0000 (03:57 +0200)]
Bump minio-go to latest version (#32156)

Current minio-go version has issues with S3 compatible storages like
Backblaze or Wasabi. This was fixed in
https://github.com/minio/minio-go/pull/1980 .

7 weeks agoChange the code search to sort results by relevance (#32134)
Bruno Sofiato [Sat, 28 Sep 2024 20:13:55 +0000 (17:13 -0300)]
Change the code search to sort results by relevance (#32134)

Resolves #32129

Signed-off-by: Bruno Sofiato <bruno.sofiato@gmail.com>
7 weeks ago[skip ci] Updated translations via Crowdin
GiteaBot [Sat, 28 Sep 2024 00:30:56 +0000 (00:30 +0000)]
[skip ci] Updated translations via Crowdin

7 weeks agoAdd pure SSH LFS support (#31516)
ConcurrentCrab [Fri, 27 Sep 2024 14:27:37 +0000 (19:57 +0530)]
Add pure SSH LFS support (#31516)

Fixes #17554
/claim #17554

Docs PR https://gitea.com/gitea/docs/pulls/49

To test, run pushes like: `GIT_TRACE=1` git push. The trace output
should mention "pure SSH connection".

7 weeks ago[skip ci] Updated translations via Crowdin
GiteaBot [Fri, 27 Sep 2024 00:31:00 +0000 (00:31 +0000)]
[skip ci] Updated translations via Crowdin