Fixed issue with build auto-refresh not working
## What does this MR do?
Due to the `.json` at the end of the build URL fetch, the page wont correctly auto-reload the build log. This fixes that.
See merge request !5110
Hacked in a better message for attachment network error
## What does this MR do?
Adds a better error message for when a user is uploading an attachment and they cannot reach the GitLab instance.
Now displays `Network error. Please check your connection.`.
## Are there points in the code the reviewer needs to double check?
As noted above, I think this is hacky, ideally this would be sent straight from the backend but if not then this should be handled globally?
/cc @fatihacet
## Why was this MR needed?
Attachment upload UX
## What are the relevant issue numbers?
Closes#19161.
## Screenshots (if relevant)
*UPDATED:*

## 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
- [ ] 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)
See merge request !4977
Naive attempt at fixing Underscore templates
## What does this MR do?
Attempts to fix part of #18939.
## Are there points in the code the reviewer needs to double check?
That this doesn't break anything.
## Why was this MR needed?
See #18939.
## What are the relevant issue numbers?
#18939
## Does this MR meet the acceptance criteria?
- Tests
- [ ] Added for this feature/bug
- [ ] All builds are passing
See merge request !4842
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
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
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
Removed fade when filtering results
## What does this MR do?
Removes the `opacity` change when filtering results seeing as we now do `Turbolinks.visit` it isn't required.
Best way to see issue - filter issues & then go back. Will still have opacity styling.
See merge request !4932
Markdown toolbar inserts code blocks
## What does this MR do?
Adds the ability to insert code blocks with the markdown toolbar buttons. This is done by selecting the block & then clicking the code button.
## What are the relevant issue numbers?
Closes#19173
See merge request !4950
Made the search bar on emoji menu sticky
## What does this MR do?
When scrolling down the emoji menu, the search bar disappears. For better UX, the search bar no stays at the top when scrolling.
## Screenshots (if relevant)

See merge request !4743
Re-implement page-specific JS in a better way.
## What does this MR do?
This rebuilds the way we do page-specific JavaScript assets for a few reasons:
- The current implementation does not work with Subresource Integrity (!4808)
- The current implementation doesn't allow caching of libraries because each page we hook up with this system will have a separate application.js. Meaning that for every page that uses Ace Editor, we'd have to load Ace Editor plus any GitLab-specific scripts in the same file, making local caching of just Ace Editor impossible.
- The current implementation is rather hacky.
## Are there points in the code the reviewer needs to double check?
That Sprockets doesn't choke on this when we use precompiled assets.
## What are the relevant issue numbers?
#14372
## 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)
- [x] 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)
- [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)
cc: @jschatz1 @pavelloz
Thanks to @pavelloz for his example implementation which was very useful.
See merge request !4883
Resolve "Scrolling horz on iOS for the secondary nav is broken"
## What does this MR do?
Moves absolutely positioned `div`s outside of the scrolling container because mobile safari causes those elements to jump around on scroll.
## Are there points in the code the reviewer needs to double check?
Check on a real iPhone (was only able to check in iOS simulator)
## Why was this MR needed?
Mobile Safari.
## What are the relevant issue numbers?
Closes#18438
## Screenshots (if relevant)

See merge request !4869
Fix unwanted label unassignment
## What does this MR do?
- When updating the milestone
- [x] Do not remove labels when assigning a milestone
- [x] Do not remove labels when unassigning a milestone
- [x] Do not remove labels when assigning a milestone and adding another label
- When toggling selected issues labels should be kept
- [x] Select an issue with an assigned label -> pick another label from dropdown-> unselect the issue -> select the issue again -> submit the form: Existing label should not be removed.
## Are there points in the code the reviewer needs to double check?
Labels should not be added or removed to issues when doing bulk actions unless we explicitly select a label from the dropdown
## 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)
- [x] 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)
See merge request !4863