Avoid a TypeError when initializing MergeRequest JS class with no arg
## What does this MR do?
Avoid a TypeError when initializing MergeRequest JS class with no arg.
## Are there points in the code the reviewer needs to double check?
No.
## Why was this MR needed?
Without this sane default you would get the following error when you
tried to instantiate a new MergeRequest object with no argument (i.e.
`new MergeRequest();`):
TypeError: undefined is not an object (evaluating 'this.opts.action')
## What are the relevant issue numbers?
Fixes#13525.
## Does this MR meet the acceptance criteria?
- [x] No CHANGELOG since it's a trivial internal change
- [x] Tests
- [x] 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)
See merge request !4667
Fixed issue when opening a highlighted line diff
## What does this MR do?
With the new project nav being fixed, the diff page is scrolling the highlighted under the nav meaning you cant see what is highlighted. This corrects that by added the height of the new project nav into the offset.
See merge request !4597
Replace raphael-rails with raphael.js and split it from the rest of the JS
## What does this MR do?
Removes raphael.js and its related libraries from the default JS bundle.
It also removes raphael-rails because the gem is unmaintained and – for whatever reason – didn't want to cooperate with the way I was trying to require it.
This brings the default (compressed and minified) application.js from 354KB after the d3 MR (!4394) down to 324KB.
## Are there points in the code the reviewer needs to double check?
That tests pass and that there aren't errors on any pages (especially the Network page).
## Why was this MR needed?
It's only used on the Network page and was using way too much bandwidth for just one page.
## What are the relevant issue numbers?
#14372#13165
Follow-up to !4394 and !4516.
cc: @jschatz1
See merge request !4519
Due date can be removed from milestones
## What does this MR do?
Adds a button to milestone form to allow user to remove due date
## What are the relevant issue numbers?
Closes#15063
## Screenshots (if relevant)

See merge request !4428
Add shortcut to copy file content hash link
## What does this MR do?
* Allows for multiple shortcut handlers to be initialised
* Adds `y` shortcut to file pages to copy permalink URL.
## Are there points in the code the reviewer needs to double check?
Ney.
## Why was this MR needed?
UX
## What are the relevant issue numbers?
Closes#14470.
## Screenshots (if relevant)

See merge request !4496
New issue shortcut doesnt work on some pages
## What does this MR do?
1. Slightly tidies dispatcher switch case by utilising 'fall through' cases.
2. Adds shortcuts to project pipelines, milestones, builds and forks pages
## Are there points in the code the reviewer needs to double check?
I have a feeling that these may have been missed out of the case statements on purpose?
## Why was this MR needed?
Possible UX issue highlighted in #17929.
## What are the relevant issue numbers?
Closes#17929.
Closes#12616. (dup)
Closes#18123. (dup)
Closes#13688. (dup)
## Screenshots (if relevant)
See merge request !4393
Fixed issue with bold in issuable sidebar
## What does this MR do?
~~The sidebar contained both normal font weight & bold font weight, so this standardises them to bold.~~
After looking at the designs, i've updated the font weights & colors throughout the sidebar to correctly match them
## Screenshots (if relevant)

See merge request !4398
Improve usability for prioritized labels
## What does this MR do?
- Adds an icon next to prioritized label rows serving as a hint to the user that the labels can be sorted by dragging them.
- Adds description about prioritized labels.
- Restores empty message when removing all prioritized labels.
## Screenshots (if relevant)

Closes#18575
See merge request !4652
Pinned sidebar navigation option
## What does this MR do?
Gives the ability to pin the sidebar navigation. Pinning is only possible on screens with above `lg` which is `1200px` if not it reverts to being hidden by default.
## What are the relevant issue numbers?
Closes#18542
## Screenshots (if relevant)
### Un-pinned

### Pinned

See merge request !4683
Fixed issue with MR buttons being in a group
## What does this MR do?
Fixes design issue with the buttons in the merge request widget
## Screenshots (if relevant)

See merge request !4562
Update project star/unstar tooltip
## What does this MR do?
Fixes project toggle star button tooltip to show actual tooltip for its state.
## Are there points in the code the reviewer needs to double check?
No.
## Why was this MR needed?
- When you star a project tooltip wasn't changing.
- When you star a project and refresh the page, tooltip was still showing `Star Project`
## What are the relevant issue numbers?
Fixes#18143
## Screenshots (if relevant)
### Before

### After

## 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
- [ ] 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)
See merge request !4672
Fix the logo in header not being an anchor link.
## What does this MR do?
Adds an actual link to the Tanuki in the header instead of a `Turbolinks.visit()`.
## Are there points in the code the reviewer needs to double check?
Do we care that this reverts the Safari issue fixed in !2690? I feel bad, but it's hacky and there's not a great way to fix it here.
## Why was this MR needed?
You couldn't open the home page in a new tab before, it was very annoying.
## What are the relevant issue numbers?
Fixes#18604
cc: @rspeicher
See merge request !4661
Without this sane default you would get the following error when you
tried to instantiate a new MergeRequest object with no argument (i.e.
`new MergeRequest();`):
TypeError: undefined is not an object (evaluating 'this.opts.action')
Signed-off-by: Rémy Coutable <remy@rymai.me>
Fix note polling when a window has been hidden
`refresh` was called, `refreshing` was set to true, but then because
`document.hidden` was true, `getContent` was never called, and
`refreshing` never got reset to `false`, which stopped polling entirely
until refresh.
See merge request !4635
Manually create todo for issuable
## What does this MR do?
Adds a button to the sidebar in issues & merge requests to allow users to manually create a todo item themselves.
## What are the relevant issue numbers?
Closes#15045
## Screenshots (if relevant)



See merge request !4502
Aligned the two navs horizontally
## What does this MR do?
Previously the 2 top navs were not aligned horizontally together. The top nav would be slightly to the left due to the settings dropdown. This corrects that by putting `position: absolute` on the dropdown toggle.
## What are the relevant issue numbers?
Closes#18513
## Screenshots (if relevant)

See merge request !4616
`refresh` was called, `refreshing` was set to true, but then because
`document.hidden` was true, `getContent` was never called, and
`refreshing` never got reset to `false`, which stopped polling entirely
until refresh.
Fixes bulk-assign label for multiple issues not having the same labels
## What does this MR do?
Fixes a bug when bulk-assigning a label to multiple issues while the label is present in on the issues on the selection.
## Screenshots (if relevant)
**Before Bugfix**
<img src="/uploads/ad1f290bcf3930177a3a71c69cbe5325/before-bugfix.gif" width="700"/>
**After Bugfix**
<img src="/uploads/1f04d6bf027806fb13ca3773febda744/bugfix.gif" width="700"/>
## Does this MR meet the acceptance criteria?
- [x] Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
See merge request !4602