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
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
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
File Browser navigation fixes
Fixes a double request being made when clicking the file name when navigating through file browser and also fixes opening a file in a new tab or when doing ctrl + click.
Closes#19050
**Before**

**After**

See merge request !4891
Fixed 'use shortcuts' button on docs
## What does this MR do?
Exposes 'onToggleHelp() to window object through `showHelp()` so a help panel can be toggled globally using `showHelp()`.
## Are there points in the code the reviewer needs to double check?
Is this the best implementation? I actually think this is tidier than doing something like `onclick="new Shortcuts().onToggleHelp"` or `$.trigger 'keydown', char: '?'` but let me know.
## Why was this MR needed?
Docs UX
## What are the relevant issue numbers?
Closes#19157.
## Screenshots (if relevant)
## Does this MR meet the acceptance criteria?
- [ ] [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
- [ ] Added for this feature/bug
- [ ] All builds are passing
- [x] 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)
Closes#19157
See merge request !4979
Align flash messages with left side of page content
## What does this MR do?
- align flash messages with left side of page content
## Are there points in the code the reviewer needs to double check?
- flash messages in general
## Why was this MR needed?
- flash messages didn't fit new design
## What are the relevant issue numbers?
closes #18688
## Screenshots
# Before

---

---

---

---

---
# After

---

---

---

---
The left padding will be fixed by !4854

---

See merge request !4959
Fix database migrations when Redis is not running
If Redis were not running or USE_DB were set to false, the application settings retrieval would fail completely. This change only attempts to use the cache if the system actually
wants to connect to the DB and rescues any failures in talking to Redis.
Closes#17557
See merge request !4924
Memoize the maximum access level for the author of notes
Cache the maximum access level for each user in a map in the controller
In #19273, we saw that retrieving ProjectTeam#human_max_access for each note takes the bulk of the time when rendering certain issues or merge requests. We observe that most of the comments in an issue are typically done by the same users. This MR memoizes the max access level by user ID.
See merge request !4982
Adds focus state style to markdown area buttons.
## What does this MR do?
It makes it possible to see when the button is focused when tabbing through the interface. This is for the new markdown buttons in the comment field.
See merge request !4867
Fixed URL on label button when filtering
## What does this MR do?
Gives the filtered labels the correct URL. Previously they tried to link to `labels#show` whereas now it links to the correct filter path.
## What are the relevant issue numbers?
Closes#19005
See merge request !4897
Fixed comit avatar alignment
## What does this MR do?
Fixes the alignment of the avatar on https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG
Also fixes potential issues in other places.
## Screenshots (if relevant)

See merge request !4933
If Redis were not running or USE_DB were set to false, the
application settings retrieval would fail completely. This
change only attempts to use the cache if the system actually
wants to connect to the DB and rescues any failures in talking to
Redis.
Closes#17557
Insert notification settings dropdown into groups
## Display notification settings dropdown for groups
part of #3359



See merge request !4857
Fixed search field blur not removing focus
## What does this MR do?
Adds a blur event to remove focus styling from the search input.
Any particular reason we were looking for clicks on the document? I can't see why we would be.
## What are the relevant issue numbers?
Closes#18670
## Screenshots (if relevant)

See merge request !4704
Changes calendar activities to use target reference
## What does this MR do?
Uses the targets reference in the calendar activities list. Previously it was using `#` which is wrong for merge requests.
## Screenshots (if relevant)

See merge request !4992
In #19273, we saw that retrieving ProjectTeam#human_max_access for each
note takes the bulk of the time when rendering certain issues or merge requests.
We observe that most of the comments in an issue are typically done by the
same users. This MR memoizes the max access level by user ID.