Commit Graph
2526 Commits
Author SHA1 Message Date
l-jonas aa3c0f8eba Add hide activity option (#11353)
* Add hide activity option

This closes https://github.com/go-gitea/gitea/issues/7927

* Adjust for linter

* Adjust for linter

* Add tests

* Remove info that admins can view the activity

* Adjust new tests for linter

* Rename v139.go to v140.go

* Rename v140.go to v141.go

* properly indent

* gofmt

Co-authored-by: Jonas Lochmann <[email protected]>
Co-authored-by: techknowlogick <[email protected]>
2020-06-05 16:01:53 -04:00
zeripath f761a37a0f Provide diff and patch API endpoints (#11751)
* Provide diff and patch API endpoints

The diff and patch endpoints on the main routes are not accessible by token
therefore we provide new API based endpoints for these

Fix #10923

Signed-off-by: Andrew Thornton <[email protected]>

* placate swagger

Signed-off-by: Andrew Thornton <[email protected]>

* Make the response an actual string

Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: techknowlogick <[email protected]>
Co-authored-by: Lauris BH <[email protected]>
2020-06-05 14:03:12 +03:00
6543 2c5b3c72e8 Fix bug with globally disabling mirror (#11760)
Ensure we return after `ctx.Error(...)`
2020-06-04 19:06:24 +01:00
6543 0cb22121f4 API: Return error when Mirrors globaly disabled and like to create one (#11757)
* API: return an error when Mirrors globaly disabled

* keep it consistent with UI

Co-authored-by: John Olheiser <[email protected]>

Co-authored-by: John Olheiser <[email protected]>
2020-06-04 12:11:28 -04:00
6543 b534a5164f [API] Expose allowed Reactions (#11735)
* [API] Expose allowed Reactions

* dont be in soutch a rush

* add TEST

* use ElementsMatch

Co-authored-by: Lauris BH <[email protected]>
2020-06-04 12:16:53 +03:00
John Olheiser a6fd2f23f7 Allow site admin to disable mirrors (#11740)
* Allow site admin to disable mirrors

Signed-off-by: jolheiser <[email protected]>

* No need to run through Safe

Signed-off-by: jolheiser <[email protected]>

* Clarify only disabling NEW mirrors

Signed-off-by: jolheiser <[email protected]>

* Apply suggestions from @guillep2k

Co-authored-by: guillep2k <[email protected]>

Co-authored-by: guillep2k <[email protected]>
2020-06-02 21:21:38 -04:00
6543 b636cd6fd4 Handle expected errors in FileCreate & FileUpdate API (#11643)
as title

needed for #11641
2020-05-31 21:59:34 +01:00
Terence Le Huu Phuong 141d52cc0f Add API Endpoint for Branch Creation (#11607)
* [FEATURE] [API] Add Endpoint for Branch Creation

Issue: https://github.com/go-gitea/gitea/issues/11376

This commit introduces an API endpoint for branch creation.

The added route is POST /repos/{owner}/{repo}/branches.
A JSON with the name of the new branch and the name of the old branch is
required as parameters.

Signed-off-by: Terence Le Huu Phuong <[email protected]>

* Put all the logic into CreateBranch and removed CreateRepoBranch

* - Added the error ErrBranchDoesNotExist in error.go
- Made the CreateNewBranch function return an errBranchDoesNotExist error
when the OldBranch does not exist
- Made the CreateBranch API function checks that the repository is not
empty and that branch exists.

* - Added a resetFixtures helper function in integration_test.go to
fine-tune test env resetting
- Added api test for CreateBranch
- Used resetFixture instead of the more general prepareTestEnv in the
repo_branch_test CreateBranch tests

* Moved the resetFixtures call inside the loop for APICreateBranch function

* Put the prepareTestEnv back in repo_branch_test

* fix import order/sort api branch test

Co-authored-by: zeripath <[email protected]>
2020-05-29 19:16:20 +01:00
Cirno the Strongest 02fa329a7c Fix missing authorization check on pull for public repos of private/limited org (#11656)
Fixes #11651
2020-05-29 15:47:17 +01:00
6543 560744fb33 Handle expected errors in AddGPGkey API (#11644)
* handle GPG Parse & Email Errors

* correct TEST

* update Swagger

* more Docu
2020-05-28 17:25:54 -04:00
zeripath a00974c3b8 When must change password only show Signout (#11600)
When "Must Change Password" simplify the navbar header to only show the
signout button as all other links will redirect back. This prevents the
notifications icon from showing preventing initialization of the
event-source and hence preventing redirect_to being set, however in
addition do not set the redirect_to cookie if we are looking at the
/user/events page.

Fix #11554

Signed-off-by: Andrew Thornton <[email protected]>
2020-05-26 23:39:39 +01:00
zeripath 5cb201dc93 Fix numbr of files, total additions, and deletions (#11614)
Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: techknowlogick <[email protected]>
2020-05-26 01:58:07 -04:00
zeripath 814ca9ffea Allow different HardBreaks settings for documents and comments (#11515)
GH has different HardBreaks behaviour for markdown comments and documents.

Comments have hard breaks and documents have soft breaks - therefore Gitea's rendering will always be different from GH's if we only provide one setting.

Here we split the setting in to two - one for documents and one for comments and other things.

Signed-off-by: Andrew Thornton [email protected]

Changes to index.js as per @silverwind 
Co-authored-by: silverwind <[email protected]>

Changes to docs as per @guillep2k 
Co-authored-by: guillep2k <[email protected]>
2020-05-24 09:14:26 +01:00
Cirno the Strongest 31df012968 Properly handle and return empty string for dangling commits in GetBranchName (#11587) 2020-05-23 20:49:48 +01:00
mrsdizzie 5789e60316 Use default commit message for wiki edits (#11550)
Use a default commit message when a user doesn't add one (same as repo editor) to avoid commit lists with no message
2020-05-22 14:14:02 +01:00
silverwind 88fe7b5a72 Move serviceworker to workbox and fix SSE interference (#11538)
* Move serviceworker to workbox and fix SSE interference

Instead of statically hardcoding every frontend asset, this uses a
type-based approach to cache all js,css and manifest.json requests.

This also fixes the issue that the service worker was interfering with
EventSource because it was unconditionally handling all requests which
this new implementation doesn't.

Fixes: https://github.com/go-gitea/gitea/issues/11092
Fixes: https://github.com/go-gitea/gitea/issues/7372

* rethrow error instead of logging

* await .register

* Revert "rethrow error instead of logging"

This reverts commit 043162ba1f.

* improve comment

* remove JSRenderer

* add version-based cache invalidation

* refactor

* more refactor

* remove comment

* rename item to fit cache name

Co-authored-by: guillep2k <[email protected]>
2020-05-21 21:45:34 -04:00
guillep2k e963525c5e Prevent transferring repos to invisible orgs (#11517)
Co-authored-by: Guillermo Prandi <[email protected]>
2020-05-21 08:48:01 -05:00
zeripath 3eb323901c Fix repo-list private and total count bugs (#11500)
* Fix repo-list private and total count bugs

Signed-off-by: Andrew Thornton <[email protected]>

* Ensure limited and private org public repos are displayed on "private"

Signed-off-by: Andrew Thornton <[email protected]>

* switch from onlyPrivate to is_private

Signed-off-by: Andrew Thornton <[email protected]>

* Generate swagger

Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: guillep2k <[email protected]>
2020-05-20 22:15:30 -03:00
赵智超 0903b1ac8c Add push commits history comment on PR time-line (#11167)
* Add push commits history comment on PR time-line
* Add notify by email and ui of this comment type also

Signed-off-by: a1012112796 <[email protected]>

* Add migrations for IsForcePush
* fix wrong force-push judgement
* Apply suggestions from code review
* Remove commit number check
* add own notify fun
* fix some typo

Co-authored-by: guillep2k <[email protected]>

* fix lint

* fix style again, I forgot something before

* Change email notify way

* fix api

* add number check if It's force-push

* Add repo commit link fuction
remove unnecessary check
skip show push commits comment which not have commits alive

* Update issue_comment.go

* Apply suggestions from code review

Co-authored-by: mrsdizzie <[email protected]>

* Apply suggestions from code review

* fix ui view

Co-authored-by: silverwind <[email protected]>

* fix height

* remove unnecessary style define

* simplify GetBranchName

* Apply suggestions from code review

* save commit ids and isForce push by json
* simplify GetBranchName

* fix bug

Co-authored-by: guillep2k <[email protected]>
Co-authored-by: mrsdizzie <[email protected]>
Co-authored-by: Lauris BH <[email protected]>
Co-authored-by: silverwind <[email protected]>
2020-05-20 09:47:24 -03:00
zeripath a4cd1f12f8 Ensure public repositories in private organizations are visible and fix admin organizations list (#11465)
* Ensure that we can see public repositories in private organization

Fix #10144 (Again)

Signed-off-by: Andrew Thornton <[email protected]>

* Fix Admin users and organizations page

Signed-off-by: Andrew Thornton <[email protected]>

* Update models/repo_list.go

Co-authored-by: Lauris BH <[email protected]>
2020-05-18 00:27:54 +01:00
zeripath 76053ac31a Whenever the ctx.Session is updated, release it to save it before sending the redirect (#11456)
Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: Lauris BH <[email protected]>
2020-05-17 15:43:29 +03:00
zeripath a0d35fb6ad Forcibly clean and destroy the session on logout (#11447)
Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: techknowlogick <[email protected]>
2020-05-17 14:05:11 +08:00
zeripath 9a2e47b23a Refactor Cron and merge dashboard tasks (#10745)
* Refactor Cron and merge dashboard tasks

* Merge Cron and Dashboard tasks
* Make every cron task report a system notice on completion
* Refactor the creation of these tasks
* Ensure that execution counts of tasks is correct
* Allow cron tasks to be started from the cron page

* golangci-lint fixes

* Enforce that only one task with the same name can be registered

Signed-off-by: Andrew Thornton <[email protected]>

* fix name check

Signed-off-by: Andrew Thornton <[email protected]>

* as per @guillep2k

* as per @lafriks

Signed-off-by: Andrew Thornton <[email protected]>

* Add git.CommandContext variants

Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: Lauris BH <[email protected]>
Co-authored-by: Lunny Xiao <[email protected]>
Co-authored-by: techknowlogick <[email protected]>
2020-05-16 19:31:38 -04:00
zeripath 414c9ee76a Make API EditIssue and EditPullRequest issue notifications (#11123)
* Make API EditIssue and EditPullRequest issue notifications

Restructure models.UpdateIssueByAPI and EditIssue/EditPullRequest
to issue notifications

Fix #10014

Signed-off-by: Andrew Thornton <[email protected]>

* As per @6543

Signed-off-by: Andrew Thornton <[email protected]>

* update status!

Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: techknowlogick <[email protected]>
Co-authored-by: John Olheiser <[email protected]>
Co-authored-by: guillep2k <[email protected]>
Co-authored-by: Lauris BH <[email protected]>
2020-05-17 00:05:19 +03:00
zeripath c86bc8e061 Add paging and archive/private repository filtering to dashboard list (#11321)
* Add archived options to SearchRepository

Signed-off-by: Andrew Thornton <[email protected]>

* Add only-private search

Signed-off-by: Andrew Thornton <[email protected]>

* Add filter options and paging to dashboard repository page

Signed-off-by: Andrew Thornton <[email protected]>

* swagger generate

Signed-off-by: Andrew Thornton <[email protected]>

* fix-swagger-again

Signed-off-by: Andrew Thornton <[email protected]>

* as per @mrsdizzie also remember state

Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: Lauris BH <[email protected]>
2020-05-16 23:07:01 +03:00
mrsdizzie b2b86ea870 Support view individual commit for wiki pages (#11415)
Currently you can see a list of commit history for wiki pages but aren't able to view the commit diff itself. This adds the feature to view an individual commit to a wiki repo.

Closes #8999

Co-authored-by: Lauris BH <[email protected]>
Co-authored-by: Lunny Xiao <[email protected]>
2020-05-16 19:38:40 +03:00
zeripath db87e91227 Check that the ctx.User is not nil before checking its ID (#11424)
Fix #11423

Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: techknowlogick <[email protected]>
2020-05-15 16:44:33 -04:00
kolaente c72a471215 Fix webhook template when validation errors occur (#11421)
Signed-off-by: kolaente <[email protected]>
2020-05-15 22:02:46 +03:00
Sijmen Schoon 66a9ef9036 Fix ref links in issue overviews for tags (#8742)
* Properly generate ref URLs

Tags used to not generate correct URLs (src/branch/tags/1.0.0 instead of
src/tags/1.0.0).

Also cleans up some code around it with the created helper functions.

* Fix formatting and create migration

* Add copyright head to utils_test

* Use a raw query for the ref migration

* Remove semicolon

* Quote column and table names in migration SQL

* Change || to CONCAT, since MSSQL does not support ||

* Make migration engine aware

* Add missing import

* Move ref EndName and URL to the issue service

* Fix tests

* Add test for commit refs

* Update issue.go

* Use the right command for building JavaScript bundles

* Prepare for merge

* Check for refs/* before prepending in migration

* Update services/issue/issue_test.go

* Update modules/git/utils_test.go

Co-authored-by: techknowlogick <[email protected]>
Co-authored-by: techknowlogick <[email protected]>
2020-05-14 18:55:43 -04:00
silverwind 9249c810b8 Switch code editor to Monaco (#11366)
* Switch code editor to Monaco

This switches out CodeMirror for Monaco which is based on the same code
base as VS code and should work pretty similar to it.

It does add a few async chunks, totalling around 10MB to our build. It
currently supports around 65 languages and in the default configuration,
each language would emit one ugly [number].js chunk, so I opted to
combine them all into a single file for now.

CodeMirror is still being used under the hood by SimpleMDE so it can not
be removed yet.

* inline editorconfig, fix diff, use for markdown, remove more dead code

* refactors, remove jquery usage

* use tab_width

* fix intellisense

* rename function for clarity

* misc tweaks, enable webpack progress display

* only use --progress on dev build

* remove useless borders in arc-green

* fix typo

* remove obsolete comment

* small refactor

* fix file creation and various refactors

* unset useTabStops too when no editorconfig

* small refactor

* disable webpack's [big] warnings

* remove useless await

* fix dark theme check

* rename chunk to 'monaco'

* add to .gitignore and delete webpack dest before build

* increase editor height

* support more editorconfig properties

* remove empty element filter

* rename

Co-authored-by: John Olheiser <[email protected]>
2020-05-14 19:06:01 +03:00
6543 7257c39ddf Refactor Milestone related (#11225) 2020-05-12 22:54:35 +01:00
赵智超 b00e62c12b ui: Replenish the missing ‘PageIsSignUp’ in sign up view (#11390)
Signed-off-by: a1012112796 <[email protected]>
2020-05-12 19:01:15 +01:00
zeripath 0198bbedc1 Allow compare page to look up base, head, own-fork, forkbase-of-head (#11327)
* Allow compare page to look up base, head, own-fork, forkbase-of-head

Signed-off-by: Andrew Thornton <[email protected]>

* as per @guillep2k

Signed-off-by: Andrew Thornton <[email protected]>

* Update routers/repo/compare.go

* as per @guillep2k

Signed-off-by: Andrew Thornton <[email protected]>

* Rationalise the names a little

Signed-off-by: Andrew Thornton <[email protected]>

* Rationalise the names a little (2)

Signed-off-by: Andrew Thornton <[email protected]>

* Fix 500 with fork of fork

Signed-off-by: Andrew Thornton <[email protected]>

* Prevent 500 on compare different trees

Signed-off-by: Andrew Thornton <[email protected]>

* dotdotdot is perfectly valid in both usernames and repo names

Signed-off-by: Andrew Thornton <[email protected]>

* ensure we can set the head and base repos too

Signed-off-by: Andrew Thornton <[email protected]>

* ensure we can set the head and base repos too (2)

Signed-off-by: Andrew Thornton <[email protected]>

* fix lint

Signed-off-by: Andrew Thornton <[email protected]>

* only set headRepo == baseRepo if isSameRepo

Signed-off-by: Andrew Thornton <[email protected]>
2020-05-12 08:52:46 +03:00
zeripath c42c31a111 Correctly set the organization num repos (#11339)
* Correctly set the organization num repos

Correctly set the organization num repos to the number of
accessible repos for the user

Fix #11194

Signed-off-by: Andrew Thornton <[email protected]>

* as per @lunny

Signed-off-by: Andrew Thornton <[email protected]>

* attempt to fix mssql

Signed-off-by: Andrew Thornton <[email protected]>

* Update models/user.go

* Explicit columns

Signed-off-by: Andrew Thornton <[email protected]>

* Add test and fix 0 counted orgs

Signed-off-by: Andrew Thornton <[email protected]>

* remove orgname from api

Signed-off-by: Andrew Thornton <[email protected]>
2020-05-12 01:04:08 +03:00
Cirno the Strongest 32b8172e56 Consolidate API for getting single commit (#11368)
* Allow Git ref for /repos/{owner}/{repo}/git/commits/{sha}

* Consolidate API for getting single commit

* Fix tests and do it differently

Co-authored-by: zeripath <[email protected]>
2020-05-11 12:44:36 +03:00
6543 cd4f7ba5bf Fix tracked time issues (#11349)
* Fix nil exeption: #11313

* fix 500

* activate test 😆

* move logic
2020-05-09 11:18:44 -03:00
赵智超 119173130a Add default CommitID for create pull review api (#11334)
If user create pull review through api but not set CommitID,
I think it's necessary to use last headCommitID as default seting,
or this review will be considered as stale review which is wrong

Signed-off-by: a1012112796 <[email protected]>
2020-05-08 19:50:23 +01:00
zeripath 791353c03b Add EventSource support (#11235)
If the browser supports EventSource switch to use this instead of
polling notifications.

Signed-off-by: Andrew Thornton [email protected]
2020-05-07 22:49:00 +01:00
6543 486e4c8087 When deleting a tracked time through the API return 404 not 500 (#11319) 2020-05-07 18:54:33 +01:00
6543 505e456f26 Protect default branch against deletion (#11115)
Although default branch is not offered for deletion in the templates, we need to prevent it both at the router level and in the pre-receive hook.

Co-authored-by: Andrew Thornton <[email protected]>
Co-authored-by: Lauris BH <[email protected]>
2020-05-06 12:08:45 +01:00
6543 a1f11a05e9 Load Repo Topics on blame view (#11307)
Fix #11280
2020-05-05 22:51:49 +01:00
Kyle Evans 38cd9ba47b Allow unauthenticated users to compare (#11240)
* routers: make /compare route available to unauthenticated users

Remove some bits of the compare interface if the user isn't signed in.
Notably, they don't need to see the "New Pull Request" button box nor the
hidden form that would fail to submit due to the POST request continuing to
require proper privileges.

Follow-up commits will improve the UI a bit around this, removing some
"Pull Request" verbiage in favor of "Compare."

* ui: home: show "compare" button for unauthenticated users

This change requires pulling in the BaseRepo unconditionally and
recording if the pull request is in-fact not allowed
(.PullRequestCtx.Allowed). If the user isn't allowed to create a pull
request, either because this isn't a fork or same-fork branch PRs aren't
allowed, then we'll name the button "Compare" instead of "Pull Request."

* ui: branch list: use the new Compare language when available

When viewing the branch listing as an unauthenticated user, you'll get
"Pull Request" buttons. use the new "Compare" verbiage instead, which
matches GitHub behavior when you can't issue a pull request from the
branches.

Co-authored-by: zeripath <[email protected]>
Co-authored-by: guillep2k <[email protected]>
2020-05-04 19:44:30 -03:00
Cirno the Strongest b7c82cd1a9 Fix orgs not being displayed on create repo form (#11279) 2020-05-03 18:08:24 -03:00
Kyle Evans 940ed92392 repo: milestone: make /milestone/:id endpoint accessible (#11264)
Previously, this required authentication, but there's not actually
any privileged information on this page.  Move the endpoint out of
the group that requires sign-in.  It still requires the ability to
read issues and pull requests, so private repositories (for instance)
will not be exposed.

Fixes #10312 
Fixes #11233
2020-05-03 10:07:04 +01:00
zeripath 28f8308d47 Show pull request selection even when unrelated branches (#11239)
Fix #10525

Signed-off-by: Andrew Thornton <[email protected]>

Co-authored-by: guillep2k <[email protected]>
Co-authored-by: Lunny Xiao <[email protected]>
2020-05-02 16:06:01 +08:00
6543 c97494a4f4 API: Add pull review endpoints (#11224)
* API: Added pull review read only endpoints

* Update Structs, move Conversion, Refactor

* refactor

* lint & co

* fix lint + refactor

* add new Review state, rm unessesary, refacotr loadAttributes, convert patch to diff

* add DeletePullReview

* add paggination

* draft1: Create & submit review

* fix lint

* fix lint

* impruve test

* DONT use GhostUser for loadReviewer

* expose comments_count of a PullReview

* infent GetCodeCommentsCount()

* fixes

* fix+impruve

* some nits

* Handle Ghosts 👻

* add TEST for GET apis

* complete TESTS

* add HTMLURL to PullReview responce

* code format as per @lafriks

* update swagger definition

* Update routers/api/v1/repo/pull_review.go

Co-authored-by: David Svantesson <[email protected]>

* add comments

Co-authored-by: Thomas Berger <[email protected]>
Co-authored-by: David Svantesson <[email protected]>
2020-05-02 03:20:51 +03:00
6543 e9e8638f18 Return issue subscription status from API subscribe (#10966)
* [API] issue subscription indicate by http status

* CI.restart()
2020-04-30 23:55:24 +01:00
6543 ab69b9b1a6 Refactor UpdateOAuth2Application (#11034)
Following on from #11008 refactor UpdateOAuth2Application
2020-04-30 18:50:47 +01:00
Andrew Bezold 3dc6af3d70 Fix creation of Organization repos by Users with max created personal repos (#11183)
* Fix creation of Org repos

Fix go-gitea#9269

* Change variable name to appease linter

* Update PR with suggestions

Add a note for user.CanCreateRepo() about failure assumptions
Change repo.create help message

Co-authored-by: guillep2k <[email protected]>
2020-04-30 16:11:56 +01:00
6543 bfda0f3864 [API] ListIssues add filter for milestones (#10148)
* Refactor Issue Filter Func

* ListIssues add filter for milestones

* as per @lafriks

* documentation ...
2020-04-30 01:15:39 -03:00