aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Support unicode emojis and remove emojify.js (#11032)mrsdizzie2020-04-28928-167/+2713
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Support unicode emojis and remove emojify.js This PR replaces all use of emojify.js and adds unicode emoji support to various areas of gitea. This works in a few ways: First it adds emoji parsing support into gitea itself. This allows us to * Render emojis from valid alias (:smile:) * Detect unicode emojis and let us put them in their own class with proper aria-labels and styling * Easily allow for custom "emoji" * Support all emoji rendering and features without javascript * Uses plain unicode and lets the system render in appropriate emoji font * Doesn't leave us relying on external sources for updates/fixes/features That same list of emoji is also used to create a json file which replaces the part of emojify.js that populates the emoji search tribute. This file is about 35KB with GZIP turned on and I've set it to load after the page renders to not hinder page load time (and this removes loading emojify.js also) For custom "emoji" it uses a pretty simple scheme of just looking for /emojis/img/name.png where name is something a user has put in the "allowed reactions" setting we already have. The gitea reaction that was previously hard coded into a forked copy of emojify.js is included and works as a custom reaction under this method. The emoji data sourced here is from https://github.com/github/gemoji which is the gem library Github uses for their emoji rendering (and a data source for other sites). So we should be able to easily render any emoji and :alias: that Github can, removing any errors from migrated content. They also update it as well, so we can sync when there are new unicode emoji lists released. I've included a slimmed down and slightly modified forked copy of https://github.com/knq/emoji to make up our own emoji module. The code is pretty straight forward and again allows us to have a lot of flexibility in what happens. I had seen a few comments about performance in some of the other threads if we render this ourselves, but there doesn't seem to be any issue here. In a test it can parse, convert, and render 1,000 emojis inside of a large markdown table in about 100ms on my laptop (which is many more emojis than will ever be in any normal issue). This also prevents any flickering and other weirdness from using javascript to render some things while using go for others. Not included here are image fall back URLS. I don't really think they are necessary for anything new being written in 2020. However, managing the emoji ourselves would allow us to add these as a feature later on if it seems necessary. Fixes: https://github.com/go-gitea/gitea/issues/9182 Fixes: https://github.com/go-gitea/gitea/issues/8974 Fixes: https://github.com/go-gitea/gitea/issues/8953 Fixes: https://github.com/go-gitea/gitea/issues/6628 Fixes: https://github.com/go-gitea/gitea/issues/5130 * add new shared function emojiHTML * don't increase emoji size in issue title * Update templates/repo/issue/view_content/add_reaction.tmpl Co-Authored-By: 6543 <6543@obermui.de> * Support for emoji rendering in various templates * Render code and review comments as they should be * Better way to handle mail subjects * insert unicode from tribute selection * Add template helper for plain text when needed * Use existing replace function I forgot about * Don't include emoji greater than Unicode Version 12 Only include emoji and aliases in JSON * Update build/generate-emoji.go * Tweak regex slightly to really match everything including random invisible characters. Run tests for every emoji we have * final updates * code review * code review * hard code gitea custom emoji to match previous behavior * Update .eslintrc Co-Authored-By: silverwind <me@silverwind.io> * disable preempt Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
* Disable new signal-based asynchronous goroutine preemption from GO 1.14 in ↵mrsdizzie2020-04-281-0/+2
| | | | | | | | | | | | | | | | | | | | | | | git env (#11237) As seen in trouble shooting #11032 the new feature of Go 1.14 is causing several second delays in startup in certain situations. Debugging shows it spending several seconds handling SIGURG commands during init: ``` 6922:04:51.984234 trace init() ./modules/queue/unique_queue_wrapped.go remote: ) = 69 <0.000012> remote: [pid 15984] 22:04:51 write(1, "\ttime taken: 236.761\302\265s\n\n", 25 time taken: 236.761µs remote: remote: ) = 25 <0.000011> remote: [pid 15984] 22:04:51 --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=15984, si_uid=0} --- remote: [pid 15984] 22:04:52 --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=15984, si_uid=0} --- remote: [pid 15984] 22:04:52 --- SIGURG {si_signo=SIGURG, si_code=SI_TKILL, si_pid=15984, si_uid=0} --- ``` This causes up to 20 seconds added to a push in some cases as it happens for each call of the gitea hook command. This is likely the cause of #10661 as well and would start to effect users once we release 1.12 which would be the first release compiled with Go 1.14. I suspect this is just a slight issue with the upstream implementatation as there have been a few very similar bugs fixed and reported: https://github.com/golang/go/issues/37741 https://github.com/golang/go/issues/37942 We should revisit this in the future and see if a newer version of Go has solved it, but for now disable this option in the environment that gitea hook runs in to avoid it.
* Make the PushCreate test declarative (#11229)zeripath2020-04-283-102/+72
| | | | | | | | | | | | Reduce the code duplication in the PushCreate test and switch to a declarative format. * Instead of explicitly creating the repository re-use functions from the other declarative tests and add comments * Ensure that the test repository is deleted at the end of test * Slightly reorder the sub-tests Also reduce the code duplication in MergeFork and add some comments there too and make doGitCloneFail be self-contained. Signed-off-by: Andrew Thornton art27@cantab.net
* [skip ci] Updated translations via CrowdinGiteaBot2020-04-2726-0/+52
|
* [Docs] Config Cheat Sheet - Task Edit (#9972)Bagas Sanjaya2020-04-271-2/+3
| | | | | | | | | | | | | | | * backwards compatibility typo * Unlist description and separate from list by an empty line * redis needs password edit * Update docs/content/doc/advanced/config-cheat-sheet.en-us.md Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> Co-authored-by: John Olheiser <john.olheiser@gmail.com>
* Make error pages translatable (#11163)65432020-04-273-4/+8
| | | | | | | * make error pages translatable * dont translate ":" * link need Safe
* [skip ci] Updated translations via CrowdinGiteaBot2020-04-271-0/+1
|
* Slight performance changes to integrations/git_test.go (#11227)zeripath2020-04-272-11/+27
| | | | | | | | | | | | | * switch to use pseudorandom generator and stop cloning in pushcreate Signed-off-by: Andrew Thornton <art27@cantab.net> * Add some logging of BranchProtectPRMerge Signed-off-by: Andrew Thornton <art27@cantab.net> * Stop running prepareTestEnv so often for TestAPIGetBranch Signed-off-by: Andrew Thornton <art27@cantab.net>
* Prevent panic during wrappedConn close at hammertime (#11219)zeripath2020-04-262-1/+11
| | | | | | | | | | | * Prevent panic during wrappedConn close at hammertime Signed-off-by: Andrew Thornton <art27@cantab.net> * Update modules/graceful/server.go * Fix extraneous debug in goldmark.go Signed-off-by: Andrew Thornton <art27@cantab.net>
* Make TaskCheckBox render correctly (#11214)zeripath2020-04-263-22/+97
| | | | | | | | | | | | | | | * Fix checkbox rendering Signed-off-by: Andrew Thornton <art27@cantab.net> * Normalize checkbox rendering Signed-off-by: Andrew Thornton <art27@cantab.net> * set the checkboxes to readonly instead of disabled Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv>
* On logout redirect to start page and clear redirect cookie (#11202)colorfulberry2020-04-251-0/+1
| | | | | when one user logout should clear redirect to value, otherwise switch the account will occur error. Co-authored-by: Lauris BH <lauris@nix.lv>
* Update JS dependencies, highlight.js 10.0.0 (#11195)silverwind2020-04-242-71/+65
| | | | | | Breaking changes in higlight.js do not affect us. Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com> Co-authored-by: Lauris BH <lauris@nix.lv>
* Fix GetContents(): Dont't ignore Executables (#11192)65432020-04-242-8/+8
| | | | | | | * Refactor: dont expose help functions * repofiles GetContents: dont ignore executables * CI.restart()
* Use markdown frontmatter to provide Table of contents, language and ↵zeripath2020-04-2410-16/+509
| | | | | | | | | frontmatter rendering (#11047) * Add control for the rendering of the frontmatter * Add control to include a TOC * Add control to set language - allows control of ToC header and CJK glyph choice. Signed-off-by: Andrew Thornton art27@cantab.net
* [ui] Change icon type for review action in action page (#11191)赵智超2020-04-241-3/+3
| | | | | | * as title, do same changs on action view with #10737 * chage default icon from "invalid type" to "question" , because "invalid type" is not a meaningfull icon type Signed-off-by: a1012112796 <1012112796@qq.com>
* Use AJAX for notifications table (#10961)zeripath2020-04-2412-140/+331
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Use AJAX for notifications table Signed-off-by: Andrew Thornton <art27@cantab.net> * move to separate js Signed-off-by: Andrew Thornton <art27@cantab.net> * placate golangci-lint Signed-off-by: Andrew Thornton <art27@cantab.net> * Add autoupdating notification count Signed-off-by: Andrew Thornton <art27@cantab.net> * Fix wipeall Signed-off-by: Andrew Thornton <art27@cantab.net> * placate tests Signed-off-by: Andrew Thornton <art27@cantab.net> * Try hidden Signed-off-by: Andrew Thornton <art27@cantab.net> * Try hide and hidden Signed-off-by: Andrew Thornton <art27@cantab.net> * More auto-update improvements Only run checker on pages that have a count Change starting checker to 10s with a back-off to 60s if there is no change Signed-off-by: Andrew Thornton <art27@cantab.net> * string comparison! Signed-off-by: Andrew Thornton <art27@cantab.net> * as per @silverwind Signed-off-by: Andrew Thornton <art27@cantab.net> * add configurability as per @6543 Signed-off-by: Andrew Thornton <art27@cantab.net> * Add documentation as per @6543 Signed-off-by: Andrew Thornton <art27@cantab.net> * Use CSRF header not query Signed-off-by: Andrew Thornton <art27@cantab.net> * Further JS improvements Fix @etzelia update notification table request Fix @silverwind comments Co-Authored-By: silverwind <me@silverwind.io> Signed-off-by: Andrew Thornton <art27@cantab.net> * Simplify the notification count fns Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: silverwind <me@silverwind.io>
* Add option to increase provided OAuth2 token maximum size (#11180)zeripath2020-04-235-3/+12
| | | | | | | | | | | | | | | | | | | Some OAuth2 providers return quite large structured tokens >32767 bytes. Gitea currently has a fixed maximum of 32767 bytes for these and unfortunately due to the convoluted nature of the dependent libraries the error returned is rather opaque. Here we manage the error a little better - detecting the rather opaque github.com/gorilla/securecookie.errEncodedValueTooLong and converting it to a more readable error. Further we provide a configurable option to increase the maximum size of the provided OAuth2 tokens. Fix #9907 Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Log the indexer path on failure (#11172)zeripath2020-04-222-4/+5
| | | | | | Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Lauris BH <lauris@nix.lv>
* Add documentation to display STL preview (#11181)Antoine GIRARD2020-04-221-0/+83
| | | | | | | | | | | * Update customizing-gitea.en-us.md * Update customizing-gitea.en-us.md * only load assets when needed * remove useless var * fix missing 'i' modifier
* Improve config logging when WrappedQueue times out (#11174)Lunny Xiao2020-04-221-1/+5
| | | | | | | | | | | | Before ```sh Unable to set the internal queue for -wrapper Error: Timedout creating queue redis with cfg []byte{0x7b, 0x22, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x3a, 0x22, 0x31, 0x32, 0x37, 0x2e, 0x30, 0x2e, 0x30, 0x2e, 0x31, 0x3a, 0x36, 0x33, 0x37, 0x39, 0x22, 0x2c, 0x22, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x3a, 0x32, 0x30, 0x2c, 0x22, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x3a, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x22, 0x42, 0x6f, 0x6f, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x22, 0x3a, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30 ...... ``` After ```sh Unable to set the internal queue for -wrapper Error: Timedout creating queue redis with cfg "{\"Addresses\":\"127.0.0.1:6379\",\"BatchLength\":20,\"BlockTimeout\":1000000000,\"BoostTimeout\":300000000000,\"BoostWorkers\":5,\"DBIndex\":0,\"DataDir\":\".../data/queues/mail\",\"MaxWorkers\":10,\"Name\":\"mail\",\"Network\":\"\",\"Password\":\"\",\"QueueLength\":20,\"QueueName\":\"mail_queue\",\"SetName\":\"\",\"Workers\":1}" in ```
* [skip ci] Updated translations via CrowdinGiteaBot2020-04-221-1/+1
|
* Fix submodule paths when AppSubUrl is not root (#11098)zeripath2020-04-223-30/+27
| | | | | | | | Fix submodule paths when AppSubUrl is not root Fix #11002 Signed-off-by: Andrew Thornton <art27@cantab.net>
* enable ENABLE_HARD_LINE_BREAK by default (#11162)silverwind2020-04-215-7/+11
| | | | | | | | enable ENABLE_HARD_LINE_BREAK by default This matches GitHub's rendering. Fix #11155
* make pagination optional for notifications (#10714)65432020-04-211-1/+5
|
* doc: Fix package name in external renderer example (#11170)Johan Van de Wauw2020-04-211-1/+1
| | | | The py3-zmq package does not exist in alpine linux 3.11, used in both master and 1.11.4 . The py3-pyzmq package exists however: https://pkgs.alpinelinux.org/packages?name=py3-pyzmq&branch=v3.11
* Allow list collaborators for users with Read access to repo (#9995)Shashvat Kedia2020-04-211-5/+5
| | | Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Add issue subscription check to API (#10967)65432020-04-218-20/+205
| | | | | | close #10962 Adds `GET /api/v1​/repos​/{owner}​/{repo}​/issues​/{index}​/subscriptions​/check` -> return a `WachInfo`
* Improve representation of attachments in issues (#11141)Matthias Schoettle2020-04-213-21/+25
| | | | | | | | | * Improves representation of attachments in issues to a list showing the file name and file size (see #6500 and #6089). Signed-off-by: Matthias Schoettle <git@mattsch.com> * Fixes indentation. Co-authored-by: zeripath <art27@cantab.net>
* Skip frontend build where unnecessary (#11159)silverwind2020-04-201-7/+4
| | | | The testing pipelines and build-backend steps do not depend on frontend files, skip their build for them.
* [skip ci] Updated translations via CrowdinGiteaBot2020-04-201-0/+8
|
* make branch parameter optional for ↵65432020-04-201-0/+12
| | | | /api/v1/repos/{owner}/{repo}/contents/{filepath} (#11067)
* [skip ci] Updated translations via CrowdinGiteaBot2020-04-201-0/+4
|
* Support organization labels for PRs in API (#11135)CirnoT2020-04-201-1/+28
| | | Fix `/repos/{owner}/{repo}/pulls` and `/repos/{owner}/{repo}/pulls/{index}` to accept organization labels during PR creation and edition.
* When migrating from Gitlab map Approvals to approving Reviews (#11147)65432020-04-204-10/+65
| | | | | | When migrating from Gitlab map Gitlab Approvals to approving Reviews Co-Authored-By: zeripath <art27@cantab.net>
* Ensure that relative paths in edit preview work (#11143)zeripath2020-04-201-1/+7
| | | | | | | Fix #10131 Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Lauris BH <lauris@nix.lv>
* [skip ci] Updated translations via CrowdinGiteaBot2020-04-201-1/+14
|
* Update JS dependencies (#11146)silverwind2020-04-202-1347/+1401
| | | | | Result of `make npm-update`. Some minor updates to build tools, no runtime dependencies affected.
* Prevent xorm nil insert in Review.Comments (#11150)65432020-04-201-2/+4
|
* [Fix] RetryDownloader (add GetReviews()) (#11093)65432020-04-201-0/+16
| | | | * add GetReviews() to RetryDownloader
* Fix max-width of selection dropdowns (#11144)silverwind2020-04-201-1/+1
| | | | Fix a regression added by https://github.com/go-gitea/gitea/pull/10897/files.
* [skip ci] Updated translations via CrowdinGiteaBot2020-04-191-2/+9
|
* Vendor Update: go-gitlab v0.22.1 -> v0.31.0 (#11136)65432020-04-19256-12775/+35849
| | | | | | | * vendor update: go-gitlab to v0.31.0 * migrate client init to v0.31.0 * refactor
* Add support for migrating from Gitlab (#9084)Jordan2020-04-1989-2/+23418
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * First stab at a Gitlab migrations interface. * Modify JS to show migration for Gitlab * Properly strip out #gitlab tag from repo name * Working Gitlab migrations! Still need to figure out how to hide tokens/etc from showing up in opts.CloneAddr * Try #2 at trying to hide credentials. CloneAddr was being used as OriginalURL. Now passing OriginalURL through from the form and saving it. * Add go-gitlab dependency * Vendor go-gitlab * Use gitlab.BasicAuthClient Correct CloneURL. This should be functioning! Previous commits fixed "Migrated from" from including the migration credentials. * Replaced repoPath with repoID globally. RepoID is grabbed in NewGitlabDownloader * Logging touchup * Properly set private repo status. Properly set milestone deadline time. Consistently use Gitlab username for 'Name'. * Add go-gitlab vendor cache * Fix PR migrations: - Count of issues is kept to set a non-conflicting PR.ID - Bool is used to tell whether to fetch Issue or PR comments * Ensure merged PRs are closed and set with the proper time * Remove copyright and some commented code * Rip out '#gitlab' based self-hosted Gitlab support * Hide given credentials for migrated repos. CloneAddr was being saved as OriginalURL. Now passing OriginalURL through from the form and saving it in it's place * Use asset.URL directly, no point in parsing. Opened PRs should fall through to false. * Fix importing Milestones. Allow importing using Personal Tokens or anonymous access. * Fix Gitlab Milestone migration if DueDate isn't set * Empty Milestone due dates properly return nil, not zero time * Add GITLAB_READ_TOKEN to drone unit-test step * Add working gitlab_test.go. A Personal Access Token, given in env variable GITLAB_READ_TOKEN is required to run the test. * Fix linting issues * Add modified JS files * Remove pre-build JS files * Only merged PRs are marged as merged/closed * Test topics * Skip test if gitlab is inaccessible * Grab personal token from username, not password. Matches Github migration implementation * Add SetContext() to GitlabDownloader. * Checking Updated field in Issues. * Actually fetch Issue Updated time from Gitlab * Add Gitlab migration GetReviews() stub * Fix Patch and Clone URLs * check Updated too * fix mod * make vendor with go1.14 Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Lauris BH <lauris@nix.lv> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* Prevent clones and pushes to disabled wiki (#11131)zeripath2020-04-192-1/+33
| | | Signed-off-by: Andrew Thornton <art27@cantab.net>
* Remove errant third curly brackets from account.tmpl and pull.tmpl and send ↵zeripath2020-04-192-2/+2
| | | | | | | | | | | | | | | account ID in account.tmpl (#11129) * Remove errant third } from account.tmpl Fix #11128 Signed-off-by: Andrew Thornton <art27@cantab.net> * Remove errant third curly bracket from pull.tmpl Signed-off-by: Andrew Thornton <art27@cantab.net> * Update templates/user/settings/account.tmpl
* Use /tmp for test repositories (#11126)guillep2k2020-04-198-9/+43
| | | | | | | | | | * Add option to use /tmp for test repositories * Fix exit status * Add feedback about using tmp repos Co-authored-by: Guillermo Prandi <guillep2k@users.noreply.github.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
* [skip ci] Updated translations via CrowdinGiteaBot2020-04-1915-30/+0
|
* [API] Add branch delete (#11112)65432020-04-194-0/+157
| | | | | | | | | * use same process as in routers/repo/branch.go/deleteBranch * make sure default branch can not be deleted * remove IsDefaultBranch from UI process - it is worth its own pull * permissions
* consolidate author name across timeline (#11053)Sorien2020-04-194-63/+114
| | | | | | | | | * consolidate author name across timeline * Sync with master Co-authored-by: John Olheiser <john.olheiser@gmail.com> Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
* Upgrade jQuery to 3.5.0, remove jQuery-Migrate, fix deprecations (#11055)silverwind2020-04-185-137/+115
| | | | | | | | | | | | - Removed jQuery-Migrate as it seems to no longer be needed. - Removed a dead code section. - Fixed some deprecations detected by jQuery-Migrate. Ref: https://jquery.com/upgrade-guide/3.5/ Ref: https://github.com/gogs/gogs/search?q=repo-name-change-prompt Ref: https://github.com/go-gitea/gitea/search?q=repo-name-change-prompt Fixes: https://github.com/go-gitea/gitea/issues/9372 Co-authored-by: zeripath <art27@cantab.net>