Commit Graph

4878 Commits

Author SHA1 Message Date
TheFox0x7 6ca91f555a
User facing messages for AGit errors ()
Adds user facing messages to errors when submitting agit pull request
Tries to highlight the returned error more and fixes agit suggestion to
create PR on first submission.

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

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-27 02:33:39 +00:00
wxiaoguang 517a367abe
Use ProtonMail/go-crypto to replace keybase/go-crypto ()
Fix 

The keybase/go-crypto is no longer maintained and it generates malformed
signatures, ProtonMail/go-crypto is the actively maintained fork.
2025-01-27 09:14:08 +08:00
wxiaoguang 2c1ff8701a
Refactor context flash msg and global variables ()
1. add `GetSiteCookieFlashMessage` to help to parse flash message
2. clarify `handleRepoHomeFeed` logic
3. remove unnecessary global variables, use `sync.OnceValue` instead
4. add some tests for `IsUsableUsername` and `IsUsableRepoName`
2025-01-25 14:36:47 +00:00
Lunny Xiao e94f37f95e
Refactor webhook events ()
Extract from 

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
yp05327 a0b3d9add0
Support disable passkey auth ()
Fix 

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-22 22:58:36 +00:00
wxiaoguang 6fe4d1c038
Remove duplicate "ResponseWriter.Status" method () 2025-01-22 06:37:52 +00:00
wxiaoguang 7069369e03
Support performance trace ()
1. Add a OpenTelemetry-like shim-layer to collect traces
2. Add a simple builtin trace collector and exporter, end users could
download the diagnosis report to get the traces.

This PR's design is quite lightweight, no hard-dependency, and it is
easy to improve or remove. We can try it on gitea.com first to see
whether it works well, and fine tune the details.

---------

Co-authored-by: silverwind <me@silverwind.io>
2025-01-21 18:57:07 +00:00
wxiaoguang 46d1e91aed
Fix issue count ()
Fix 
2025-01-21 18:53:44 +08:00
wxiaoguang 6cc1067884
Fix incorrect ref commit ID usage ()
After the RefName refactoring, the `ctx.Repo.CommitID` is only set when
there is a `RepoRefByType` middleware.

Many handlers do not use that middleware and they only use "default
branch"
2025-01-20 07:43:49 +00:00
wxiaoguang 6073e2f1bb
Refactor response writer & access logger ()
And add comments & tests
2025-01-20 06:25:17 +00:00
CrimsonEdgeHope 1928918c35
Fix Account linking page ()
Fix password form missing whilst linking account even with
`ENABLE_PASSWORD_SIGNIN_FORM = true`.

Remove redundant empty box in account linking sign up page when
`LinkAccountMode` is true.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-19 20:37:22 +08:00
Vladimir Sysoev dc2308a959
Make tracked time representation display as hours ()
Estimated time represented in hours it might be convenient to
have tracked time represented in the same way to be compared and
managed.

---------

Co-authored-by: Sysoev, Vladimir <i@vsysoev.ru>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-19 09:30:44 +08:00
Chai-Shi 55e0756c68
Fix push message behavior ()
Fixes  by the logic from pr 

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-17 19:37:17 +00:00
wxiaoguang 3b839f8dc0
Trivial fixes ()
1. the error check was added for go-git, it was caused by the empty `.keep` file in the test fixtures.
2. use `PostFormValue` instead of `PostForm.Get` (`Get` needs to parse the form ahead)
3. fix incorrect container text (it should show "Images" in the header but not "OS/Arch")
4. align maven xml
5. fix closed PR color&icon
2025-01-17 08:55:02 +00:00
wxiaoguang cfc6e21f06
Fix incorrect ref usages ()
Fix 

By the way, improve some locales
2025-01-16 13:52:21 +00:00
Kemal Zebari 2483a93fbc
Only allow admins to rename default/protected branches ()
Currently, anyone with write permissions to a repo are able to rename
default or protected branches.

