Commit graph

1523 commits

Author SHA1 Message Date
Lunny Xiao 6433ba0ec3
Move macaron to chi (#14293)
Use [chi](https://github.com/go-chi/chi) instead of the forked [macaron](https://gitea.com/macaron/macaron). Since macaron and chi have conflicts with session share, this big PR becomes a have-to thing. According my previous idea, we can replace macaron step by step but I'm wrong. :( Below is a list of big changes on this PR.

- [x] Define `context.ResponseWriter` interface with an implementation `context.Response`.
- [x] Use chi instead of macaron, and also a customize `Route` to wrap chi so that the router usage is similar as before.
- [x] Create different routers for `web`, `api`, `internal` and `install` so that the codes will be more clear and no magic .
- [x] Use https://github.com/unrolled/render instead of macaron's internal render
- [x] Use https://github.com/NYTimes/gziphandler instead of https://gitea.com/macaron/gzip
- [x] Use https://gitea.com/go-chi/session which is a modified version of https://gitea.com/macaron/session and removed `nodb` support since it will not be maintained. **BREAK**
- [x] Use https://gitea.com/go-chi/captcha which is a modified version of https://gitea.com/macaron/captcha
- [x] Use https://gitea.com/go-chi/cache which is a modified version of https://gitea.com/macaron/cache
- [x] Use https://gitea.com/go-chi/binding which is a modified version of https://gitea.com/macaron/binding
- [x] Use https://github.com/go-chi/cors instead of https://gitea.com/macaron/cors
- [x] Dropped https://gitea.com/macaron/i18n and make a new one in `code.gitea.io/gitea/modules/translation`
- [x] Move validation form structs from `code.gitea.io/gitea/modules/auth` to `code.gitea.io/gitea/modules/forms` to avoid dependency cycle.
- [x] Removed macaron log service because it's not need any more. **BREAK**
- [x] All form structs have to be get by `web.GetForm(ctx)` in the route function but not as a function parameter on routes definition.
- [x] Move Git HTTP protocol implementation to use routers directly.
- [x] Fix the problem that chi routes don't support trailing slash but macaron did.
- [x] `/api/v1/swagger` now will be redirect to `/api/swagger` but not render directly so that `APIContext` will not create a html render. 

Notices:
- Chi router don't support request with trailing slash
- Integration test `TestUserHeatmap` maybe mysql version related. It's failed on my macOS(mysql 5.7.29 installed via brew) but succeed on CI.

Co-authored-by: 6543 <6543@obermui.de>
2021-01-26 16:36:53 +01:00
GiteaBot 3adbbb4255 [skip ci] Updated translations via Crowdin 2021-01-26 01:22:19 +00:00
GiteaBot efe4235412 [skip ci] Updated translations via Crowdin 2021-01-24 23:38:47 +00:00
Andrew Bezold bc05ddc0eb
Redirect on changed user and org name (#11649)
* Add redirect for user

* Add redirect for orgs

* Add user redirect test

* Appease linter

* Add comment to DeleteUserRedirect function

* Fix locale changes

* Fix GetUserByParams

* Fix orgAssignment

* Remove debug logging

* Add redirect prompt

* Dont Export DeleteUserRedirect & only use it within a session

* Unexport newUserRedirect

* cleanup

* Fix & Dedub API code

* Format Template

* Add Migration & rm dublicat

* Refactor: unexport newRepoRedirect() & rm dedub del exec

* if this fails we'll need to re-rename the user directory

Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2021-01-24 16:23:05 +01:00
GiteaBot 4c3ccb096e [skip ci] Updated translations via Crowdin 2021-01-24 12:23:25 +00:00
GiteaBot e35a2b65bc [skip ci] Updated licenses and gitignores 2021-01-24 00:19:18 +00:00
GiteaBot 4b7d85bfa5 [skip ci] Updated translations via Crowdin 2021-01-23 19:34:53 +00:00
GiteaBot 800c436b0b [skip ci] Updated translations via Crowdin 2021-01-23 14:45:16 +00:00
delvh 9872b8d97a
Improve Description in new/ edit Project template (#14429)
Fixes #14358

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: 6543 <6543@obermui.de>
2021-01-23 11:30:28 +01:00
GiteaBot 4d4cace5e7 [skip ci] Updated translations via Crowdin 2021-01-22 17:50:31 +00:00
GiteaBot e35d1bf502 [skip ci] Updated translations via Crowdin 2021-01-22 07:23:00 +00:00
6543 a0e424da85
Enhance Ghost comment mitigation Settings (#14392)
* refactor models.DeleteComment and delete related reactions too

* use deleteComment for UserDeleteWithCommentsMaxDays in DeleteUser

* nits

* Use time.Duration as other time settings have

* docs

* Resolve Fixme & fix potential deadlock

* Disabled by Default

* Update Config Value Description

* switch args

* Update models/issue_comment.go

Co-authored-by: zeripath <art27@cantab.net>

Co-authored-by: zeripath <art27@cantab.net>
2021-01-21 21:56:19 -05:00
GiteaBot 0e2e73410e [skip ci] Updated translations via Crowdin 2021-01-22 00:29:25 +00:00
EV3R4 af7054511e
Add TrN for repository limit (#12492)
* Added TrN for repository limit

* Removed form.reach_limit_of_creation_0

* disable Create Button if user can not create

Co-authored-by: 6543 <6543@obermui.de>
2021-01-22 00:44:37 +01:00
GiteaBot aa4c33b43d [skip ci] Updated translations via Crowdin 2021-01-21 22:15:39 +00:00
GiteaBot c05c0a1512 [skip ci] Updated translations via Crowdin 2021-01-21 19:35:12 +00:00
6543 81c833d92d
Add support to migrate from gogs (#14342)
Add support to migrate gogs:

  *  issues
  *  comments
  *  labels
  *  milestones
  *  wiki


Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: Andrew Thornton <art27@cantab.net>
2021-01-21 20:33:58 +01:00
Norwin b5570d3e68
Display current stopwatch in navbar (#14122)
* add notification about running stopwatch to header

* serialize seconds, duration in stopwatches api

* ajax update stopwatch

i should get my testenv working locally...

* new variant: hover dialog

* noscript compatibility

* js: live-update stopwatch time

* js live update robustness
2021-01-21 15:51:52 +01:00
KN4CK3R 56a8929605
Comment - Reference in new issue (#14366)
* Implemented "Reference in new issue"

* Fixed menu style on "pulls/x/files" because "button" has a style.

* Added context menu for PR file comments.

* Use only a single modal for every comment.

* Use current repository as default. Added search filter.

* Added suggested changes.

* Fixed assignment.

Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
2021-01-21 14:51:17 +01:00
GiteaBot 83c920d7fa [skip ci] Updated translations via Crowdin 2021-01-20 21:19:05 +00:00
Artemis Tosini cb08248c33
Add support for ed25519_sk and ecdsa_sk SSH keys (#13462)
* Add support for ed25519_sk and ecdsa_sk SSH keys

These start with sk-ssh-ed25519@openssh.com and sk-ecdsa-sha2-nistp256@openssh.com.
They are supported in recent versions of go x/crypto/ssh and OpenSSH 8.2
or higher.

* skip ssh-keygen

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: Andrew Thornton <art27@cantab.net>
2021-01-20 20:36:55 +00:00
Ash McKenzie 6ff63c8202
Display error if twofaSecret cannot be retrieved (#14372) 2021-01-18 21:38:41 +01:00
GiteaBot 8e39157e92 [skip ci] Updated translations via Crowdin 2021-01-18 01:22:31 +00:00
GiteaBot 3aa53dc6bc [skip ci] Updated translations via Crowdin 2021-01-17 20:49:54 +00:00
6543 21da519c0c
Implement ghost comment mitigation (#14349)
* Implement ghost comment mitigation

Adds a config option USER_DELETE_WITH_COMMENTS_MAX_DAYS to the [service] section. See https://codeberg.org/Codeberg/Discussion/issues/24 for the underlying issue.

* cleanup

* use setting module correctly

* add to docs

Co-authored-by: Moritz Marquardt <git@momar.de>
2021-01-17 21:48:38 +01:00
Jimmy Praet acb1ceb1f4
Add review requested filter on pull request overview (#13701)
* Add review requested filter on pull request overview #13682

fix formatting

* add review_requested filter to /repos/issues/search API endpoint

* only Approve and Reject status should supersede Request status

* add support for team reviews

* refactor: remove duplication of issue filtering conditions
2021-01-17 17:34:19 +01:00
GiteaBot 66e426b2f1 [skip ci] Updated translations via Crowdin 2021-01-17 14:17:10 +00:00
GiteaBot e6155ff9b6 [skip ci] Updated translations via Crowdin 2021-01-16 11:24:18 +00:00
GiteaBot 76fefd803f [skip ci] Updated translations via Crowdin 2021-01-16 04:56:29 +00:00
GiteaBot 2db4733c7d [skip ci] Updated translations via Crowdin 2021-01-15 20:30:48 +00:00
6543 3091600cc8
KanBan: be able to set default board (#14147)
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: zeripath <art27@cantab.net>
2021-01-15 22:29:32 +02:00
GiteaBot c09e11d018 [skip ci] Updated translations via Crowdin 2021-01-15 09:39:56 +00:00
Lauris BH 6eee9f0f4e
Merge default and system webhooks under one menu (#14244) 2021-01-15 01:24:03 +02:00
GiteaBot 648d85d426 [skip ci] Updated translations via Crowdin 2021-01-13 15:54:47 +00:00
Jonathan Tran 81467e6f35
Display SVG files as images instead of text (#14101)
* Change to display SVG files as images

* Remove unsafe styles from SVG CSP

* Add integration test to test SVG headers

* Add config setting to disable SVG rendering

* Add test for img tag when loading SVG image

* Remove the Raw view button for svg files since we don't fully support this

* Fix copyright year

* Rename and move config setting

* Add setting to cheat sheet in docs

* Fix so that comment matches cheat sheet

* Add allowing styles in CSP based on pull request feedback

* Re-enable raw button since we show SVG styles now

* Change so that SVG files are editable

* Add UI to toggle between source and rendered image for SVGs

* Change to show blame button for SVG images

* Fix to update ctx data

* Add test for DetectContentType when file is longer than sniffLen

Co-authored-by: Jonathan Tran <jon@allspice.io>
Co-authored-by: Kyle D <kdumontnu@gmail.com>
2021-01-12 22:45:19 -05:00
GiteaBot 9465e60504 [skip ci] Updated translations via Crowdin 2021-01-13 00:51:06 +00:00
GiteaBot 9659808172 [skip ci] Updated translations via Crowdin 2021-01-10 18:06:29 +00:00
6543 6b3b6f1833
Add option to change username to the admin panel (#14229)
Co-authored-by: Bwko <bouwko@gmail.com>
Co-authored-by: techknowlogick <matti@mdranta.net>
Co-authored-by: zeripath <art27@cantab.net>
2021-01-10 14:14:02 +02:00
GiteaBot 461406070c [skip ci] Updated translations via Crowdin 2021-01-07 13:41:39 +00:00
GiteaBot 8688c2be95 [skip ci] Updated translations via Crowdin 2021-01-06 15:12:41 +00:00
GiteaBot 91ceba0427 [skip ci] Updated translations via Crowdin 2021-01-06 01:39:13 +00:00
GiteaBot 4ef5f17a7e [skip ci] Updated translations via Crowdin 2021-01-05 13:56:10 +00:00
6543 325add71cf
Add option for administrator to reset user 2FA (#14243)
* Frontend

* Backend

* only show 2FA-Reset option if posible
2021-01-05 14:54:48 +01:00
Cirno the Strongest 8db0372a45
Handle NotifyCreateRef as create branch in feeds (#14245)
Co-authored-by: Lauris BH <lauris@nix.lv>
2021-01-04 18:51:00 +02:00
GiteaBot af2fe9a733 [skip ci] Updated translations via Crowdin 2020-12-29 23:49:34 +00:00
GiteaBot cfc3916b3f [skip ci] Updated translations via Crowdin 2020-12-29 00:39:54 +00:00
GiteaBot d75f011345 [skip ci] Updated translations via Crowdin 2020-12-28 02:37:00 +00:00
Timo Ley 2b2a4a53bf
Custom icons for OAuth sources (#14161)
* Add Icon URL to Backend

* Template for Icon URL

* Localization & Edit Icon URL

* Improve Custom Icon URL

* Removed not working else

Co-authored-by: 6543 <6543@obermui.de>
2020-12-28 03:35:55 +01:00
GiteaBot f6ca44c706 [skip ci] Updated translations via Crowdin 2020-12-27 19:59:15 +00:00
Jimmy Praet 40274b4a93
Team dashboards (#14159) 2020-12-27 21:58:03 +02:00
GiteaBot 5a1ccacac7 [skip ci] Updated translations via Crowdin 2020-12-26 18:23:50 +00:00
zeripath ad1164f73b
Disable SSH key deletion of externally managed Keys (#13985)
* Disable SSH key addition and deletion when externally managed

When a user has a login source which has SSH key management
key addition and deletion using the UI should be disabled.

Fix #13983

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Make only externally managed keys disabled

Signed-off-by: Andrew Thornton <art27@cantab.net>

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2020-12-25 23:24:47 -05:00
GiteaBot 4c2a1c01a8 [skip ci] Updated translations via Crowdin 2020-12-24 04:26:32 +00:00
GiteaBot a9876bca82 [skip ci] Updated translations via Crowdin 2020-12-23 19:11:05 +00:00
GiteaBot 30edcd5c71 [skip ci] Updated translations via Crowdin 2020-12-22 15:55:30 +00:00
GiteaBot c236fe2f10 [skip ci] Updated translations via Crowdin 2020-12-22 11:15:05 +00:00
GiteaBot cd607b5f98 [skip ci] Updated translations via Crowdin 2020-12-22 03:48:23 +00:00
GiteaBot 6f1dddf5c3 [skip ci] Updated translations via Crowdin 2020-12-22 02:55:02 +00:00
Cirno the Strongest 2c9dd71140
Standardize Co-Authored-By / Reviewed-By strings (#14097)
* Standardize Co-Authored-By / Reviewed-By strings

* Use lowercase variant

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2020-12-21 21:19:33 -05:00
GiteaBot f8fd8996c0 [skip ci] Updated translations via Crowdin 2020-12-21 23:04:32 +00:00
GiteaBot 1b1adab26c [skip ci] Updated translations via Crowdin 2020-12-21 14:41:16 +00:00
GiteaBot 3a500cf8c4 [skip ci] Updated translations via Crowdin 2020-12-21 13:13:27 +00:00
Norwin 7a3c71433a
expose translation of previously hardcoded string (#14087)
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
2020-12-21 21:12:13 +08:00
GiteaBot 7dd32276b7 [skip ci] Updated translations via Crowdin 2020-12-21 08:32:25 +00:00
DuckDuckWhale e8a354f819
Locale: say another issue instead of this issue (#14082)
Saying "this issue" is confusing because it could be understood as the
issue that the user is currently viewing, not which the "issue" link
points to.
2020-12-21 08:11:39 +02:00
GiteaBot 029836c34c [skip ci] Updated translations via Crowdin 2020-12-20 01:32:15 +00:00
GiteaBot e674478227 [skip ci] Updated translations via Crowdin 2020-12-19 22:31:48 +00:00
GiteaBot cf6f8b22ca [skip ci] Updated translations via Crowdin 2020-12-13 02:49:02 +00:00
GiteaBot de06ee6a30 [skip ci] Updated translations via Crowdin 2020-12-13 01:06:57 +00:00
GiteaBot d07b8a75d7 [skip ci] Updated translations via Crowdin 2020-12-12 15:34:20 +00:00
GiteaBot f8e9a3df40 [skip ci] Updated translations via Crowdin 2020-12-12 11:21:18 +00:00
silverwind 1837e647eb
Diff stat improvements (#13954)
* Diff stat improvements

- Combine number to just total number of changes
- Add tooltip over stats bar
- Increase contrast on file name
- Refactor classes and CSS to be more reusable

* misc tweaks

* make count bold
2020-12-12 02:06:22 +01:00
GiteaBot 5fdf500ace [skip ci] Updated translations via Crowdin 2020-12-11 16:05:31 +00:00
GiteaBot 0c5fca2d85 [skip ci] Updated translations via Crowdin 2020-12-10 16:20:32 +00:00
GiteaBot bc1cf6e5d3 [skip ci] Updated translations via Crowdin 2020-12-10 05:45:12 +00:00
GiteaBot 338bfeebe7 [skip ci] Updated translations via Crowdin 2020-12-10 04:48:55 +00:00
Lunny Xiao 2d71cdb668
Add pull request manually merge instruction (#13840)
* add pull request command line instructions

* Add pull request manually merge instuction

* Fix styles

* Fix lint

* Move inline style to class file

* add space between merge button and hint text

* Add sentence end charcter

* Change the language file

* adjust secondary bg

* further adjustment

Co-authored-by: silverwind <me@silverwind.io>
2020-12-10 03:59:05 +01:00
GiteaBot b830eca720 [skip ci] Updated translations via Crowdin 2020-12-07 12:09:02 +00:00
GiteaBot 654c480c99 [skip ci] Updated translations via Crowdin 2020-12-04 11:19:46 +00:00
GiteaBot 557479642d [skip ci] Updated translations via Crowdin 2020-12-04 07:34:40 +00:00
6543 48a3bb7a32
User Settings: Ignore empty language codes & validate (#13755) 2020-12-04 08:20:30 +02:00
GiteaBot 5d43d2965a [skip ci] Updated translations via Crowdin 2020-12-03 18:47:16 +00:00
GiteaBot c2ac1c73f2 [skip ci] Updated translations via Crowdin 2020-11-29 15:53:10 +00:00
GiteaBot 4f82a0b12e [skip ci] Updated translations via Crowdin 2020-11-28 21:01:53 +00:00
a1012112796 9c26dc1f3a
Add block on official review requests branch protection (#13705)
Signed-off-by: a1012112796 <1012112796@qq.com>

Co-authored-by: Lauris BH <lauris@nix.lv>
2020-11-28 21:30:46 +02:00
GiteaBot 72e62ac12b [skip ci] Updated translations via Crowdin 2020-11-25 11:21:50 +00:00
GiteaBot de1e4b2da9 [skip ci] Updated translations via Crowdin 2020-11-21 22:42:26 +00:00
Norwin b651409c0a
Improve strings (#13548)
* Correct oauth signup title

When linking accounts, a password is not required anymore,
so this string becomes confusing

* string "remenber me": be more precise

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2020-11-20 22:32:27 -05:00
GiteaBot 6626a048df [skip ci] Updated translations via Crowdin 2020-11-18 22:01:29 +00:00
GiteaBot 859e3d3db6 [skip ci] Updated translations via Crowdin 2020-11-16 19:23:56 +00:00
GiteaBot f0ed71251e [skip ci] Updated translations via Crowdin 2020-11-15 16:29:08 +00:00
Chris Shyi d025d84d91
Add email validity check (#13475)
* Improve error feedback for duplicate deploy keys

Instead of a generic HTTP 500 error page, a flash message is rendered
with the deploy key page template so inform the user that a key with the
intended title already exists.

* API returns 422 error when key with name exists

* Add email validity checking

Add email validity checking for the following routes:
[Web interface]
1. User registration
2. User creation by admin
3. Adding an email through user settings
[API]
1. POST /admin/users
2. PATCH /admin/users/:username
3. POST /user/emails

* Add further tests

* Add signup email tests

* Add email validity check for linking existing account

* Address PR comments

* Remove unneeded DB session

* Move email check to updateUser

Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2020-11-14 11:53:43 -05:00
GiteaBot d0a676c8ff [skip ci] Updated translations via Crowdin 2020-11-13 17:24:39 +00:00
GiteaBot ee7133d135 [skip ci] Updated translations via Crowdin 2020-11-12 16:00:39 +00:00
GiteaBot 6838bacc4c [skip ci] Updated translations via Crowdin 2020-11-11 20:35:20 +00:00
GiteaBot 9155f13bf8 [skip ci] Updated translations via Crowdin 2020-11-10 11:45:51 +00:00
GiteaBot ffa712e783 [skip ci] Updated translations via Crowdin 2020-11-09 18:22:53 +00:00
GiteaBot ef2ffc6aed [skip ci] Updated translations via Crowdin 2020-11-09 06:16:15 +00:00
GiteaBot 004b40dad0 [skip ci] Updated translations via Crowdin 2020-11-08 18:03:03 +00:00
zeripath c05a8abc76
Multiple GitGraph improvements: Exclude PR heads, Add branch/PR links, Show only certain branches, (#12766)
* Multiple GitGraph improvements.

Add backend support for excluding PRs, selecting branches and files.

Fix #10327

Signed-off-by: Andrew Thornton <art27@cantab.net>

* as per @silverwind

Signed-off-by: Andrew Thornton <art27@cantab.net>

* as per @silverwind

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Only show refs in dropdown we display on the graph

Signed-off-by: Andrew Thornton <art27@cantab.net>

* as per @silverwind

Signed-off-by: Andrew Thornton <art27@cantab.net>

* use flexbox for ui header

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Move Hide Pull Request button to the dropdown

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Add SHA and user pictures

Signed-off-by: Andrew Thornton <art27@cantab.net>

* fix test

Signed-off-by: Andrew Thornton <art27@cantab.net>

* fix test 2

Signed-off-by: Andrew Thornton <art27@cantab.net>

* fixes

* async

* more tweaks

* use tabs in tmpl

Signed-off-by: Andrew Thornton <art27@cantab.net>

* remove commented thing

Signed-off-by: Andrew Thornton <art27@cantab.net>

* fix linting

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Update web_src/js/features/gitgraph.js

Co-authored-by: silverwind <me@silverwind.io>

* graph tweaks

* more tweaks

* add title

Signed-off-by: Andrew Thornton <art27@cantab.net>

* fix loading indicator z-index and position

Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: Lauris BH <lauris@nix.lv>
2020-11-08 12:21:54 -05:00