This splits the Markdown rendering and reference extraction phases into
two distinct code bases. The reference extraction phase no longer relies
on the html-pipeline Gem (and any related code) and allows for
extracting of references from multiple HTML nodes in a single pass. This
means that if you want to extract user references from 200 comments you
no longer need to run 200 times N number of queries, instead only a
handful of queries may be needed.
Remove fork link closes all merge requests opened on source project
Currently, if you:
- create a fork
- open a merge request on the source project
- remove the fork link
The created MR cannot be closed.
With this MR, all pending MR is closed when the fork link is removed.
See merge request !3189
By pre-calculating the digests we can manually construct the emoji URLs,
removing the need for using Rails' asset URL helpers. The reason we
don't want to use these helpers for Emojis is two-fold:
1. Rails' image_url() method is slow, really slow. For one it _might_
have to calculate digests but it also performs a lot of other
intensive operations (judging by the source code and based on
measuring timings).
2. We have a lot of Emoji which coupled with the above can result in it
taking minutes to load Emoji autocomplete data.
Using this pre-calculation setup generating the digests takes around 7
seconds (including the time it takes to start Rails/Rake), and only
around 600 milliseconds to load _all_ the autocomplete data of a project
(measured locally).
This commit _does_ change the Emoji URLs from absolute to relative URLs
as these are much easier to generate.
To update the Emoji data simply run:
rake gemojione:digests
Then commit any changes.
Fixesgitlab-org/gitlab-ce#14009
* visiting project will create notification setting if missing
* change notification setting per project even without membership
* use notification settings instead of membership on profile page
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Add ability to remove the fork relationship from project settings


Replaces !1579.
Fixes#2578.
See merge request !1636