Build path sends JSON file path
## What does this MR do?
Fixes an issue with browser caching JSON response on build page.
Steps to see:
- Open build (https://gitlab.com/gitlab-org/gitlab-ce/builds/2030226)
- Close tab
- Re-open tab
You should now see some JSON 😞
This MR appends `.json` to the end of the build URL so that the browser can't cache it as the same URL.
See merge request !4935
Handle external issues in IssueReferenceFilter
Rendering issue references such as `#1` was broken for projects using an external issues tracker.
See gitlab-org/gitlab-ce#19036
See merge request !4988
Allow importing from Github using Personal Access Tokens
_Originally opened at !4005 by @ericidema._
------
## What does this MR do?
* Made changes to `Gitlab::GithubImport::Client` so that it can be used with Github Personal Access Tokens without the need for OAuth.
* Added UI to collect Personal Access Token from user.
* Detect if the user has logged in with GitHub and use OAuth to skip the Personal Access Token form.
## Are there points in the code the reviewer needs to double check?
Twin Omnibus MR: https://gitlab.com/gitlab-org/omnibus-gitlab/merge_requests/774
## What are the relevant issue numbers?
Closes#13970.
## Screenshots
### GitHub import is configured

-----
### GitHub import is not configured

-----
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- Tests
- [x] Added for this feature/bug
- [ ] All builds are passing
- [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !4938
Fix restore warning message
## What does this MR do?
Fix the restore Rake task so it properly outputs the database warning. This is a pretty important warning and it was not even being output. After this fix, the output looks like the screenshot below.

See merge request !4980
This stands as an alternative to using OAuth to access a user's Github
repositories. This is setup in such a way that it can be used without OAuth
configuration.
From a UI perspective, the how to import modal has been replaced by a full
page, which includes a form for posting a personal access token back to the
Import::GithubController.
If the user has logged in via GitHub, skip the Personal Access Token and go
directly to Github for an access token via OAuth.
Updated breakpoint for sidebar pinning
## What does this MR do?
Updates the breakpoint for sidebar pinning to 1024px.
Think we will have the same issue as before when picking into stable with `$window` not being defined.
See merge request !5019
Make Rack::Request use our trusted proxies when filtering IP addresses
## What does this MR do?
This allows us to control the trusted proxies while deployed in a private network.
## Are there points in the code the reviewer needs to double check?
If we want to limit what is impacted, we can do this specifically for the rack_attack request object.
## Why was this MR needed?
Normally Rack::Request will trust all private IPs as trusted proxies, which can cause problems if your users are connection on you network via private IP ranges.
Normally in a rails app this is handled by action_dispatch request, but rack_attack is specifically using the Rack::Request object instead.
## What are the relevant issue numbers?
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/17550
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [ ] ~~[Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)~~
- [ ] ~~API support added~~
- Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
\cc @stanhu
See merge request !4958
Enable Style/UnneededCapitalW Rubocop cop
## What does this MR do?
This MR enables Rubocop cop that checks if `%W[]`, which supports interpolation, is needed.
## What are the relevant issue numbers?
#17478
See merge request !5010
Expiry date on pinned nav cookie
## What does this MR do?
Adds an expiry date far into the future for the pinned nav cookie so that it survives logout & browser closing.
See merge request !5009
When pushing commits to existing branches we don’t
need to flush branch git data (branch names / counts)
When flushes the cache when pushing commits skip to
flush branch and tag git data (names / counts) because
those operations are managed explicitly in each case
Repopulated expired cache as soon as possible
Global Ajax error handler
## What does this MR do?
Introduces a new global Ajax error handler to show a flash warning about the error detail of XHR requests which failed with status code 404 and 500
## Are there points in the code the reviewer needs to double check?
Double check the wording.
## Why was this MR needed?
A global solution for the problem in the #17880
## What are the relevant issue numbers?
Fixes#17880
## Screenshots (if relevant)
For requests failed with 404 - 500

For requests failed with 401

See merge request !4797
Remove coveralls as its unused
This gem is unused so could be removed.
@dzaporozhets @connorshea We've discussed this some time ago on Slack
See merge request !5001
IssueReferenceFilter will end up processing internal issue references
when a project uses an external issues tracker while still using
internal issue references (in the form of `#\d+`). This commit ensures
that these links are rendered as external issue links, regardless of
whether the project one currently views uses an internal or external
issues tracker.
Fixesgitlab-org/gitlab-ce#19036, gitlab-com/performance#16
This method now should return false if build is not completed. If build
is running then it is not retryable, therefore `Ci::Build#retryable?`
returned wrong value. This commit changes this behavior
Resolve "Sub nav isn't showing on file view"
## What does this MR do?
Adds subnav to `Repository` > `File` view
## What are the relevant issue numbers?
Closes#19003
Part of #18844
## Screenshots (if relevant)

cc @dzaporozhets
See merge request !4890