Lunny Xiao
ed8c578f06
Merge branch 'main' into lunny/issue_dev
2025-10-27 11:28:00 -07:00
Kemal Zebari
a9f2ea720b
Honor delete branch on merge repo setting when using merge API ( #35488 )
...
Fix #35463 .
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-10-22 05:06:56 +00:00
Lunny Xiao
c32d4aa926
Merge branch 'main' into lunny/issue_dev
2025-09-30 20:40:00 -07:00
wxiaoguang
4fe1066a17
Replace gobwas/glob package ( #35478 )
...
https://github.com/gobwas/glob is unmaintained and has bugs.
2025-09-13 18:01:00 +00:00
Lunny Xiao
89d7929711
Fix package link setting can only list limited repositories ( #35394 )
...
Fix #24801
<img width="1123" height="503" alt="image"
src="https://github.com/user-attachments/assets/823f4214-e08a-4506-9018-057c50e7fc52 "
/>
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2025-09-11 01:50:17 +02:00
Lunny Xiao
1787e028db
Merge branch 'main' into lunny/issue_dev
2025-08-27 22:48:32 -07:00
Lunny Xiao
c0f24bd803
Move organization's visibility change to danger zone. ( #34814 )
...
<img width="1185" alt="image"
src="https://github.com/user-attachments/assets/d48c4db2-df7c-43b3-986c-62e042190a51 "
/>
<img width="829" alt="image"
src="https://github.com/user-attachments/assets/772b8a14-6837-41f2-9d78-9f0489ef1c7d "
/>
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-08-20 20:57:42 -07:00
wxiaoguang
a5a3d9b101
Refactor OpenIDConnect to support SSH/FullName sync ( #34978 )
...
* Fix #26585
* Fix #28327
* Fix #34932
2025-07-10 18:35:59 +00:00
wxiaoguang
e0745eb14d
Refactor webhook and fix feishu/lark secret ( #34961 )
2025-07-06 06:04:08 +00:00
Lunny Xiao
7de114a332
Rework delete org and rename org UI ( #34762 )
...
# What's the problem of the original implementation
Renaming organization will mix with organization's information change
make the operation difficult to keep consistent.
This PR created a danger zone like what's repository setting. It also
moved organization's `rename` and `delete` operations to this zone. The
original updating repository will not change the name any more.
This is also a step to extract the `updaterepository` function
completely.
Before:


After:




---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-21 18:21:48 +00:00
wxiaoguang
4fc626daa1
Refactor editor ( #34780 )
...
A complete rewrite
2025-06-21 19:20:51 +08:00
ChristopherHX
cda90eca31
Add workflow_run api + webhook ( #33964 )
...
Implements
- https://docs.github.com/en/rest/actions/workflow-jobs?apiVersion=2022-11-28#list-jobs-for-a-workflow-run--code-samples
- https://docs.github.com/en/rest/actions/workflow-jobs?apiVersion=2022-11-28#get-a-job-for-a-workflow-run--code-samples
- https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#list-workflow-runs-for-a-repository
- https://docs.github.com/en/rest/actions/workflow-runs?apiVersion=2022-11-28#get-a-workflow-run
- `/actions/runs` for global + user + org (Gitea only)
- `/actions/jobs` for global + user + org + repository (Gitea only)
- workflow_run webhook + action trigger
- limitations
- workflow id is assigned to a string, this may result into problems in
strongly typed clients
Fixes
- workflow_job webhook url to no longer contain the `runs/<run>` part to
align with api
- workflow instance does now use it's name inside the file instead of
filename if set
Refactoring
- Moved a lot of logic from workflows/workflow_job into a shared module
used by both webhook and api
TODO
- [x] Verify Keda Compatibility
- [x] Edit Webhook API bug is resolved
Closes https://github.com/go-gitea/gitea/issues/23670
Closes https://github.com/go-gitea/gitea/issues/23796
Closes https://github.com/go-gitea/gitea/issues/24898
Replaces https://github.com/go-gitea/gitea/pull/28047 and is much more
complete
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-20 20:14:00 +08:00
bytedream
3a37d63d61
Allow renaming/moving binary/LFS files in the UI ( #34350 )
...
Adds the ability to rename/move binary files like binary blobs or images
and files that are too large in the web ui.
This was purposed in #24722 , along with the ability edit images via an
upload of a new image, which I didn't implement here (could be done in a
separate PR).
Binary file content:

File too large:

GitHub does the same (I've copied the text from there):

2025-06-16 17:15:07 -07:00
Lunny Xiao
0735d3c496
Merge branch 'main' into lunny/issue_dev
2025-06-09 15:57:33 -07:00
wxiaoguang
2a1585b32e
Refactor some tests ( #34580 )
...
1. use `test.MockVariableValue` as much as possible
2. avoid `time.Sleep` as much as possible
2025-06-03 01:26:19 +00:00
wxiaoguang
0148d03f21
Enforce two-factor auth (2FA: TOTP or WebAuthn) ( #34187 )
...
Fix #880
Design:
1. A global setting `security.TWO_FACTOR_AUTH`.
* To support org-level config, we need to introduce a better "owner
setting" system first (in the future)
2. A user without 2FA can login and may explore, but can NOT read or
write to any repositories via API/web.
3. Keep things as simple as possible.
* This option only aggressively suggest users to enable their 2FA at the
moment, it does NOT guarantee that users must have 2FA before all other
operations, it should be good enough for real world use cases.
* Some details and tests could be improved in the future since this
change only adds a check and seems won't affect too much.
---------
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2025-04-28 15:31:59 -07:00
YaFou
e947f309b1
Add API routes to lock and unlock issues ( #34165 )
...
This pull request adds a GitHub-compatible API endpoint to lock and
unlock an issue.
The following routes exist now:
- `PUT /api/v1/repos/{owner}/{repo}/issues/{id}/lock` to lock an issue
- `DELETE /api/v1/repos/{owner}/{repo}/issues/{id}/lock` to unlock an issue
Fixes #33677
Fixes #20012
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-04-21 00:43:43 +00:00
Thomas E Lackey
fa49cd719f
feat: Add sorting by exclusive labels (issue priority) ( #33206 )
...
Fix #2616
This PR adds a new sort option for exclusive labels.
For exclusive labels, a new property is exposed called "order", while in
the UI options are populated automatically in the `Sort` column (see
screenshot below) for each exclusive label scope.
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-04-10 17:18:07 +00:00
wxiaoguang
cddd19efc8
Add anonymous access support for private/unlisted repositories ( #34051 )
...
Follow #33127
Fix #8649 , fix #639
This is a complete solution. A repo unit could be set to:
* Anonymous read (non-signed-in user)
* Everyone read (signed-in user)
* Everyone write (wiki-only)
2025-03-29 13:26:41 +08:00
Lunny Xiao
260eee22f6
Merge branch 'main' into lunny/issue_dev
2025-03-27 17:32:20 -07:00
John Smith
8f051d598c
Added Description Field for Secrets and Variables ( #33526 )
...
Fixes #33484
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-03-17 19:24:54 +00:00
ChristopherHX
651ef66966
Add workflow_job webhook ( #33694 )
...
Provide external Integration information about the Queue lossly based on
https://docs.github.com/en/webhooks/webhook-events-and-payloads?actionType=completed#workflow_job
Naming conflicts between GitHub & Gitea are here, Blocked => Waiting,
Waiting => Queued
Rationale Enhancement for ephemeral runners management #33570
2025-03-11 10:40:38 -07:00
Lunny Xiao
0453177b61
Refactor: move part of updating protected branch logic to service layer ( #33742 )
2025-03-05 19:15:40 +00:00
Guillaume
303af554c9
Improve "generate new access token" form ( #33730 )
...
Fix: https://github.com/go-gitea/gitea/issues/33519
As discussed in [PR
#33614 ](https://github.com/go-gitea/gitea/pull/33614 ), the
ScopedAccessTokenSelector Vue component is not particularly useful.
This PR removes the component and reverts to using HTML templates. It
also introduces some (hopefully) useful refactoring.
The Vue component was causing the UX bug reported in the linked issue.
Required form fields are now properly working, as expected (see
screenshot).

---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-02-27 19:40:12 +00:00
Lunny Xiao
479364a908
Merge branch 'main' into lunny/issue_dev
2025-02-07 19:52:34 -08:00
Lunny Xiao
a4676db7dd
Fix commit status events ( #33320 )
...
Fix #32873
Fix #33201
~Fix #33244~
~Fix #33302~
depends on ~#33396~
A part of this PR should be backported to v1.23 manually.
2025-02-04 03:25:59 +00:00
wxiaoguang
5a7b42dac7
Support choose email when creating a commit via web UI (more) ( #33445 )
...
Follow #33432
2025-01-31 02:36:18 +00:00
wxiaoguang
256b94e9e9
Support choose email when creating a commit via web UI ( #33432 )
...
Initial PR for #24469
2025-01-30 01:24:57 +00:00
Lunny Xiao
e94f37f95e
Refactor webhook events ( #33337 )
...
Extract from #33320
This PR uses a map instead of a struct to store webhook event
information. It removes many duplicated functions and makes the logic
clearer.
2025-01-23 18:53:06 +00:00
wxiaoguang
a98a836e76
Support public code/issue access for private repositories ( #33127 )
...
Close #8649 , close #639 (will add "anonymous access" in following PRs)
2025-01-14 01:53:34 +00:00
Kemal Zebari
ecd463c2f1
Validate that the tag doesn't exist when creating a tag via the web ( #33241 )
...
Found while investigating #33210 .
This line no longer makes sense because the form field "TagName" is
required, so this would mean that this code path would never be covered.
Because it isn't covered, we end up going down the "update release"
logic where we eventually set `Release.IsTag` to false (meaning it will
now be treated as a release instead of a tag).
This snapshot rewrites the condition to ensure that we aren't trying to
create a tag that already exists.
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-14 09:27:35 +08:00
Lunny Xiao
a84034a838
Merge branch 'main' into lunny/issue_dev
2024-12-30 20:14:46 -08:00
Lunny Xiao
751fe8b714
Move some errors to their own sub packages ( #32880 )
2024-12-20 18:05:29 +00:00
Lunny Xiao
d869d3286f
Merge branch 'main' into lunny/issue_dev
2024-12-05 10:17:10 -08:00
Illya Marchenko
936665bf85
Issue time estimate, meaningful time tracking ( #23113 )
...
Redesign the time tracker side bar, and add "time estimate" support (in "1d 2m" format)
Closes #23112
---------
Co-authored-by: stuzer05 <stuzer05@gmail.com>
Co-authored-by: Yarden Shoham <hrsi88@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-05 13:07:53 +00:00
Lunny Xiao
478fbd5f49
Merge branch 'main' into lunny/issue_dev
2024-12-04 15:44:30 -08:00
KN4CK3R
0c3c041c88
Add Arch package registry ( #32692 )
...
Close #25037
Close #31037
This PR adds a Arch package registry usable with pacman.

Rewrite of #25396 and #31037 . You can follow [this
tutorial](https://wiki.archlinux.org/title/Creating_packages ) to build a
package for testing.
Docs PR: https://gitea.com/gitea/docs/pulls/111
Co-authored-by: [d1nch8g@ion.lc ](mailto:d1nch8g@ion.lc)
Co-authored-by: @ExplodingDragon
---------
Co-authored-by: dancheg97 <dancheg97@fmnx.su>
Co-authored-by: dragon <ExplodingFKL@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-04 23:09:07 +00:00
Lunny Xiao
3d8ed0e853
Merge branch 'main' into lunny/issue_dev
2024-11-28 12:14:58 -08:00
Rowan Bohde
16a7d343d7
Validate OAuth Redirect URIs ( #32643 )
...
This fixes a TODO in the code to validate the RedirectURIs when adding
or editing an OAuth application in user settings.
This also includes a refactor of the user settings tests to only create
the DB once per top-level test to avoid reloading fixtures.
2024-11-28 10:50:27 +08:00
6543
846f618716
Add priority to protected branch ( #32286 )
...
## Solves
Currently for rules to re-order them you have to alter the creation
date. so you basicly have to delete and recreate them in the right
order. This is more than just inconvinient ...
## Solution
Add a new col for prioritization
## Demo WebUI Video
https://github.com/user-attachments/assets/92182a31-9705-4ac5-b6e3-9bb74108cbd1
---
*Sponsored by Kithara Software GmbH*
2024-11-27 05:41:06 +01:00
Lunny Xiao
696fbe6036
Refactor push mirror find and add check for updating push mirror ( #32539 )
...
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-11-18 05:59:04 +00:00
wxiaoguang
a928739456
Refactor sidebar assignee&milestone&project selectors ( #32465 )
...
Follow #32460
Now the code could be much clearer than before and easier to maintain. A
lot of legacy code is removed.
Manually tested.
This PR is large enough, that fine tunes could be deferred to the future if
there is no bug found or design problem.
Screenshots:
<details>

</details>
2024-11-11 04:07:54 +08:00
Calvin K
18aeca5320
Add reviewers selection to new pull request ( #32403 )
...
Users could add reviewers when creating new PRs.
---------
Co-authored-by: splitt3r <splitt3r@users.noreply.github.com>
Co-authored-by: Sebastian Sauer <sauer.sebastian@gmail.com>
Co-authored-by: bb-ben <70356237+bboerben@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-11-09 04:48:31 +00:00
Lunny Xiao
d3f3fb136b
Merge branch 'main' into lunny/issue_dev
2024-11-05 16:28:42 -08:00
Tim
de2ad2e1b1
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>
2024-10-23 12:39:43 +08:00
Lunny Xiao
cb37b5925c
Merge branch 'main' into lunny/issue_dev
2024-09-29 20:00:45 -07:00
Zettat123
def1c9670b
Support migration from AWS CodeCommit ( #31981 )
...
This PR adds support for migrating repos from [AWS
CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html ).
The access key ID and secret access key are required to get repository
information and pull requests. And [HTTPS Git
credentials](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html )
are required to clone the repository.
<img
src="https://github.com/user-attachments/assets/82ecb2d0-8d43-42b0-b5af-f5347a13b9d0 "
width="680" />
The AWS CodeCommit icon is from [AWS Architecture
Icons](https://aws.amazon.com/architecture/icons/ ).
<img
src="https://github.com/user-attachments/assets/3c44d21f-d753-40f5-9eae-5d3589e0d50d "
width="320" />
2024-09-11 07:49:42 +08:00
Lunny Xiao
2361ec5a44
Improvements for creating branch model
2024-08-21 19:08:18 -07:00
Lunny Xiao
62fda252bd
Add a new section named development in issue view sidebar to interact with branch/pr
2024-08-21 15:34:03 -07:00
Denys Konovalov
a8d0c879c3
add skip secondary authorization option for public oauth2 clients ( #31454 )
2024-07-19 14:28:30 -04:00