Remove 2FA status on enable page
The 2FA status on the enabling page is useless, since it always is `disabled`. A user is enabling 2FA, so he already knows that it is disabled.
### Before

### After

See merge request !3436
Hide user profile activity graph on mobile
closes#14507
## Before

## After

## Medium width screen

See merge request !3412
Hide user profile activity graph on mobile
closes#14507
## Before

## After

## Medium width screen

See merge request !3412
Fix award emoji picker for relative_url
MR !2888 caused a regression where the emoji picker does not load when
using relative_url, because the path for the controller was hardcoded.
See merge request !3493
This fixes ./spec/services/projects/unlink_fork_service_spec.rb which
somehow started failing on the master branch. It certainly isn't a very
elegant solution but seems to be the easiest/best way of solving this
problem for the time being.
Add labels to block element
Fixes#14083
Before:
After: 
See merge request !3492
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
Fix creation of merge requests for orphaned branches with images
When attempting to create a merge request from an orphaned branch (e.g. this happens for the first commit of any repo) that contained images, GitLab would fail with a Error 500. This MR fixes that problem.
Closes#14875
See merge request !3511
Improve rendering performance of Banzai
Related issues:
* gitlab-org/gitlab-ce#14315
* gitlab-org/gitlab-ce#13651
TODO:
* [x] `Banzai::Filter::ExternalIssueReferenceFilter#call` calls `Project#default_issues_tracker?` which runs a query on every call. Memoizing this only works if the `Project` instance is shared between instances of this filter. Either way it should at most only run this method once.
* [x] Fix the two failing specs
* [x] Clean of the various `call` methods in the filters where I inlined methods
* [x] Remove the `replace_XXX` methods in ReferenceFilter now that they're no longer used.
See merge request !3389
Every object processed by ExternalIssueReferenceFilter can return a
different Project instance when calling "project". For example, every
note processed will have it's own associated Project. If we were to
cache Project#default_issues_tracker? on Project level this would have
no impact on Markdown rendering timings as the cache would have to be
built for every Project instance without it ever being re-used.
To work around this we cache Project#default_issues_tracker? in
Banzai::Filter::ExternalIssueReferenceFilter using the project's _id_
instead of the whole object. This setup allows re-using of the cached
data even when the Project instances used are different, as long as the
actual project IDs are the same.
These filters now use a single iteration over all the document nodes
instead of multiple ones. This in turn allows variables to be re-used
(e.g. links only have to be unescaped once). Combined with some other
refactoring this can drastically reduce render timings.
This was originally suggested by @ayufan and modified to be a bit
cleaner and use RequestStore instead of a regular Hash.
By caching the output of the two methods involved the number of queries
is reduced significantly. For example, for an issue with 200 notes (of
which 100 reference a number of merge requests) this cuts down the
amount of queries from around 6300 to around 3300.