0
0
mirror of https://github.com/go-gitea/gitea.git synced 2025-08-02 19:03:56 +02:00

1748 Commits

Author SHA1 Message Date
wxiaoguang
2fa624a32e fix merge 2025-07-09 10:39:50 +08:00
wxiaoguang
9da6b36646 Merge branch 'main' into workflow-email 2025-07-09 10:29:28 +08:00
wxiaoguang
55f350542c
Refactor mail template and support preview (#34990) 2025-07-09 10:25:25 +08:00
wxiaoguang
4e10adc871
Start automerge check again after the conflict check and the schedule (#34989)
Fix #34988

Co-authored-by: posativ
2025-07-08 14:51:16 +00:00
NorthRealm
cc6c8d1b0d Any other recipient? 2025-07-08 15:28:45 +08:00
NorthRealm
afe2deefbb Merge branch 'patch3' into patch4 2025-07-08 15:16:42 +08:00
NorthRealm
2bac8d86d7 terrible 2025-07-08 15:00:35 +08:00
NorthRealm
d41aee8fa3 34982#discussion_r2191579495 2025-07-08 14:27:25 +08:00
NorthRealm
204f7ca886 stop if cannot render template 2025-07-08 14:25:03 +08:00
NorthRealm
8100f63457 silly 2025-07-08 14:21:57 +08:00
NorthRealm
53970ec4ed Refactor 2025-07-08 14:09:38 +08:00
NorthRealm
a0737b1ff4 Decoration 2025-07-08 00:33:34 +08:00
NorthRealm
0126656260 Merge branch 'patch3' into patch4 2025-07-07 17:42:03 +08:00
NorthRealm
ed7b2bc242 Refactor 2025-07-07 17:41:26 +08:00
NorthRealm
bb5e10b519 fmt 2025-07-07 17:31:20 +08:00
NorthRealm
bf3559f0b5 MAILER 2025-07-07 17:12:30 +08:00
NorthRealm
bf468fee21 MAILER 2025-07-07 15:46:43 +08:00
NorthRealm
1f6c68d572 MAILER 2025-07-07 15:03:39 +08:00
NorthRealm
31d82a4cbb Merge branch 'main' into patch4 2025-07-07 03:12:31 +08:00
NorthRealm
0081ef87fb Merge branch 'main' into patch3 2025-07-07 03:11:56 +08:00
NorthRealm
027c9fef2b MAILER 2025-07-07 02:49:32 +08:00
silverwind
95a935aca0
Enable gocritic equalFold and fix issues (#34952)
Continuation of https://github.com/go-gitea/gitea/pull/34678.

---------

Signed-off-by: silverwind <me@silverwind.io>
2025-07-06 16:53:34 +00:00
NorthRealm
c8b64c7686 Refactor 2025-07-06 21:59:04 +08:00
wxiaoguang
e0745eb14d
Refactor webhook and fix feishu/lark secret (#34961) 2025-07-06 06:04:08 +00:00
wxiaoguang
3533263ced
Improve OAuth2 provider (correct Issuer, respect ENABLED) (#34966)
1. Make "Issuer" strictly follow the spec (see comment)
2. Make "/.well-known/openid-configuration" respond 404 if the OAuth2
provider is not enabled.

Then by the way, remove the JSEscape template helper because it is not
needed any more.
2025-07-06 13:36:45 +08:00
Dan Čermák
58759aeca0
Mark old reviews as stale on agit pr updates (#34933)
Fixes: https://github.com/go-gitea/gitea/issues/34134
2025-07-05 11:30:06 -07:00
wxiaoguang
70685a9489
Fix git graph page (#34948)
fix #34946
2025-07-04 15:41:19 +00:00
wxiaoguang
d6d643fe86
Fix http auth header parsing (#34936)
Using `strings.EqualFold` is wrong in many cases.
2025-07-03 03:02:38 +00:00
Lunny Xiao
8cbec63cc7
Don't send trigger for a pending review's comment create/update/delete (#34928)
Fix #18846 
Fix #34924

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-07-03 10:35:45 +08:00
RickyMa
6455c8202b
Support getting last commit message using contents-ext API (#34904)
Fix #34870
Fix #34929

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-07-03 09:45:42 +08:00
delvh
8dbf13b1cb
Follow file symlinks in the UI to their target (#28835)
Symlinks are followed when you click on a link next to an entry, either
until a file has been found or until we know that the link is dead.
When the link cannot be accessed, we fall back to the current behavior
of showing the document containing the target.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-07-01 06:55:36 +08:00
wxiaoguang
10cf2023bf
Refactor container package (#34877)
Use standard db.WithTx and introduce db.WithTx2
2025-06-29 09:20:38 +08:00
TheFox0x7
aa9d86745a
enforce explanation for necessary nolints and fix bugs (#34883)
Follows up https://github.com/go-gitea/gitea/pull/34851

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-27 21:48:03 +08:00
TheFox0x7
eb36a4554e
enforce nolint scope (#34851)
enable nolintlint scope requirement
add comments to new directives so it's more obvious why they are in
place

---

I can also toggle the mandatory comments on if that's something of
interest.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: Giteabot <teabot@gitea.io>
2025-06-27 07:59:55 +02:00
badhezi
c67a8397ff
Add issue delete notifier (#34592)
Fixes https://github.com/go-gitea/gitea/issues/34591

A reference regarding the deletion of issue webhooks on GitHub:
https://docs.github.com/en/webhooks/webhook-events-and-payloads?actionType=deleted#issues
2025-06-25 18:53:02 +00:00
wxiaoguang
75aa23a665
Refactor "change file" API (#34855)
Follow up the "editor" refactor, use the same approach to simplify code,
and fix some docs & comments

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: delvh <dev.lh@web.de>
2025-06-25 11:25:20 -07:00
wxiaoguang
dbd9c69909
Refactor repo contents API and add "contents-ext" API (#34822)
See the updated swagger document for details.
2025-06-25 02:34:21 +00:00
Junsik Kong
0e629c545a
fix(issue): Replace stopwatch toggle with explicit start/stop actions (#34818)
This PR fixes a state de-synchronization bug with the issue stopwatch,
it resolves the issue by replacing the ambiguous `/toggle` endpoint
with two explicit endpoints: `/start` and `/stop`.

- The "Start timer" button now exclusively calls the `/start` endpoint.
- The "Stop timer" button now exclusively calls the `/stop` endpoint.

This ensures the user's intent is clearly communicated to the server,
eliminating the state inconsistency and fixing the bug.

---------

Signed-off-by: wxiaoguang <wxiaoguang@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-25 07:22:58 +08:00
wxiaoguang
22a84a72cd
Fix SSH LFS timeout (#34838)
Fix #34834
2025-06-24 15:49:31 +00:00
delvh
9a23fe131c
Ignore force pushes for changed files in a PR review (#34837)
Fixes #34832

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-24 23:22:32 +08:00
Lunny Xiao
eb87e9d3b6
Fix log fmt (#34810) 2025-06-24 13:51:04 +00:00
wxiaoguang
6a97ab0af4
Fix team permissions (#34827)
* Fix #34793
* Fix #33456
2025-06-24 21:24:09 +08:00
Zettat123
618e2d8106
Fix required contexts and commit status matching bug (#34815)
Fix #34504

Since one required context can match more than one commit statuses, we
should not directly compare the lengths of `requiredCommitStatuses` and
`requiredContexts`

---------

Signed-off-by: Zettat123 <zettat123@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-22 23:31:46 +00:00
Brecht Van Lommel
a46b16f10f
Edit file workflow for creating a fork and proposing changes (#34240)
When viewing a file that the user can't edit because they can't write to
the branch, the new, upload, patch, edit and delete functionality is no
longer disabled.

If no user fork of the repository exists, there is now a page to create one.
It will automatically create a fork with a single branch matching the one
being viewed, and a unique repository name will be automatically picked.

When a fork exists, but it's archived, a mirror or the user can't write
code to it, there will instead be a message explaining the situation.

If the usable fork exists, a message will appear at the top of the edit page
explaining that the changes will be applied to a branch in the fork. The
base repository branch will be pushed to a new branch to the fork, and
then the edits will be applied on top.

The suggestion to fork happens when accessing /_edit/, so that for
example online documentation can have an "edit this page" link to
the base repository that does the right thing.

Also includes changes to properly report errors when trying to commit
to a new branch that is protected, and when trying to commit to an
existing branch when choosing the new branch option.

Resolves #9017, #20882

---------

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-22 12:43:43 +00:00
wxiaoguang
1748045285
Refactor packages (#34777) 2025-06-22 19:22:51 +08:00
wxiaoguang
f114c388ff
Refactor wiki (#34805)
Remove unclear code
2025-06-22 18:53:33 +08: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:


![image](https://github.com/user-attachments/assets/d097dfdf-07be-4d79-8fcf-e78822515575)

![image](https://github.com/user-attachments/assets/42ee832c-cb44-41ec-9fe3-92a1c94747d2)

After:


![image](https://github.com/user-attachments/assets/f7700ed7-f104-4302-a924-09e118f24be3)

![image](https://github.com/user-attachments/assets/4c49952a-578e-4d14-bd01-4a68c9e02412)

![image](https://github.com/user-attachments/assets/814829d3-00fe-4e87-ae05-625c129170d2)

![image](https://github.com/user-attachments/assets/b067b263-c909-4b48-b23c-73481c32d350)

---------

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
wxiaoguang
81adb01713
Improve img lazy loading (#34804)
Related #32051 and #13526
2025-06-21 14:53:22 +08:00
Snowball_233
40dec17b5c
Fix Feishu webhook signature verification (#34788)
# Fix Feishu Webhook Signature Verification

This PR implements proper signature verification for Feishu (Lark)
webhooks according to the [official
documentation](https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot).

## Changes

- Implemented the `GenSign` function based on Feishu's official Go
sample code
- Modified the webhook request creation to include timestamp and
signature in the payload when a secret is configured
- Fixed the signature generation algorithm to properly use HMAC-SHA256
with the correct string format

## Implementation Details

The signature verification works as follows:
1. When a webhook secret is provided, a timestamp is generated
2. The signature string is created using `timestamp + "\n" + secret`
3. The HMAC-SHA256 algorithm is applied to an empty string using the
signature string as the key
4. The result is Base64 encoded to produce the final signature
5. Both timestamp and signature are added to the payload

According to Feishu's documentation, the timestamp must be within 1 hour
(3600 seconds) of the current time to be considered valid.

## Security Note

Feishu emphasizes the importance of keeping webhook URLs secure. Do not
disclose them on GitHub, blogs, or any public sites to prevent
unauthorized use.

## References

- [Feishu Custom Bot
Documentation](https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot)

---------

Co-authored-by: hiifong <i@hiif.ong>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-06-20 13:09:03 -07:00