Move feature specs for shortcuts to valid directory
This MR moves tests to valid directory that matches our namespace we use in code.
See merge request !4433
Clicking search pill focuses field
When clicking the pill in the search field, it now focus the field. Previously you would have to make sure you click in the field.
Fixed an issue where clicking out of the field wouldn't remove the focus
outline
Also reduced some of the HTML to remove what isn't needed
See merge request !4279
Fix serious performance bug with rendering Markdown with InlineDiffFilter
Nokogiri's `node.replace` was being unnecessarily called for every text node in
the document due to a comparison bug. The code previously was comparing the
HTML representation of the full document against the text node, which would
always fail. Fix the comparison to just compare the modified text.
Closes#18011
See merge request !4392
Fix link to blank group icon
When the group is the default blank icon, this needs to use the
`image_path` helper; otherwise, the link won't work if assets are
precompiled. This still works fine for uploaded icons in either case.
Closes#14446.
See merge request !4375
Fix wiki project clone address error
_Note: Originally opened at !4407 by @chujinjin._
---
fix wiki project clone address error in Wiki Git Access View, show as below:

Fixes#17643.
See merge request !4429
When the group is the default blank icon, this needs to use the
`image_path` helper; otherwise, the link won't work if assets are
precompiled. This still works fine for uploaded icons in either case.
Minor doc updates
## What does this MR do?
Adds to and clarifies some documentation. Specifically, when using `gdb` to debug you need to detach and exit when done. Next, this clarifies the type of file locking that we require.
Thanks to @northrup for the details about mandatory vs. advisory file locking.
Note: These were two really small changes so I combined in to one merge request. However, I left the commits separate for clarity.
See merge request !4421
Nokogiri's `node.replace` was being unnecessarily called for every text node in
the document due to a comparison bug. The code previously was comparing the
HTML representation of the full document against the text node, which would
always fail. Fix the comparison to just compare the modified text.
Closes#18011
Load d3 only when necessary
Now d3 is only loaded on the users' show page and the graphs pages, where it's necessary.
Redo of !3993.
This decreases page size from 4.6MB to 4.3MB for a given Activity page (before compression), or a savings of 300KB. This is essentially a proof of concept for removing larger dependencies such as the Ace Editor, Chart.js, and Raphael, which will likely provide another 1MB of savings on most pages (again, before compression).
See merge request !4394
Remove Coveralls and Semaphore badges. [ci skip]
Remove Coveralls and Semaphore badges from the README. They're outdated,
unused, and not GitLab CI :)
[ci skip]
See merge request !4334
Upgrade devise, devise-two-factor, and attr_encrypted
Devise 4 includes support for Rails 5, working towards #14286. devise-async doesn't support Devise 4.0 and in 4.1 the bug that was blocking using Devise's built-in ActiveJob integration was fixed. So devise-async is removed. devise-two-factor 3.0.0 is required for Devise 4 support.
attr_encrypted and encryptor are optional but recommended upgrades for devise-two-factor 3.0.0. The mode and algorithm will need to be changed in order to update to attr_encrypted 4.x in the future.
See merge request !4216
Use downcased path to container repository as this is expected path by Docker
## What does this MR do?
Docker Engine requires path to be lowercase. This makes all container registry paths to be show and used downcased instead of mixed case.
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/17959
See merge request !4420
Implement new row hover style
## What does this MR do?
Implement new row hover style
## What are the relevant issue numbers?
Closes#17187
## Screenshots (if relevant)

cc @dzaporozhets
See merge request !4422
MR widget mobile styling
## What does this MR do?
Corrects MR widget styling for mobile viewing.
## Are there points in the code the reviewer needs to double check?
I have tested all MR states.
## Why was this MR needed?
UX.
## What are the relevant issue numbers?
Closes#17676.
## Screenshots (if relevant)

See merge request !4386
Add Edge to supported browsers list.
Add Microsoft's Edge browser to the list of supported browsers. We support the latest stable version.
See merge request !4416
Enable Style/For rubocop cop
> Do not use `for`, unless you know exactly why. Most of the time iterators should be used instead. `for` is implemented in terms of `each` (so you're adding a level of indirection), but with a twist - `for` doesn't introduce a new scope (unlike `each`) and variables defined in its block will be visible outside it.
See #17478
See merge request !4397