This change follows
[GitHub's](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/renaming-a-branch)
design by only allowing repo/site admins to change these branches.
However, it also follows are current design for protected branches and
only allows admins to modify branch names == branch protection rule
names. Glob-based rules cannot be renamed by anyone (as was already the
case, but we now catch `ErrBranchIsProtected` which we previously did
not catch, throwing a 500).
2025-01-15 20:51:49 +00:00
wxiaoguang b15d01b0ce
Prepare for support performance trace ()
For 
2025-01-15 20:05:18 +00:00
Zettat123 d0962ce3da
Move some Actions related functions from `routers` to `services` ()
Move the main logic of `generateTaskContext` and `findTaskNeeds` to the
`services` layer.

This is a part of , since we need the git context and `needs` to
parse the concurrency expressions.

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-15 21:34:30 +08:00
wxiaoguang f6dbf0e7b3
Fix incorrect TagName/BranchName usages ()
Add add a new test
2025-01-15 17:34:55 +08:00
wxiaoguang fcd096231a
Simplify context ref name () 2025-01-15 11:15:47 +08:00
wxiaoguang 4d399e717d
Fix some broken route handlers ()
Some mistakes introduced by recent refactoring PRs (some sidebar
dropdowns doesn't work)
2025-01-14 19:03:02 +00:00
Lunny Xiao 6410c34b7f
Refactor ref type ()
Major changes:

1. do not sync ".keep" file during tests
2. fix incorrect route handler and empty repo handling (backported as  with tests)
3. do not use `RepoRef`: most of the calls are abuses.
4. Use `git.RefType` instead of a new type definition `RepoRefType` on `context`.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-14 15:35:34 +08:00
wxiaoguang a98a836e76
Support public code/issue access for private repositories ()
Close , close  (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 ()
Found while investigating .

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
Michael B. a90af22003
Let API create and edit system webhooks, attempt 2 ()
This PR fixes inconsistencies between system and default webhooks in the
Gitea API. (See also )
- A system webhook is a webhook that captures events for all
repositories.
- A default webhook is copied to a new repository when it is created. 

Before this PR `POST /api/v1/admin/hooks/` creates default webhooks (if
not configured otherwise) and `GET /api/v1/admin/hooks/` returns system
webhooks.

The PR introduces an optional query parameter to `GET
/api/v1/admin/hooks/` to enable selecting if either default, system or
both kind of webhooks should be retrieved. By default the flag is set to
return system webhooks keep current behaviour.

## Examples

### System Webhooks

#### Create

```
POST /api/v1/admin/hooks/

{
  "type": "gitea",
  "active": false,
  "branch_filter": "*",
  "events": [ "create", "..." ],
  "config": {
    "url": "http://...",
    "content_type": "json",
    "secret": "secret",
    "is_system_webhook": true // <-- controls hook type
  }
}
```

#### List
```
GET/api/v1/admin/hooks?type=system //type argument is optional here since it's the default
```

#### Others
The other relevant endpoints work as expected by referencing the hook by
id
```
GET /api/v1/admin/hooks/:id
PATCH /api/v1/admin/hooks/:id
DELETE /api/v1/admin/hooks/:id
```


### Default Webhooks

#### Create
```
POST /api/v1/admin/hooks/

{
  "type": "gitea",
  "active": false,
  "branch_filter": "*",
  "events": [ "create", "..." ],
  "config": {
    "url": "http://...",
    "content_type": "json",
    "secret": "secret",
    "is_system_webhook": false // optional, as false is the default value
  }
}
```

#### List
```
GET/api/v1/admin/hooks?type=default
```

#### Others
The other relevant endpoints work as expected by referencing the hook by
id
```
GET /api/v1/admin/hooks/:id
PATCH /api/v1/admin/hooks/:id
DELETE /api/v1/admin/hooks/:id
```
2025-01-13 17:17:39 +00:00
wxiaoguang 348b7074c8
Fix incorrect ref "blob" ()
1. "blob" is not a "ref", it shouldn't (and not unable to) be handled by
`RepoRefByType`
2. the `/blob/{sha}` handle should use the path param "sha" directly
2025-01-13 16:27:11 +08:00
wxiaoguang 2ea929a952
Refactor RefName ()
And fix some FIXMEs
2025-01-13 14:01:53 +08:00
wxiaoguang 81352542fd
Refactor context RefName and RepoAssignment ()
The `ctx.Repo.RefName` was used to be a "short name", it causes a lot of
ambiguity.

This PR does some refactoring and use `RefFullName` to replace the
legacy `RefName`, and simplify RepoAssignment
2025-01-13 01:07:05 +00:00
wxiaoguang a068462ac0
Refactor context repository () 2025-01-12 03:39:46 +00:00
Lunny Xiao d3083d2198
Some small refactors () 2025-01-10 06:00:06 +00:00
Chai-Shi e5f3c16587
Fix sync fork for consistency ()
Fixes 

An integration test could be added.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-10 05:29:55 +00:00
Lunny Xiao 39d51e7c82
Automerge supports deleting branch automatically after merging ()
Resolve  
~Depends on #27151~

- [x] It will display a checkbox of deleting the head branch on the pull
request view page when starting an auto-merge task.
- [x] Add permission check before deleting the branch
- [x] Add delete branch comment for those closing pull requests because
of head branch or base branch was deleted.
- [x] Merge `RetargetChildrenOnMerge` and `AddDeletePRBranchComment`
into `service.DeleteBranch`.
2025-01-10 03:51:03 +08:00
TheFox0x7 2a02734f93
Refactor older tests to use testify ()
Refactor checks to use assert/require
Use require.Eventually for waiting in elastic and meilisearch tests
Use require to exit early instead of assert
2025-01-09 09:21:47 +08:00
Lunny Xiao 67aeb1f896
Add missed transaction on setmerged ()
Follow . There are two updates on `Set Merged`, which should be in
one transaction.
This also introduced some refactors for changeissuestatus to make it
more clear.
2025-01-08 03:16:56 +00:00
Rowan Bohde a8e7caedfa
add submodule diff links ()
This adds links to submodules in diffs, similar to the existing link
when viewing a repo at a specific commit. It does this by expanding diff
parsing to recognize changes to submodules, and find the specific refs
that are added, deleted or changed.

Related 

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-08 01:38:30 +00:00
wxiaoguang 34dfc25b83
Make git clone URL could use current signed-in user ()
close 

* Add a special value for "SSH_USER" setting: `(DOER_USERNAME)`
* Improve parseRepositoryURL and add tests (now it doesn't have hard
dependency on some setting values)

Many changes are just adding "ctx" and "doer" argument to functions.

By the way, improve app.example.ini, remove all `%(key)s` syntax, it
only makes messy and no user really cares about it.

Document: https://gitea.com/gitea/docs/pulls/138
2025-01-07 13:17:44 +08:00
Lunny Xiao 98637fe76e
Filter reviews of one pull request in memory instead of database to reduce slow response because of lacking database index ()
This PR fixes a performance problem when reviewing a pull request in a
big instance which have many records in the `review` table.
Traditionally, we should add more indexes in that table. But since
dismissed reviews of 1 pull request will not be too many as expected in
a common repository. Filtering reviews in the memory should be more
quick .

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-07 10:50:09 +08:00
Chai-Shi 1a95d9d6a1
fix empty repo updated time ()
fixes  

routers/web/repo/view_home.go

![image](https://github.com/user-attachments/assets/b0d6c5f5-7abc-478a-8d41-4b44dbd460aa)

Calling `updateContextRepoEmptyAndStatus` will always ask the DB to
update the updated Unix attributes.
When revisiting the repo's home page, the timestamp will be updated
unexpectedly, so I added the needsUpdate variable to check whether, in
the end, the commitment to db update is necessary if columns have not
changed at all.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-07 01:54:06 +08:00
wxiaoguang 80e4f4c4eb
Refactor package (routes and error handling, npm peer dependency) () 2025-01-06 22:45:20 +08:00
wxiaoguang 40765b5d45
Fix repo empty guide () 2025-01-06 12:07:52 +08:00
ChristopherHX 4237736029
workflow_dispatch use workflow from trigger branch ()
* htmx updates the input form on branch switch
* add workflow warning to dispatch modal
* use name if description of input is empty
* show error if workflow_dispatch not available on branch

Closes 
Closes 

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2025-01-05 21:47:18 +08:00
wxiaoguang 3d544a3ad3
Fix empty git repo handling logic ()
Fix 
2025-01-04 18:47:24 +08:00
Kemal Zebari 188e0ee8e4
Use `Project-URL` metadata field to get a PyPI package's homepage URL ()
Resolves .
2025-01-03 21:09:47 +00:00
wxiaoguang 68972a9947
Clean up legacy form CSS styles () 2025-01-03 04:01:19 +00:00
wxiaoguang 45973a100b
Fix bleve fuzziness search ()
Close 
2025-01-03 00:32:02 +08:00
wxiaoguang 2564c15cb0
Remove some unnecessary template helpers ()
DisableGitHooks and DisableImportLocal are only used when editing a
user, so only set them in `editUserCommon`
2025-01-01 18:02:34 +08:00
Lunny Xiao 20c7fba601
Use project's redirect url instead of composing url ()
Fix 

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-31 19:19:53 +08:00
wxiaoguang e5c576e92b
Refactor maven package registry ()
Close 
2024-12-31 05:30:52 +00:00
Chai-Shi 0387195abb
[Feature] Private README.md for organization ()
Implemented 

---------

Co-authored-by: Ben Chang <ben_chang@htc.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-31 04:22:09 +00:00
Lunny Xiao fe32ffe181
Merge updatecommentattachment functions ()
Extract from 
2024-12-30 18:21:57 +00:00
Lunny Xiao d45456b1b5
Move SetMerged to service layer ()
No code change.
Extract from 
2024-12-30 07:04:03 +00:00
Lunny Xiao f4ccbd38dc
Use gitrepo.GetTreePathLatestCommit to get file lastest commit instead from latest commit cache ()
The latest commit cache is currently used only for listing tree files.
However, a cold start may take longer than directly invoking the Git
command. This PR addresses the issue of slow response times when
accessing raw files, improving performance in such scenarios.

```log
gitea.log:105521:2024/12/23 08:22:18 ...eb/routing/logger.go:68:func1() [W] router: slow      GET /xxxx/xxxxxx/raw/commit/xxxxxxxxxxxxxxxxxxxxxxxxxxx/.editorconfig for 172.18.0.5:53252, elapsed 3526.8ms @ repo/download.go:117(repo.SingleDownload)
```
2024-12-30 03:30:01 +00:00
wxiaoguang cd1b5488a3
Refactor pagination ()
I am sure the simple approach should work, let's try it in 1.24

Follow  and 
2024-12-30 01:57:38 +00:00
wxiaoguang 0ed160ffea
Refactor tests ()
1. fix incorrect tests, for example: BeanExists doesn't do assert and
shouldn't be used
2. remove unnecessary test functions
3. introduce DumpQueryResult to help to see the database rows during
test (at least I need it)

```
====== DumpQueryResult: SELECT * FROM action_runner_token ======
- # row[0]
  id: 1
  token: xeiWBL5kuTYxGPynHCqQdoeYmJAeG3IzGXCYTrDX
  owner_id: 0
...
```
2024-12-29 01:05:56 +00:00
wxiaoguang e435b1900a
Refactor arch route handlers () 2024-12-28 03:31:46 +00:00
Blender Defender 079a1ffe8f
De-emphasize signed commits ()
The new code structure is easier to make more improvements or
refactor, for example: change the colors to de-emphasize more, or design
some new layouts.

---------

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-28 04:18:30 +08:00
Zettat123 2d1a171dc7
Support for email addresses containing uppercase characters when activating user account ()
Fix 

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-27 19:16:23 +08:00
Zettat123 44b4fb21a4
Support org labels when adding labels by label names ()
Fix 
2024-12-26 19:14:49 +00:00
yp05327 7bb7ba1b5b
Add `show more` organizations icon in user's profile ()
Close 

# ⚠️ Doc update is required


![image](https://github.com/user-attachments/assets/296c5109-8fc1-43ea-b7dc-e79919cc1f9a)

![image](https://github.com/user-attachments/assets/d30980f6-22e4-4b97-9143-c750dc399da6)


------
⚠️This PR refuses to be cherry-picked by any forked projects without any
mentions.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-27 02:49:50 +08:00
wxiaoguang 9bfa9f450d
Refactor "string truncate" () 2024-12-26 11:56:03 +08:00
Lunny Xiao 5feb1a6bff
Use `CloseIssue` and `ReopenIssue` instead of `ChangeStatus` ()
The behaviors of closing issues and reopening issues are very different.
So splitting it into two different functions makes it easier to
maintain.

- [x] Split ChangeIssueStatus into CloseIssue and ReopenIssue both at
the service layer and model layer
- [x] Rename `isClosed` to `CloseOrReopen` to make it more readable.
- [x] Add transactions for ReopenIssue and CloseIssue

---------

Co-authored-by: Zettat123 <zettat123@gmail.com>
2024-12-25 07:38:30 +00:00
wxiaoguang 973363fec3
Fix maven pom inheritance ()
Fix  
2024-12-25 04:28:37 +00:00
wxiaoguang ca31d478ee
Refactor arch route handlers () 2024-12-25 04:03:14 +00:00
wxiaoguang b7260400f8
Refactor tmpl and blob_excerpt ()
1. do not use `{{/* */}}` to remove spaces, use `{{- -}}`
2. fix "blob_excerpt" endpoint, remove the legacy fragile code: have
tested commit diff and wiki diff
2024-12-25 00:51:13 +08:00
wxiaoguang 2a828e2798
Clarify path param naming ()
In history (from some legacy frameworks), both `:name` and `name` are
supported as path path name, `:name` is an alias to `name`.

To make code consistent, now we should only use `name` but not `:name`.

Also added panic check in related functions to make sure the name won't
be abused in case some downstreams still use them.
2024-12-24 13:47:45 +00:00
wxiaoguang 6d5aa9218e
Refactor request context ()
Introduce RequestContext: is a short-lived context that is used to store
request-specific data.

RequestContext could be used to clean form tmp files, close context git
repo, and do some tracing in the future.

Then a lot of legacy code could be removed or improved. For example:
most `ctx.Repo.GitRepo.Close()` could be removed because the git repo
could be closed when the request is done.
2024-12-24 11:43:57 +08:00
wxiaoguang 781c6df40f
Add sub issue list support ()
Just like GitHub, show issue icon/title when the issue number is in a list
2024-12-24 01:54:19 +00:00
wxiaoguang 7553ae1a57
Use env GITEA_RUNNER_REGISTRATION_TOKEN as global runner token ()
Fix 

When Gitea starts, it reads GITEA_RUNNER_REGISTRATION_TOKEN
or GITEA_RUNNER_REGISTRATION_TOKEN_FILE to add registration token.
2024-12-23 09:59:16 +00:00
bytedream 6279646ee4
Add auto-expanding running actions step ()
Auto-expands the currently running action step.

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-22 18:57:17 +00:00
wxiaoguang a163c53a60
Refactor template & test related code ()
Move some legacy code from "base" package to proper packages.
2024-12-22 15:33:19 +00:00
Lunny Xiao 751fe8b714
Move some errors to their own sub packages () 2024-12-20 18:05:29 +00:00
wxiaoguang 52b319bc00
Refactor pprof labels and process desc ()
* Deprecate "gopid" in log, it is not useful and requires very hacky
approach
* Remove "git.Command.SetDescription" because it is not useful and only
makes the logs too flexible
2024-12-20 12:17:14 +08:00
silverwind 626b27bea5
Update go tool dependencies ()
Update all go tool dependencies to latest version. WIP because I think
there are new gopls errors, would like to confirm them on CI first. Here
is from a local run:

```
modules/markup/markdown/goldmark.go:115:37-53: unnecessary type arguments
modules/markup/html.go:45:32-49: unnecessary type arguments
modules/markup/internal/renderinternal.go:20:33-49: unnecessary type arguments
modules/markup/common/linkify.go:27:32-49: unnecessary type arguments
modules/util/time_str.go:28:39-63: unnecessary type arguments
routers/web/repo/pull.go:704:19: impossible condition: non-nil == nil
modules/util/util_test.go:248:14-23: unused parameter: other
```

~~Backport because the `gxz` update might have security benefits.~~
2024-12-19 19:17:55 +01:00
silverwind 141d782c1a
Refactor repo-projects.ts ()
- Remove jQuery
- Add types to all functions
- Tested all modified functionality

---------

Co-authored-by: Giteabot <teabot@gitea.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-19 08:37:12 +00:00
Lunny Xiao f9f62b4c4c
Move delete deploy keys into service layer () 2024-12-18 04:10:38 +00:00
Lunny Xiao e4c4629465
Move RepoTransfer from models to models/repo sub package ()
`RepoTransfer` now is at models, but if we want to move it into `repo`
model, it will depend on `Team`. So this PR also makes repo model depend
on org model to make it possible. Just refactor, no code change.

- [x] Move `DeleteOrganization` from `models/organization` to service
layer
- [x] Move `AccessibleTeamReposEnv` to `models/repo`
- [x] Move `RepoTransfer` from `models` to `models/repo`
- [x] Merge `getUserTeamIDs` and `GetUserTeamIDs`, Merge `GetUserTeams`
and `getUserTeams`.
- [x] Remove `Team`'s `Repos []*repo_model.Repository` to avoid dependency recycle.
2024-12-18 11:44:16 +08:00
wxiaoguang 2d7e6e9482
Fix various trivial problems ()
1. add/improve comments to help future readers could understand the
problem more easily.
2. add an error log to LDAP with username fallback
3. use `or` instead of `Iif` for "repo/branch_dropdown" (`Iif` was a
mistake, but it doesn't really affect the UI)
4. add `tw-font-mono` style to container digest to match dockerhub
5. fix a bug in RepoBranchTagSelector: the form is not updated when
there is no click to an item

---------

Co-authored-by: delvh <dev.lh@web.de>
2024-12-17 01:15:18 +00:00
Lunny Xiao 42090844ed
Fix bug on action list deleted branch ()
Fix
https://github.com/go-gitea/gitea/issues/32761#issuecomment-2540946064

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-16 05:38:39 +08:00
TheFox0x7 33e8e82c4b
Enable tenv and testifylint rules ()
Enables tenv and testifylint linters
closes: https://github.com/go-gitea/gitea/issues/32842
2024-12-15 10:41:29 +00:00
silverwind 1cfb718976
Update golangci-lint to v1.62.2, fix issues ()
Update it and fix new issues related to `redefines-builtin-id`
2024-12-15 02:31:07 +00:00
Zettat123 7269130d28
Fix missing outputs for jobs with matrix ()
Fix 

If a job uses a matrix, multiple `ActionRunJobs` may have the same
`JobID`. We need to merge the outputs of these jobs to make them
available to the jobs that need them.
2024-12-14 10:22:30 +08:00
wxiaoguang a66c16dc1b
Allow to fork repository into the same owner ()
This feature is experimental, not fully tested, and may be changed in
the future.

It is only designed for users who really need it: set
`[repository].ALLOW_FORK_INTO_SAME_OWNER=true` in your app.ini

Doc: https://gitea.com/gitea/docs/pulls/122


![image](https://github.com/user-attachments/assets/38d08c23-9cfc-49d8-9321-ff81edf65395)
2024-12-14 09:39:05 +08:00
Lunny Xiao 6370d2fb93
Detect whether action view branch was deleted ()
Fix  

![图片](https://github.com/user-attachments/assets/a5a7eef8-0fea-4242-b199-1b0b73d9bbdb)
2024-12-12 19:28:23 +00:00
wxiaoguang 22bf2ca6ba
Make API "compare" accept commit IDs () 2024-12-12 08:10:09 +00:00
Kemal Zebari 01b1896bf5
Implement update branch API ()
Resolves .

Builds upon .

---------

Co-authored-by: sillyguodong <33891828+sillyguodong@users.noreply.github.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-12 05:02:35 +00:00
yp05327 d43620e7bc
Add `is_archived` option for issue indexer ()
Try to fix 

Reason:
`is_archived` is already defined in the query options, but it is not
implemented in the indexer.
2024-12-12 07:33:31 +08:00
Sebastian T. T. 874b8484aa
Add standard-compliant route to serve outdated R packages ()
The R package repository currently does not have support for older
versions of packages which should be stored in a separate /Archive
router. This PR remedies that by adding a new path router.

I am a member of a group that loves using Gitea and this bug has been
annoying us for a long time. Hope it can be merged in time for Gitea
1.23.0.

Any feedback much appreciated.

Fixes 
2024-12-11 16:20:04 +00:00
Blender Defender 18061af490
Rearrange Clone Panel ()
Rearrange the clone panel to use less horizontal space.
The following changes have been made to achieve this:
- Moved everything into the dropdown menu
- Moved the HTTPS/SSH Switch to a separate line
- Moved the "Clone in VS Code"-Button up and added a divider
- Named the dropdown button "Code", added appropriate icon

---------

Co-authored-by: techknowlogick <techknowlogick@gitea.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-11 21:54:30 +08:00
wxiaoguang e619384098
Add label/author/assignee filters to the user/org home issue list ()
Replace , fix 

Not perfect, but usable and much better than before. Since it is quite
complex, I am not quite sure whether there would be any regression, if
any, I will fix in first time.

I have tested the related pages many times: issue list, milestone issue
list, project view, user issue list, org issue list.
2024-12-11 06:33:24 +00:00
Lunny Xiao fbe6d9dc6b
Use batch database operations instead of one by one to optimze api pulls ()
Resolve 

The response time for the Pull Requests API has improved significantly,
dropping from over `2000ms` to about `350ms` on my local machine. It's
about `6` times faster.

A key area for further optimization lies in batch-fetching data for
`apiPullRequest.ChangedFiles, apiPullRequest.Additions, and
apiPullRequest.Deletions`.

Tests `TestAPIViewPulls` does exist and new tests added.

- This PR also fixes some bugs in `GetDiff` functions.
- This PR also fixes data inconsistent in test data. For a pull request,
the head branch's reference should be equal to the reference in
`pull/xxx/head`.
2024-12-11 05:15:06 +08:00
yp05327 2ac6f2b129
Fix internal server error when updating labels without write permission ()
Fix 

if permission denined, `prepareForReplaceOrAdd` will return nothing, and
this case is not handled.
2024-12-10 18:42:52 +00:00
wxiaoguang 90d20be541
Refactor issue filter (labels, poster, assignee) ()
Rewrite a lot of legacy strange code, remove duplicate code, remove
jquery, and make these filters reusable.

Let's forget the old code, new code affects: 

* issue list open/close switch
* issue list filter (label, author, assignee)
* milestone list open/close switch
* milestone issue list filter (label, author, assignee)
* project view (label, assignee)
2024-12-10 11:38:22 +08:00
wxiaoguang 1b069dc94a
Make RepoActionView.vue support `##[group]` () 2024-12-10 01:57:20 +00:00
wxiaoguang 23471e1333
Refactor issue list ()
1. add backend support for filtering "poster" and "assignee"
    * due to the limits, there is no frontend support at the moment
2. rewrite TS code without jquery, now there are 14 jQuery files left:
2024-12-08 20:44:17 +08:00
Lunny Xiao 9d08d3fbf5
Fix compare page bug view as anonymous ()
Fix a bug introduced from
https://github.com/go-gitea/gitea/pull/32403/files#diff-dc86301f15109eee38296d469630672193e0587ad1485fdd8f503bf4c789cf7eR692
2024-12-08 14:38:21 +08:00
Lunny Xiao cd7bf77b2f
Split issue/pull view router function as multiple smaller functions ()
This PR splits issue/pull view function into multiple smaller functions.
It also removed duplicated branches load.
2024-12-08 04:39:35 +00:00
metiftikci ad994780af
fix: render job title as commit message ()
resolves 

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-08 03:23:09 +00:00
metiftikci 6bd70d4d87
fix(project): add title to project view page ()
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-07 12:44:33 +08:00
wxiaoguang 513da407f4
Support "merge upstream branch" (Sync fork) ()
Add basic "sync fork" support (GitHub-like)

<details>

![image](https://github.com/user-attachments/assets/e71473f4-4518-48c7-b9e2-fedfcd564fc3)

</details>
2024-12-06 21:10:35 +00:00
yp05327 faf5705d29
GitHub like repo home page ()
Move some components (description, license, release, language stats) to sidebar

---------

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2024-12-06 14:29:04 +00:00