aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Refactor locale number (#24134)wxiaoguang2023-04-1719-106/+118
| | | | | | | | | | | | | | | | | | | | | | | | | | Before, the `GiteaLocaleNumber.js` was just written as a a drop-in replacement for old `js-pretty-number`. Actually, we can use Golang's `text` package to format. This PR partially completes the TODOs in `GiteaLocaleNumber.js`: > if we have complete backend locale support (eg: Golang "x/text" package), we can drop this component. > tooltip: only 2 usages of this, we can replace it with Golang's "x/text/number" package in the future. This PR also helps #24131 Screenshots: <details> ![image](https://user-images.githubusercontent.com/2114189/232179420-b1b9974b-9d96-4408-b209-b80182c8b359.png) ![image](https://user-images.githubusercontent.com/2114189/232179416-14f36aa0-3f3e-4ac9-b366-7bd3a4464a11.png) </details>
* [skip ci] Updated translations via CrowdinGiteaBot2023-04-1727-79/+0
|
* Use 1.18's aria role for dropdown menus (#24144)wxiaoguang2023-04-161-2/+2
| | | | | | | | | | | | According to erion's feedback, the 1.18 approach works with Safari (`role=menu` on the parent container), while the 1.19's approach doesn't work well with Safari+VoiceOver (although I tested it worked with Chrome a little better). I have tested this 1.18 approach could work for all Safari/Chrome+VoiceOver and Chrome+Talkback. Let's try to make it on try.gitea.io to see whether it helps Safari users.
* Set EasyMDE heading font-size to the same size as the resulting markdown ↵wxiaoguang2023-04-161-0/+25
| | | | | | | | | | | | | | | | | | | | (#24151) Fix #23816 According to my personal experience, the EasyMDE is still useful when writing a lot of contents, eg: the wiki page. It's not difficult to improve its heading styles, so let's make it. Before: <img width="815" alt="image" src="https://user-images.githubusercontent.com/2114189/232280943-9177f0bc-e380-426f-8588-20ff8d8e5293.png"> After: <img width="538" alt="image" src="https://user-images.githubusercontent.com/2114189/232280903-e8c476ee-f5b1-48fe-8a93-86fcd79680c3.png">
* Fix 2-dot direct compare to use the right base commit (#24133)Jonathan Tran2023-04-161-1/+5
| | | | | | For 2-dot direct compare, we should use the base commit in the title and templates, as is used elsewhere, not the common ancestor which is used for 3-dot compare. I believe that this change should have been included in #22949.
* Add migration to fix external unit access mode of owner/admin team (#24117)yp053272023-04-152-0/+51
| | | | | | Fix the incorrect migration in #23675 and #24012 External Unit (Tracker and Wiki) access mode should be `read` in owner/admin team.
* Remove untranslatable `on_date` key (#24106)Yarden Shoham2023-04-155-15/+74
| | | | | | | | | | | | | | | | | | | | - Follows #23988 - Fixes: #24074 by removing this key GitHub's `relative-time` elements allow us to force their rendering to `auto`, `past`, or `future` tense. We will never show an absolute date `on ...` in `TimeSince` ## Before ![image](https://user-images.githubusercontent.com/20454870/231735872-048c7bf3-6aa1-4113-929d-75a985c9922c.png) ## After ![image](https://user-images.githubusercontent.com/20454870/231736116-6ad47b63-77f4-4d3f-82a2-ee9a46ba2bd1.png) --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* [skip ci] Updated translations via CrowdinGiteaBot2023-04-153-15/+72
|
* Sort repo topic labels by name (#24123)wxiaoguang2023-04-143-9/+7
| | | | Close #24077
* Add option to search for users is active join a team (#24093)Tyrone Yeh2023-04-142-1/+2
| | | | | | | | Adding a user in a team to enter a username gives a list of no active users --------- Co-authored-by: Jason Song <i@wolfogre.com>
* Make more functions use ctx instead of db.DefaultContext (#24068)wxiaoguang2023-04-1417-79/+79
| | | | | | Continue the "ctx refactoring" work. There are still a lot db.DefaultContext, incorrect context could cause database deadlock errors.
* Fix meilisearch not working when searching across multiple repositories (#24109)Brecht Van Lommel2023-04-141-2/+4
| | | | | | This would happen in the issue and pull request dashboards, while the per repository lists worked fine. Use OR instead of AND for repo IDs.
* Show friendly 500 error page to users and developers (#24110)wxiaoguang2023-04-1410-172/+305
| | | | | | | | | | | | | | | | | | | | | | Close #24104 This also introduces many tests to cover many complex error handling functions. ### Before The details are never shown in production. <details> ![image](https://user-images.githubusercontent.com/2114189/231805004-13214579-4fbe-465a-821c-be75c2749097.png) </details> ### After The details could be shown to site admin users. It is safe. ![image](https://user-images.githubusercontent.com/2114189/231803912-d5660994-416f-4b27-a4f1-a4cc962091d4.png)
* Fix incorrect server error content in RunnersList (#24118)yp053272023-04-141-2/+2
|
* [skip ci] Updated translations via CrowdinGiteaBot2023-04-1420-20/+28
|
* Improve git log for debugging (#24095)wxiaoguang2023-04-133-59/+48
|
* Update redis library to support redis v7 (#24114)techknowlogick2023-04-139-18/+29
|
* Refactor cookie (#24107)wxiaoguang2023-04-1318-328/+141
| | | | | | | | | | | | Close #24062 At the beginning, I just wanted to fix the warning mentioned by #24062 But, the cookie code really doesn't look good to me, so clean up them. Complete the TODO on `SetCookie`: > TODO: Copied from gitea.com/macaron/macaron and should be improved after macaron removed.
* Fix admin team access mode value in team_unit table (#24012)yp053272023-04-136-45/+151
| | | | | Same as https://github.com/go-gitea/gitea/pull/23675 Feedback: https://github.com/go-gitea/gitea/pull/23879#issuecomment-1500923636
* Add monospace toggle button to textarea (#24034)silverwind2023-04-135-3/+29
| | | | | | | | | | | | | | | | | - Add new button to textarea to switch font. State is persisted in localStorage. - Change markdown-switch-easymde button from `<span>` to `<button>` - Slightly increased monospace font globally by 5% as I think it fits better. For hover effect on these buttons I'm deferring to https://github.com/go-gitea/gitea/pull/23896. ![](https://user-images.githubusercontent.com/115237/230948526-ecf8d730-0c69-4a8e-a1a5-1e5e079c754d.gif) --------- Co-authored-by: delvh <dev.lh@web.de>
* Correct the access log format (#24085)Gary Moon2023-04-136-6/+13
| | | | | | | | | | | The default access log format has been unnecessarily escaped, leading to spurious backslashes appearing in log lines. Additionally, the `RemoteAddr` field includes the port, which breaks most log parsers attempting to process it. I've added a call to `net.SplitHostPort()` attempting to isolate the address alone, with a fallback to the original address if it errs. Signed-off-by: Gary Moon <gary@garymoon.net>
* Changelog v1.19.1 (#24079) (#24092)65432023-04-131-1/+90
| | | Frontport #24079
* [skip ci] Updated translations via CrowdinGiteaBot2023-04-1327-0/+72
|
* Bump vm2 from 3.9.15 to 3.9.16 (#24089)dependabot[bot]2023-04-121-3/+3
| | | | | Bumps [vm2](https://github.com/patriksimek/vm2) from 3.9.15 to 3.9.16. Signed-off-by: dependabot[bot] <support@github.com>
* Fix difficult translation for other languages (#24070)Lunny Xiao2023-04-122-2/+2
| | | | | | | Fix https://github.com/go-gitea/gitea/pull/24051#discussion_r1163697643 --------- Co-authored-by: silverwind <me@silverwind.io>
* Fix mismatch between hook events and github event types (#24048)Zettat1232023-04-122-25/+362
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some workflow trigger events can have multiple activity types, such as `issues` and `pull_request`, and user can specify which types can trigger the workflow. See GitHub documentation: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows Now some hook events cannot match the workflow trigger events correctly because we don't check the activity types. For example, `pull_request_label` is an individual hook event. But there isn't a `pull_request_label` workflow trigger event, we can only use `pull_request` event's `label` activity type. If we don't check the activity types, the workflows without the `label` activity type may be triggered by the `pull_request_label` event by mistake. We need to improve the match logic. - [x] [`issues` ](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issues) - [x] [`issue_comment`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issue_comment) - [x] [`pull_request`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request) - [x] [`pull_request_review`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_review) - [x] [`pull_request_review_comment`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_review_comment) - [x] [`release`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#release) - [x] [`registry_package`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#registry_package)
* Improve LFS error logs (#24072)wxiaoguang2023-04-121-2/+3
| | | | | The error logs were not clear. Help (but not fix) #24053
* Update the value of the `diffEnd` when click `Show More` btn in the ↵sillyguodong2023-04-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | DiffFileTree (#24069) In the component `DiffFileTree`,if don't update the value of the `diffEnd` in the callback of ajax request, click `Show More` btn will always return the same response, duplicate files are appended to the file list. Before: https://user-images.githubusercontent.com/33891828/231371188-82d169af-10bb-47e2-8aca-83ced2597f2d.mov After: https://user-images.githubusercontent.com/33891828/231369805-39a5a4d0-662c-4f08-bc5a-7d31e8782453.mov --------- Co-authored-by: Giteabot <teabot@gitea.io> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Add tooltips to `Hide comment type` settings where necessary (#21306)delvh2023-04-122-2/+8
| | | | | Previously, this setting was pretty confusing for users, especially the difference between "reference" and "issue reference". Related: #21321.
* Use a general approach to access custom/static/builtin assets (#24022)wxiaoguang2023-04-1236-1054/+688
| | | | | | | | | | | | | | | | | | | The idea is to use a Layered Asset File-system (modules/assetfs/layered.go) For example: when there are 2 layers: "custom", "builtin", when access to asset "my/page.tmpl", the Layered Asset File-system will first try to use "custom" assets, if not found, then use "builtin" assets. This approach will hugely simplify a lot of code, make them testable. Other changes: * Simplify the AssetsHandlerFunc code * Simplify the `gitea embedded` sub-command code --------- Co-authored-by: Jason Song <i@wolfogre.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Make Release Download URLs predictable (#23891)JakobDev2023-04-125-15/+60
| | | | | | | | | | | | | | | | | | | | As promised in #23817, I have this made a PR to make Release Download URLs predictable. It currently follows the schema `<repo>/releases/download/<tag>/<filename>`. this already works, but it is nowhere shown in the UI or the API. The Problem is, that it is currently possible to have multiple files with the same name (why do we even allow this) for a release. I had written some Code to check, if a Release has 2 or more files with the same Name. If yes, it uses the old `attachments/<uuid>` URlL if no it uses the new fancy URL. I had also changed `<repo>/releases/download/<tag>/<filename>` to directly serve the File instead of redirecting, so people who who use automatic update checker don't end up with the `attachments/<uuid>` URL. Fixes #10919 --------- Co-authored-by: a1012112796 <1012112796@qq.com>
* Expand selected file when clicking file tree (#24041)sillyguodong2023-04-121-0/+10
| | | | | | | Auto expand the selected file when clicking the file item of the file tree. This is consistent with Github's behavior. https://user-images.githubusercontent.com/33891828/231048124-61f180af-adba-42d7-9ffa-626e1de04aed.mov
* Localize milestone related time strings (#24051)Yarden Shoham2023-04-125-10/+5
| | | | | | | - With #23988 in place, we can improve these timestamps --------- Co-authored-by: silverwind <me@silverwind.io>
* update BSDmakefile to latest version from upstream (#24063)techknowlogick2023-04-111-13/+20
| | | | from https://github.com/neosmart/gmake-proxy
* Add popup to hashed comments/pull requests/issues in file editing/adding ↵Hester Gong2023-04-112-10/+13
| | | | | | | | | | | | | | | | | | | | | | | preview tab (#24040) #23734 didn't add popups(tippy) to ref issues for the preview tab when adding/editing a file The location of the preview tab: <img width="1214" alt="截屏2023-04-10 13 55 38" src="https://user-images.githubusercontent.com/17645053/230836213-a73f0cee-378c-4a21-93db-583ba2c72f77.png"> This PR resues the logic in `ComboMarkdownEditor.js` to also add popup to hashed comments/pull requests/issues in file editing/adding preview tab. After - On hover: <img width="1222" alt="截屏2023-04-10 13 55 42" src="https://user-images.githubusercontent.com/17645053/230836250-527ca7d0-6ec4-4c68-89ab-4f1b57b09239.png"> --------- Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: silverwind <me@silverwind.io>
* Use reactive store to share data between components (#23996)wxiaoguang2023-04-113-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Follow #23947 * Use reactive store to share data between components * Remove no-op `this.hashListener = window.addEventListener()` because `addEventListener` returns void/undefined. Reference: https://vuejs.org/guide/scaling-up/state-management.html#simple-state-management-with-reactivity-api Screenshot (the same as before): <details> <img width="565" alt="image" src="https://user-images.githubusercontent.com/2114189/230701282-bd61bfa3-7786-433b-9ad8-a88591112a02.png"> </details> --------- Co-authored-by: silverwind <me@silverwind.io>
* [skip ci] Updated translations via CrowdinGiteaBot2023-04-1227-69/+89
|
* Fix accidental overwriting of LDAP team memberships (#24050)sillyguodong2023-04-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the `for` loop, the value of `membershipsToAdd[org]` and `membershipsToRemove[org]` is a slice that should be appended instead of overwritten. Due to the current overwrite, the LDAP group sync only matches the last group at the moment. ## Example reproduction - an LDAP user is both a member of `cn=admin_staff,ou=people,dc=planetexpress,dc=com` and `cn=ship_crew,ou=people,dc=planetexpress,dc=com`. - configuration of `Map LDAP groups to Organization teams ` in `Authentication Sources`: ```json { "cn=admin_staff,ou=people,dc=planetexpress,dc=com":{ "test_organization":[ "admin_staff", "test_add" ] }, "cn=ship_crew,ou=people,dc=planetexpress,dc=com":{ "test_organization":[ "ship_crew" ] } ``` - start `Synchronize external user data` task in the `Dashboard`. - the user was only added for the team `test_organization.ship_crew`
* Add cardtype to org/user level project on creation, edit and view (#24043)Hester Gong2023-04-113-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Part of #23318 The way to fix the missing cardtype for user/org level projects in this PR is to port the cardtype related part from #22112 to org/user level projects' template and router functions. Before: <img width="1135" alt="截屏2023-04-11 13 55 49" src="https://user-images.githubusercontent.com/17645053/231069068-ba897129-ae90-4aa0-9b0f-468bf5c65375.png"> <img width="1131" alt="截屏2023-04-11 13 55 59" src="https://user-images.githubusercontent.com/17645053/231069084-279f6681-5a10-42da-b5a8-2b0ba47c7078.png"> After: Create <img width="835" alt="截屏2023-04-11 13 27 16" src="https://user-images.githubusercontent.com/17645053/231064445-0d6e12bd-5725-48db-a102-80e7472757c2.png"> Edit <img width="852" alt="截屏2023-04-11 13 27 05" src="https://user-images.githubusercontent.com/17645053/231064503-c70525cd-1038-43ec-8d93-8b8d95d183d4.png"> View <img width="1329" alt="截屏2023-04-11 13 26 56" src="https://user-images.githubusercontent.com/17645053/231064529-26023c85-698b-4b2e-af02-45f9820c77ec.png"> Co-authored-by: Giteabot <teabot@gitea.io>
* Fix branch protection priority (#24045)Lunny Xiao2023-04-112-7/+79
| | | Fix #24044
* Update documentation to explain which projects allow Gitea to host static ↵65432023-04-114-3/+26
| | | | | | | | | | | | pages (#23993) close #23521 --------- Signed-off-by: 6543 <6543@obermui.de> Co-authored-by: delvh <dev.lh@web.de> Co-authored-by: a1012112796 <1012112796@qq.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
* Fix date display bug (#24047)wxiaoguang2023-04-116-7/+7
| | | | | | | | | | | | | | | | | | | | | Follow https://github.com/go-gitea/gitea/pull/23988#pullrequestreview-1377696819 Many template helper functions are not good enough and cause various problems, that's why I am cleaning them. ## Before ![image](https://user-images.githubusercontent.com/51889757/230930898-0c48150f-de85-461d-9455-efcfdc36b644.png) ![image](https://user-images.githubusercontent.com/2114189/231111676-b0da1392-5e47-4f89-a81e-85156aca5cfd.png) ## After ![image](https://user-images.githubusercontent.com/2114189/231111732-920f304d-dd44-4c54-9f5f-518e325006fc.png)
* Fine tune markdown editor toolbar (#24046)wxiaoguang2023-04-114-31/+33
| | | | | | | | | | | | | | | | | | | | | | | 1. Remove unnecessary `btn-link` `muted` classes * Link is link, button is button, I can't see a real requirement to make a button like a link. * If anyone insists, please help to show me real example from modern frameworks / websites, how and why they do so. * No need to duplicate a lot of class names on similar elements * Declare styles clearly, for example, `markdown-toolbar` itself should have `display: flex`, but not use `gt-df` to overwrite the `display: block`. 2. Remove unnecessary `role` attribute * https://github.com/github/markdown-toolbar-element/issues/70 * The `markdown-toolbar-element` does want to add `role=button`, but there is a bug. * So we do the similar thing as upstream does (add the role by JS), until they fix their bugs. 3. Indent `markdown-switch-easymde` (before it doesn't have a proper indent) Screenshot: ![image](https://user-images.githubusercontent.com/2114189/231090912-f6ba01cb-d0eb-40ad-bf8c-ffc597d9a778.png)
* Add tooltips for MD editor buttons and add `muted` class for buttons (#23896)delvh2023-04-114-18/+44
| | | | | | | | | | | | | | | | | | | | | | Followup of #23876 according to my unreleased review demanding tooltips. Additionally - add a `muted` equivalent for buttons - convert `switch to legacy` to an actual button - enroll `switch to legacy` in the builtin pseudo focus cycle - remove spaces between the buttons The effect of the `muted` class is what you would expect: The button loses all of its normal styling, and is defined only by its content instead. This will help reduce a11y infractions in the future, as that was one of the major points why people didn't use `<button>` tags and decided on a bad fix (i.e. through `<div>`s) instead. ## Appearance ![image](https://user-images.githubusercontent.com/51889757/229510842-337378e5-faa5-4886-a910-08614c0c233d.png) --------- Co-authored-by: silverwind <me@silverwind.io>
* Prefer native parser for SSH public key parsing (#23798)Leon Busch-George2023-04-115-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this patch, the setting SSH.StartBuiltinServer decides whether the native (Go) implementation is used rather than calling 'ssh-keygen'. It's possible for 'using ssh-keygen' and 'using the built-in server' to be independent. In fact, the gitea rootless container doesn't ship ssh-keygen and can be configured to use the host's SSH server - which will cause the public key parsing mechanism to break. This commit changes the decision to be based on SSH.KeygenPath instead. Any existing configurations with a custom KeygenPath set will continue to function. The new default value of '' selects the native version. The downside of this approach is that anyone who has relying on plain 'ssh-keygen' to have special properties will now be using the native version instead. I assume the exec-variant is only there because /x/crypto/ssh didn't support ssh-ed25519 until 2016. I don't see any other reason for using it so it might be an acceptable risk. Fixes #23363 EDIT: this message was garbled when I tried to get the commit description back in.. Trying to reconstruct it: ## :warning: BREAKING :warning: Users who don't have SSH.KeygenPath explicitly set and rely on the ssh-keygen binary need to set SSH.KeygenPath to 'ssh-keygen' in order to be able to continue using it for public key parsing. There was something else but I can't remember at the moment. EDIT2: It was about `make test` and `make lint`. Can't get them to run. To reproduce the issue, I installed `golang` in `docker.io/node:16` and got: ``` ... go: mvdan.cc/xurls/v2@v2.4.0: unknown revision mvdan.cc/xurls/v2.4.0 go: gotest.tools/v3@v3.4.0: unknown revision gotest.tools/v3.4.0 ... go: gotest.tools/v3@v3.0.3: unknown revision gotest.tools/v3.0.3 ... go: error loading module requirements ``` Signed-off-by: Leon M. Busch-George <leon@georgemail.eu>
* Avoid recursing into sub-sub-sub-docs folders when looking for READMEs. (#23695)Nick2023-04-102-5/+5
| | | | | | | Fixes a bug introduced in https://github.com/go-gitea/gitea/pull/22177 which allows finding READMEs like docs/docs/docs/.gitea/.github/docs/README.md Fixes https://github.com/go-gitea/gitea/issues/23694
* [skip ci] Updated translations via CrowdinGiteaBot2023-04-113-17/+35
|
* Use auto-updating, natively hoverable, localized time elements (#23988)Yarden Shoham2023-04-1145-336/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added [GitHub's `relative-time` element](https://github.com/github/relative-time-element) - Converted all formatted timestamps to use this element - No more flashes of unstyled content around time elements - These elements are localized using the `lang` property of the HTML file - Relative (e.g. the activities in the dashboard) and duration (e.g. server uptime in the admin page) time elements are auto-updated to keep up with the current time without refreshing the page - Code that is not needed anymore such as `formatting.js` and parts of `since.go` have been deleted Replaces #21440 Follows #22861 ## Screenshots ### Localized ![image](https://user-images.githubusercontent.com/20454870/230775041-f0af4fda-8f6b-46d3-b8e3-d340c791a50c.png) ![image](https://user-images.githubusercontent.com/20454870/230673393-931415a9-5729-4ac3-9a89-c0fb5fbeeeb7.png) ### Tooltips #### Native for dates ![image](https://user-images.githubusercontent.com/20454870/230797525-1fa0a854-83e3-484c-9da5-9425ab6528a3.png) #### Interactive for relative ![image](https://user-images.githubusercontent.com/115237/230796860-51e1d640-c820-4a34-ba2e-39087020626a.png) ### Auto-update ![rec](https://user-images.githubusercontent.com/20454870/230672159-37480d8f-435a-43e9-a2b0-44073351c805.gif) --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: delvh <dev.lh@web.de>
* Reserve ".png" suffix for user/org names (#23992)65432023-04-102-1/+13
| | | | | Org/User names ending with ".png" where not functional, so reserve them alternative / close #23908
* Allow adding SSH keys even if SSH server is disabled (#24025)Dmitry Sharshakov2023-04-103-12/+9
| | | | | This is useful in case you want to use them for signature verification. A notice is added to avoid confusion.