aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make runs-on support variable expression (#29468)sillyguodong2024-03-086-72/+99
| | | | | | | | As title. Close issue: https://gitea.com/gitea/act_runner/issues/445 Follow: https://gitea.com/gitea/act/pulls/91 Move `getSecretsOfTask` and `getVariablesOfTask` under `models` because of circular dependency issues.
* Filter for default-branch selection (#29388)Tim-Niclas Oelschläger2024-03-081-1/+1
| | | | | | | | | | | | | | | Filter for default-branch selection (fixes #4751) before: ![image](https://github.com/go-gitea/gitea/assets/72873130/dcae266d-2e04-41bf-8739-64a85c9007f6) after: ![image](https://github.com/go-gitea/gitea/assets/72873130/5f27c0a7-1d30-4ccd-b4bb-6c34fff1b79f) --------- Co-authored-by: silverwind <me@silverwind.io>
* Fixing the issue when status check per rule matches multiple actions (#29631)charles2024-03-082-7/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Close #29628 rule ``` Test / Build* Test / Build * Test / Build 2* Test / Build 1* ``` ![image](https://github.com/go-gitea/gitea/assets/30816317/19bef0a9-fa97-43c5-887b-dece76064aa8) rule2 ``` Test / Build* Test / Build 1* ``` ![image](https://github.com/go-gitea/gitea/assets/30816317/19bef0a9-fa97-43c5-887b-dece76064aa8) rule3 ``` Test / Build* Test / Build 1* NotExist* ``` ![image](https://github.com/go-gitea/gitea/assets/30816317/f6a5e832-2e1b-4049-915b-45bec5ef070c) --------- Co-authored-by: Zettat123 <zettat123@gmail.com>
* Fix 500 when deleting account with incorrect password or unsupported login ↵Lunny Xiao2024-03-082-2/+19
| | | | | | | | | type (#29579) Fix #26210 --------- Co-authored-by: Jason Song <i@wolfogre.com>
* Partially enable MSSQL case-sensitive collation support (#29238)wxiaoguang2024-03-085-24/+17
| | | Follow #28662
* Store webhook event in database (#29145)oliverpool2024-03-0728-1545/+1713
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the webhook logic, to have the type-dependent processing happen only in one place. --- ## Current webhook flow 1. An event happens 2. It is pre-processed (depending on the webhook type) and its body is added to a task queue 3. When the task is processed, some more logic (depending on the webhook type as well) is applied to make an HTTP request This means that webhook-type dependant logic is needed in step 2 and 3. This is cumbersome and brittle to maintain. Updated webhook flow with this PR: 1. An event happens 2. It is stored as-is and added to a task queue 3. When the task is processed, the event is processed (depending on the webhook type) to make an HTTP request So the only webhook-type dependent logic happens in one place (step 3) which should be much more robust. ## Consequences of the refactor - the raw event must be stored in the hooktask (until now, the pre-processed body was stored) - to ensure that previous hooktasks are correctly sent, a `payload_version` is added (version 1: the body has already been pre-process / version 2: the body is the raw event) So future webhook additions will only have to deal with creating an http.Request based on the raw event (no need to adjust the code in multiple places, like currently). Moreover since this processing happens when fetching from the task queue, it ensures that the queuing of new events (upon a `git push` for instance) does not get slowed down by a slow webhook. As a concrete example, the PR #19307 for custom webhooks, should be substantially smaller: - no need to change `services/webhook/deliver.go` - minimal change in `services/webhook/webhook.go` (add the new webhook to the map) - no need to change all the individual webhook files (since with this refactor the `*webhook_model.Webhook` is provided as argument)
* Fix bug hidden on CI and make ci failed if tests failure (#29254)Lunny Xiao2024-03-0720-46/+174
| | | | | | | | | | | | | | | | | | | | | | | | | | | The tests on migration tests failed but CI reports successfully https://github.com/go-gitea/gitea/actions/runs/7364373807/job/20044685969#step:8:141 This PR will fix the bug on migration v283 and also the CI hidden behaviour. The reason is on the Makefile `GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' $(MIGRATE_TEST_PACKAGES)` will return the error exit code. But `for pkg in $(shell $(GO) list code.gitea.io/gitea/models/migrations/...); do \ GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' $$pkg; \ done` will not work. This also fix #29602
* Remove jQuery AJAX from the repo editor (#29636)Yarden Shoham2024-03-072-30/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Preview Tab - Removed the jQuery AJAX call and replaced with our fetch wrapper - Tested the preview tab functionality and it works as before # Diff Tab - Removed the jQuery AJAX call and replaced with htmx - Tested the diff tab functionality and it works as before ## htmx Attributes - `hx-post="{{.RepoLink}}..."`: make a POST request to the endpoint - `hx-indicator=".tab[data-tab='diff']"`: attach the loading indicator to the tab body - `hx-target=".tab[data-tab='diff']"`: target the tab body for swapping with the response - `hx-swap="innerHTML"`: swap the target's inner HTML - `hx-include="#edit_area"`: include the value of the textarea (content) in the request body - `hx-vals='{"context":"{{.BranchLink}}"}'`: include the context in the request body - `hx-params="context,content"`: include only these keys in the request body # Demo using `fetch` and `htmx` instead of jQuery AJAX ![demo](https://github.com/go-gitea/gitea/assets/20454870/585cd6e8-f329-4c9e-ab53-a540acbd7988) --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: silverwind <me@silverwind.io>
* Use strict protocol check when redirect (#29642)wxiaoguang2024-03-072-1/+48
|
* Update various logos and unify their filenames (#29637)silverwind2024-03-0616-10/+10
| | | | | | | | 1. Checked all logos, updated 3 of them to newer versions. 2. Remove `open-with-` infix on the editor logos to be consistent with other files. <img width="626" alt="image" src="https://github.com/go-gitea/gitea/assets/115237/3b2d9486-6e0a-45c6-b0e4-d38dc4c0b118">
* Tweak actions color and borders (#29640)silverwind2024-03-063-42/+44
| | | | | | | | | | | - Increase contrast overall - Unalias the ansi color in dark theme and copy them to light - Add outer border - Add border radius <img width="1337" alt="Screenshot 2024-03-06 at 22 30 03" src="https://github.com/go-gitea/gitea/assets/115237/11407c0f-0bb2-435e-a034-22b1f106d9b0"> <img width="1335" alt="Screenshot 2024-03-06 at 22 36 59" src="https://github.com/go-gitea/gitea/assets/115237/267db442-0979-4acc-a79e-8579b4cb0262">
* Add download URL for executable files (#28260)Earl Warren2024-03-061-1/+1
| | | | | | Consider executable files as a valid case when returning a DownloadURL for them. They are just regular files with the difference being the executable permission bit being set. Co-authored-by: Gusted <postmaster@gusted.xyz>
* Move all login and account creation page labels to be above inputs (#29432)Rafael Heard2024-03-0613-58/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a few inconsistencies within Gitea and this PR addresses one of them. This PR updates the sign-in page layout, including the register and openID tabs, to match the layout of the settings pages (/user/settings) for more consistency. This PR updates the following routes: `/user/login` `/user/sign_up` `/user/login/openid` `/user/forgot_password` `/user/link_account` `/user/recover_account` **Before** <img width="968" alt="Screenshot 2024-02-05 at 8 27 24 AM" src="https://github.com/go-gitea/gitea/assets/6152817/fb0cb517-57c0-4eed-be1d-56f36bd1960d"> **After** <img width="968" alt="Screenshot 2024-02-05 at 8 26 39 AM" src="https://github.com/go-gitea/gitea/assets/6152817/428d691d-0a42-4a67-a646-05527f2a7b41"> This PR addresses a revert of the original PR due to this [comment](https://github.com/go-gitea/gitea/pull/28753#issuecomment-1956596817). --------- Co-authored-by: rafh <rafaelheard@gmail.com>
* Avoid issue info panic (#29625)wxiaoguang2024-03-061-3/+7
| | | Fix #29624
* Cache repository default branch commit status to reduce query on commit ↵Lunny Xiao2024-03-064-70/+145
| | | | | | | | | | | | | status table (#29444) After repository commit status has been introduced on dashaboard, the most top SQL comes from `GetLatestCommitStatusForPairs`. This PR adds a cache for the repository's default branch's latest combined commit status. When a new commit status updated, the cache will be marked as invalid. <img width="998" alt="image" src="https://github.com/go-gitea/gitea/assets/81045/76759de7-3a83-4d54-8571-278f5422aed3">
* Avoid unexpected panic in graceful manager (#29629)wxiaoguang2024-03-062-2/+18
| | | | | | | | | | | | There is a fundamental design problem of the "manager" and the "wait group". If nothing has started, the "Wait" just panics: sync: WaitGroup is reused before previous Wait has returned There is no clear solution besides a complete rewriting of the "manager" If there are some mistakes in the app.ini, end users would just see the "panic", but not the real error messages. A real case: #27643 This PR is just a quick fix for the annoying panic problem.
* Add a link for the recently pushed branch notification (#29627)wxiaoguang2024-03-061-1/+2
|
* Fix wrong header of org project view page (#29626)yp053272024-03-061-13/+15
| | | | | | | | | | | | | Follow #29248 The project view page still using `user/overview/header.tmpl` Before: ![image](https://github.com/go-gitea/gitea/assets/18380374/9cb638a3-7cc6-4efa-979a-e2592007fd12) After: ![image](https://github.com/go-gitea/gitea/assets/18380374/62b0b2ea-8cb0-459f-b27a-bad3908eb1c0)
* Detect broken git hooks (#29494)Jason Song2024-03-062-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | Detect broken git hooks by checking if the commit id of branches in DB is the same with the git repo. It can help #29338 #28277 and maybe more issues. Users could complain about actions, webhooks, and activities not working, but they were not aware that it is caused by broken git hooks unless they could see a warning. <img width="1348" alt="image" src="https://github.com/go-gitea/gitea/assets/9418365/2b92a46d-7f1d-4115-bef4-9f970bd695da"> It should be merged after #29493. Otherwise, users could see a ephemeral warning after committing and opening the repo home page immediately. And it also waits for #29495, since the doc link (the anchor part) will be updated. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: Giteabot <teabot@gitea.io>
* Sync branches to DB immediately when handle git hook calling (#29493)Jason Song2024-03-065-45/+283
| | | | | | | | | | | Unlike other async processing in the queue, we should sync branches to the DB immediately when handling git hook calling. If it fails, users can see the error message in the output of the git command. It can avoid potential inconsistency issues, and help #29494. --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Fix wrong line number in code search result (#29260)yp053272024-03-064-47/+47
| | | | | | | | | | | Fix #29136 Before: The result is a table and all line numbers are all in one row. After: Use a separate table column for the line numbers. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* Make wiki default branch name changable (#29603)wxiaoguang2024-03-0617-89/+232
| | | | | | | | | Fix #29000 Fix #28685 Fix #18568 Related: #27497 And by the way fix #24036, add a Cancel button there (one line)
* A small refactor for agit implementation (#29614)Lunny Xiao2024-03-061-40/+33
| | | | | | | | This PR made the code simpler, reduced unnecessary database queries and fixed some warnning for the errors.New . --------- Co-authored-by: KN4CK3R <admin@oldschoolhack.me>
* Update Twitter Logo (#29621)silverwind2024-03-062-2/+2
| | | | <img width="430" alt="image" src="https://github.com/go-gitea/gitea/assets/115237/9cf7b0a3-406b-4dd6-ab3d-d31a96b9335a">
* Fix 500 error when adding PR comment (#29622)wxiaoguang2024-03-061-0/+6
|
* Run editorconfig-checker on `locale_en-US.ini` (#29608)silverwind2024-03-062-1/+3
| | | | | | | Will prevent trailing whitespace etc being introduced in this file. --------- Co-authored-by: Giteabot <teabot@gitea.io>
* bump protobuf module (#29617)techknowlogick2024-03-052-3/+3
|
* Add ac claim for old docker/build-push-action@v3 / current buildx gha cache ↵ChristopherHX2024-03-052-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (#29584) Also resolves a warning for current releases ``` | ##[group]GitHub Actions runtime token ACs | ##[warning]Cannot parse GitHub Actions Runtime Token ACs: "undefined" is not valid JSON | ##[endgroup] ====> | ##[group]GitHub Actions runtime token ACs | ##[endgroup] ``` \* this is an error in v3 References in the docker org: - https://github.com/docker/build-push-action/blob/831ca179d3cf91cf0c90ca465a408fa61e2129a2/src/main.ts#L24 - https://github.com/docker/actions-toolkit/blob/7d8b4dc6694df35a06fae786427672ce27a8c18d/src/github.ts#L61 No known official action of GitHub makes use of this claim. Current releases throw an error when configure to use actions cache ``` | ERROR: failed to solve: failed to configure gha cache exporter: invalid token without access controls | ##[error]buildx failed with: ERROR: failed to solve: failed to configure gha cache exporter: invalid token without access controls ```
* Skip email domain check when admins edit user emails (#29609)Zettat1232024-03-056-9/+53
| | | | | | Follow #29522 Administrators should be able to set a user's email address even if the email address is not in `EMAIL_DOMAIN_ALLOWLIST`
* Improve natural sort (#29611)wxiaoguang2024-03-052-78/+12
| | | | Hugely simplify the code, and add more tests (only new approach could pass)
* Add empty repo check in `DetectAndHandleSchedules` (#29606)yp053272024-03-051-0/+4
| | | ![image](https://github.com/go-gitea/gitea/assets/18380374/e6081301-bd3e-4cf6-ba4e-e574348dffb4)
* Fix contributor graphs mobile layout and responsiveness (#29597)silverwind2024-03-051-4/+17
| | | | | | | | | Also removed a unneeded and actually conflicting class name `stats-table`. Fixes: https://github.com/go-gitea/gitea/issues/29192 <img width="445" alt="image" src="https://github.com/go-gitea/gitea/assets/115237/787804ed-6ba4-437f-b314-f23cbe2edf7a">
* Skip email domain check when admin users adds user manually (#29522)Zettat1232024-03-055-32/+93
| | | | | | Fix #27457 Administrators should be able to manually create any user even if the user's email address is not in `EMAIL_DOMAIN_ALLOWLIST`.
* Replace more `gt-` with `tw-`, update frontend docs (#29595)silverwind2024-03-0525-57/+48
| | | | | | | | Tested a few things, all working fine. Not sure if the chinese machine translation is good. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* Remove unnecessary ctxData for "attachments" template (#29600)wxiaoguang2024-03-054-5/+5
| | | The "attachments" template never uses it
* Adjust tailwind content globs (#29596)silverwind2024-03-051-1/+3
| | | | | | | | | | Tailwind content is not going to appear in `web_src/css`, `web_src/fomantic` or `web_src/svg` or the JSON templates, so we don't need to have tailwind scan these directories which will speed up the build. --------- Co-authored-by: delvh <dev.lh@web.de>
* Use flex wrap to layout the PR update button (#29590)wxiaoguang2024-03-051-9/+2
| | | | | | | | Follow #29418 I think using "flex-wrap: wrap" here is better than hard-coding the screen width. By using "flex-wrap: wrap", the UI layouts automatically for various widths (even if in some languages, the sentence might be pretty long)
* Make "/user/login" page redirect if the current user has signed in (#29583)wxiaoguang2024-03-054-12/+66
| | | | Fix #29582 and maybe more. Maybe fix #29116
* [skip ci] Updated translations via CrowdinGiteaBot2024-03-051-4/+7
|
* Fix projects mode bugs (#29593)Denys Konovalov2024-03-044-9/+10
| | | | | | | | | Fix for regressions introduced by #28805 Enabled projects on repos created before the PR weren't detected. Also, the way projects mode was detected in settings didn't match the way it was detected on permission check, which leads to confusion. Co-authored-by: Giteabot <teabot@gitea.io>
* Regenerate fomantic lockfile and build it with our browserslist (#29560)silverwind2024-03-043-689/+1267
| | | | | | | | | | | | | 1. Make fomantic build use [our browserslist](https://github.com/go-gitea/gitea/blob/e3524c63d6d42865ea8288af89b372544d35474b/package.json#L99). I found no other way than to sed-replace into it's js, the normal browserlist config files do not work. The effect of this change is the removal of some uneeded CSS vendor prefixes. 2. Regenerate `web_src/fomantic/package-lock.json`, this might shut up some security scanners. --------- Co-authored-by: Giteabot <teabot@gitea.io>
* Do not exceed display for the PR page buttons on smaller screens (#29418)charles2024-03-041-1/+1
| | | | | | | Fixes #29189. This is the result after the fix at a width of 768 pixels. ![圖片](https://github.com/go-gitea/gitea/assets/30816317/626d06b3-fd5b-4392-84e1-1191c965aff5)
* Add aria-label to the navbar menu button (#29587)wxiaoguang2024-03-042-2/+3
|
* Document that all unmerged feature PRs will be moved to next milestone when ↵Lunny Xiao2024-03-041-1/+1
| | | | | | | | | | | | the feature freeze time comes (#29578) Some contributors may be surprised when moving the feature PRs to the next release when the feature freeze time comes. So this PR documents the habits we have done for feature freeze so people expect the maintainers' behaviors. We are sorry for disturbing you with the milestones changes. A feature freeze announcement should be published 2 or 3 weeks before the feature freeze by maintainers.
* Make admin pages wider because of left sidebar added and some tables become ↵Lunny Xiao2024-03-041-1/+1
| | | | | | | | | | too narrow (#29581) Fix #25939 screenshots <img width="1895" alt="image" src="https://github.com/go-gitea/gitea/assets/81045/937eb28d-bb7d-4765-b580-bc991d61f467">
* Refactor star/watch button (#29576)wxiaoguang2024-03-043-17/+12
| | | | 1. Use "star/unstart", but not `{{if}}un{{}}star{{}}` (the same to "watch/unwatch") 2. Use "not-mobile" for hiding the elements on mobile
* Remove unnecessary SanitizeHTML from code (#29575)wxiaoguang2024-03-047-14/+7
| | | | | | * "mail/issue/default.tmpl": the body is rendered by backend `markdown.RenderString() HTML`, it has been already sanitized * "repo/settings/webhook/base_list.tmpl": "Description" is prepared by backend `ctx.Tr`, it doesn't need to be sanitized
* Add missing database transaction for new issue (#29490)Lunny Xiao2024-03-043-21/+26
| | | | When creating an issue, inserting issue, assign users and set project should be in the same transaction.
* Fix incorrect package link method calls in templates (#29580)wxiaoguang2024-03-045-5/+5
| | | | Fix #29562 Follow #29531
* Move some asymkey functions to service layer (#28894)Lunny Xiao2024-03-0416-140/+176
| | | | After the moving, all models will not depend on `util.Rename` so that I can do next step refactoring.