e1c2d05bde
Fix markdown render behaviors ( #34122 )
...
* Fix #27645
* Add config options `MATH_CODE_BLOCK_DETECTION`, problematic syntaxes
are disabled by default
* Fix #33639
* Add config options `RENDER_OPTIONS_*`, old behaviors are kept
2025-04-05 11:56:48 +08:00
6cee3bfa96
Refactor markup render to fix various path problems ( #34114 )
...
* Fix #33972
* Use consistent path resolving for links and medias.
* No need to make the markup renders to resolve the paths, instead, the
paths are all correctly resolved in the "post process" step.
* Fix #33274
* Since 1.23, all paths starting with "/" are relative to current render
context (for example: the current repo branch)
* Introduce `/:root/path-relative-to-root`, then the path will be
rendered as relative to "ROOT_URL"
2025-04-04 23:45:23 +08:00
c27d87a9ac
Refactor Branch struct in package modules/git ( #33980 )
...
release-nightly / nightly-binary (push) Has been cancelled
release-nightly / nightly-docker-rootful (push) Has been cancelled
release-nightly / nightly-docker-rootless (push) Has been cancelled
cron-translations / crowdin-pull (push) Has been skipped
The `Branch` struct in `modules/git` package is unnecessary. We can just
use a `string` to represent a branch
2025-04-02 17:31:32 +00:00
55a69ae4c6
Add new CLI flags to set name and scopes when creating a user with access token ( #34080 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
cron-translations / crowdin-pull (push) Has been skipped
Resolves #33474 .
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-04-02 22:00:54 +08:00
88352e0b25
Return default avatar url when user id is zero rather than updating database ( #34094 )
2025-04-02 01:03:27 +00:00
92dfec704f
Move ParseCommitWithSSHSignature to service layer ( #34087 )
...
No code change.
2025-04-01 16:30:53 +00:00
ee3c82f874
Enable addtional linters ( #34085 )
...
enable mirror, usestdlibbars and perfsprint
part of: https://github.com/go-gitea/gitea/issues/34083
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-04-01 10:14:01 +00:00
4d2323183d
fix users being able bypass limits with repo transfers ( #34031 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
cron-translations / crowdin-pull (push) Has been skipped
prevent user from being able to transfer repo to user who cannot have
more repositories
2025-03-31 20:19:32 +00:00
a2e8a289b2
Improve pull request list api ( #34052 )
...
The pull request list API is slow, for every pull request, it needs to
open a git repository. Assume it has 30 records, there will be 30 sub
processes back because every repository will open a git cat-file --batch
sub process. This PR use base git repository to get the head commit id
rather than read it from head repository to avoid open any head git
repository.
2025-03-31 12:54:31 -07:00
0fde8ecd55
Enable testifylint rules ( #34075 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
enable testifylint rules disabled in:
https://github.com/go-gitea/gitea/pull/34054
2025-03-31 01:53:48 -04:00
2a59dfbd47
enable staticcheck QFxxxx rules ( #34064 )
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
cron-translations / crowdin-pull (push) Has been skipped
2025-03-29 17:32:28 -04:00
cddd19efc8
Add anonymous access support for private/unlisted repositories ( #34051 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
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
0d2607a303
Add anonymous access support for private repositories (backend) ( #33257 )
...
Follow #33127
This PR add backend logic and test for "anonymous access", it shares the
same logic as "everyone access", so not too much change.
By the way, split `SettingsPost` into small functions to make it easier
to make frontend-related changes in the future.
Next PR will add frontend support for "anonymous access"
2025-03-28 22:42:29 +08:00
0c6957ef8d
Download actions job logs from API ( #33858 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
cron-translations / crowdin-pull (push) Has been skipped
Related to #33709 , #31416
It's similar with
https://docs.github.com/en/rest/actions/workflow-jobs?apiVersion=2022-11-28#download-job-logs-for-a-workflow-run--code-samples .
This use `job_id` as path parameter which is consistent with Github's
APIs.
---------
Co-authored-by: ChristopherHX <christopher.homberger@web.de >
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-03-26 11:30:52 -07:00
51d86adb6d
Fix some migration and repo name problems ( #33986 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
1. Ignore empty inputs in `UnmarshalHandleDoubleEncode`
2. Ignore non-existing `stateEvent.User` in gitlab migration
3. Enable `release` and `wiki` units when they are selected in migration
4. Sanitize repo name for migration and new repo
2025-03-24 20:26:58 -07:00
3fe449c21a
Use filepath.Join instead of path.Join for file system file operations ( #33978 )
2025-03-24 14:50:28 -07:00
0da7318cf3
Allow filtering issues by any assignee ( #33343 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
This is the opposite of the "No assignee" filter, it will match all
issues that have at least one assignee.
Before

After

---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-03-21 04:25:36 +00:00
a4df01b580
Optimize total count of feed when loading activities in user dashboard. ( #33841 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
Two SQLs are very slow when `action` table have over 5M records.
```
database duration=1.8881s db.sql="SELECT created_unix DIV 900 * 900 AS timestamp, count(user_id) as contributions FROM `action` WHERE user_id=? AND act_user_id=? AND (created_unix > ?) GROUP BY timestamp ORDER BY timestamp"
database duration=1.5408s db.sql="SELECT count(*) FROM `action` WHERE (user_id = ?) AND (is_deleted = ?)"
```
This will cache the count for the first loading or when the activities
changed.
2025-03-20 10:46:18 -07:00
4a7ab0abf0
Optimize heatmap query ( #33853 )
...
When there are over 5M records on `action` table, the heatmap on
dashboard is very slow as below SQL.
```
database duration=1.8881s db.sql="SELECT created_unix DIV 900 * 900 AS timestamp, count(user_id) as contributions FROM `action` WHERE user_id=? AND act_user_id=? AND (created_unix > ?) GROUP BY timestamp ORDER BY timestamp"
```
This PR add a new index for `action` table with columns `user_id`,
`act_user_id` and `created_unix` so that this query will become about 6
times faster than before.
2025-03-20 09:30:45 -07:00
a9e8ac0fe0
Don't create duplicated functions for code repositories and wiki repositories ( #33924 )
...
Fix
https://github.com/go-gitea/gitea/pull/33910#pullrequestreview-2688913865
This PR changed the Repositroy interface in `gitrepo` package which
makes it only focus the relative path in the disk and abstract whether
it's a wiki repository or not.
2025-03-19 11:17:19 -07:00
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
c88e71c1d2
Refactor functions to reduce repopath expose ( #33892 )
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
2025-03-16 03:14:56 +00:00
30b13942f0
Give organisation members access to organisation feeds ( #33508 )
...
Currently the organisation feed only includes items for public
repositories (for non-administrators). This pull requests adds
notifications from private repositories to the organisation-feed (for
accounts that have access to the organisation).
Feed-items only get shown for repositories where the users team(s)
should have access to, this filtering seems to get done by some existing
code.
Needs some tests, but am unsure where/how to add them.
Before:

After:

---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-03-15 17:49:06 +00:00
92f997ce6b
Add file tree to file view page ( #32721 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
Resolve #29328
This pull request introduces a file tree on the left side when reviewing
files of a repository.
---------
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-03-15 16:26:49 +08:00
65e2411394
Feature: Ephemeral action runners ( #33570 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
cron-translations / crowdin-pull (push) Has been skipped
* This includes a runner mock test for hardend PickTask behavior like
described in my proposal
* Runner register ephemeral flag introduced in
https://gitea.com/gitea/act_runner/pulls/649
Closes #32461
2025-03-14 12:27:24 -07:00
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
a92d5f65ce
Fix auto concurrency cancellation skips commit status updates ( #33764 )
...
* add missing commit status
* conflicts with concurrency support
Closes #33763
Co-authored-by: Giteabot <teabot@gitea.io >
2025-03-10 15:58:48 -07:00
ae63568ce3
Move notifywatch to service layer ( #33825 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
No logic change.
2025-03-10 00:54:25 +00:00
4c4c56c7cd
Decouple context from repository related structs ( #33823 )
...
Calls that required context implicitly are made to pass it as argument
2025-03-08 13:12:46 -08:00
4ed71eb754
Improve log format ( #33814 )
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
cron-translations / crowdin-pull (push) Has been skipped
2025-03-08 21:47:11 +08:00
1b2dffff8e
Add global lock for migrations to make upgrade more safe with multiple replications ( #33706 )
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
2025-03-07 21:08:53 +00:00
ae3a18e01a
Remove context from git struct ( #33793 )
...
Argument is moved from struct init in command run, which lets us remove
context from struct.
2025-03-04 11:56:11 -08:00
6c8fb8d455
Small refactor to reduce unnecessary database queries and remove duplicated functions ( #33779 )
2025-03-04 18:25:20 +00:00
216243eee2
Refactor error system ( #33771 )
...
It should not expose `util.SilentWrap` or construct it manually.
2025-03-03 05:36:10 +00:00
dbed39d632
Add migrations and doctor fixes ( #33556 )
...
Fix #33535
2025-03-02 21:01:28 -08:00
5cbdf83f70
Use pullrequestlist instead of []*pullrequest ( #33765 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
Just renames no code changed.
2025-03-02 10:14:49 -08:00
aca21549f2
Add composor source field ( #33502 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
Fix #33066
2025-02-28 16:29:21 +00:00
303af554c9
Improve "generate new access token" form ( #33730 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
cron-translations / crowdin-pull (push) Has been skipped
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
f52e31f5ce
Clone repository with Tea CLI ( #33725 )
...
This PR adds "Tea CLI" as a clone method.
<img width="350" alt="Capture d’écran 2025-02-25 à 23 38 47"
src="https://github.com/user-attachments/assets/8e86e54a-998b-45d1-9f20-167b449e79b6 "
/>
---------
Signed-off-by: Quentin Guidée <quentin.guidee@gmail.com >
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-02-27 18:18:02 +00:00
b7aac5ef9a
allow filtering /repos/{owner}/{repo}/pulls by target base branch queryparam ( #33684 )
...
Co-authored-by: Royce Remer <rremer@salesforce.com >
Co-authored-by: delvh <dev.lh@web.de >
2025-02-27 17:50:44 +00:00
76b7f95a27
Optimize user dashboard loading ( #33686 )
...
Fix #33582
Fix #31698
When a user login, the dashboard should load all feed belongs to him
with no any conditions. The complicated conditions should be applied
only for another user view this user's profile.
2025-02-24 11:29:32 -08:00
8ae46d9684
Fix some user name usages ( #33689 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
cron-translations / crowdin-pull (push) Has been skipped
1. GetUserOrgsList should "order by" lower_name
2. GetIssuePostersWithSearch should search in-case-sensitive-ly
3. LoginName should not be used as username
By the way, remove unnecessary "onGiteaRun"
2025-02-23 12:33:43 +00:00
a25081f380
Fix omitempty bug ( #33663 )
...
Fix #33660
2025-02-20 12:39:21 -08:00
cc1fdc84ca
Use test context in tests and new loop system in benchmarks ( #33648 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
Replace all contexts in tests with go1.24 t.Context()
---------
Co-authored-by: Giteabot <teabot@gitea.io >
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-02-20 09:57:40 +00:00
c2e23d3301
Fix PR web route permission check ( #33636 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
See the FIXME comment in code. Otherwise, if a repo's issue unit is
disabled, then the PRs can't be edited anymore.
By the way, make the permission log output look slightly better.
---------
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com >
Co-authored-by: metiftikci <metiftikci@hotmail.com >
2025-02-19 00:55:19 +00:00
ce65613690
Fix Untranslated Text on Actions Page ( #33635 )
...
release-nightly / nightly-binary (push) Waiting to run
release-nightly / nightly-docker-rootful (push) Waiting to run
release-nightly / nightly-docker-rootless (push) Waiting to run
cron-translations / crowdin-pull (push) Has been skipped
Fix the problem of untranslated text on the actions page
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-02-18 11:29:08 +00:00
7df09e31fa
Move issue pin to an standalone table for querying performance ( #33452 )
...
Noticed a SQL in gitea.com has a bigger load. It seems both `is_pull`
and `pin_order` are not indexed columns in the database.
```SQL
SELECT `id`, `repo_id`, `index`, `poster_id`, `original_author`, `original_author_id`, `name`, `content`, `content_version`, `milestone_id`, `priority`, `is_closed`, `is_pull`, `num_comments`, `ref`, `pin_order`, `deadline_unix`, `created_unix`, `updated_unix`, `closed_unix`, `is_locked`, `time_estimate` FROM `issue` WHERE (repo_id =?) AND (is_pull = 0) AND (pin_order > 0) ORDER BY pin_order
```
I came across a comment
https://github.com/go-gitea/gitea/pull/24406#issuecomment-1527747296
from @delvh , which presents a more reasonable approach. Based on this,
this PR will migrate all issue and pull request pin data from the
`issue` table to the `issue_pin` table. This change benefits larger
Gitea instances by improving scalability and performance.
---------
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-02-17 11:28:37 -08:00
69de5a65c2
Fix project issues list and counting ( #33594 )
...
Co-authored-by: delvh <dev.lh@web.de >
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com >
2025-02-17 05:14:56 +00:00
5df9fd3e9c
Add API to support link package to repository and unlink it ( #33481 )
...
Fix #21062
---------
Co-authored-by: Zettat123 <zettat123@gmail.com >
2025-02-16 19:18:00 -08:00
58c124cc4f
Move commits signature and verify functions to service layers ( #33605 )
...
No logic change, just move functions.
2025-02-16 12:24:07 +00:00