Fixed JS error when trying to remove discussion form
## What does this MR do?
Fixes a JS error which was caused by an ID of the form not matching what was returned by the JSON. Instead of checking that, it gets the current form from the ajax success event.
This would only happen on outdated discussions because the ID of the discussion form ends with `-false` because it isn't active. However, the note is added to an active discussion so the ID returned actually ends in `-true` & therefore the JS couldn't find the correct form.
## What are the relevant issue numbers?
Closes#17778
See merge request !4303
Fixed issue with button color when no CI enabled
## What does this MR do?
Fixes an issue with the color of the merge button when no CI is setup.
## What are the relevant issue numbers?
Closes#17844
## Screenshots

See merge request !4287
Fixed potential issue with 2 ci status polling events happening
Possible cause for double notifications was if the request was slow & then you changed page whilst this request was happening it would finish on another page & then launch another interval - this stops that issue.
Also passed in the CI status as an option value rather than waiting for the first ajax request to finish
See merge request !3869
Fix concurrent request when updating build log in browser
If you have a slow internet connection the trace will not be updated correctly. We need to check if our request is the latest one.
Fixes: https://gitlab.com/gitlab-org/gitlab-ce/issues/17535
See merge request !4183
Fixed issue with enter key selecting wrong option in dropdown
If you search for a label and press enter the dropdown will select the last element rather than the first. This is because the currentIndex is -1 rather than 0

Closes#17630
See merge request !4210
Fixed issue with merge button color

Closes#17644
See merge request !4211
Added remove due date button
In the sidebar when there is a due date a link to remove due date becomes visible

Closes#17392
See merge request !4209
Update build log incrementally
Proof of concept implementation of incremental sending of build log to browser.
cc @jschatz1 @vsizov @grzesiek @tmaczukin
See merge request !3737
Remove broken inline runner description edit form
This remove inline form for editing runnner's description.
It is broken because of missing partial / incorrect response and it also does not make much sense, since we have under 'Edit' button a form that makes it possible to edit more than just a description.
See merge request !4095
Removes duplicates from the label dropdown
It concats the duplicate labels into a single label in the dropdown with the color being a gradient of the differnet colors being concatted.
I liked your idea @jschatz1 of using a standard icon color. However, with this i've taken all the duplicated colors & made a little gradient with them so it still half resembles the label colors (this has been limited to 4 or it could get crazy!)

Closes#16555, #14820
See merge request !3963
It concats the duplicate labels into a single label in the dropdown with
the color being a gradient of the differnet colors being concatted.
Closes#16555
This button depends on Issue#can_be_worked_on? which in turn depends on
Issue#related_branches. By rendering this button asynchronously we can
finally remove all usages of Issue#related_branches and
Issue#referenced_merge_requests from the issues "show" page.
Add JS prefix to user tab classes
## What does this MR do
This MR adds the `js-` prefix to the classes which are used for js purposes only. This MR only affects the said classes inside `users/show.html.haml`.
## Are there points in the code the reviewer needs to double check?
I'm not entirely sure if this project uses the `js-` prefix for
classes that are used for js purposes only. Doing a grep shows some of the classes have the prefix, but I'm still unsure whether this project follows this rule.
## Why was this MR needed?
As I was working thru #13401, I wanted to add a tab on the user profile page to show the contributions outside the GitLab instance. Reading the JS, I came across this. This MR helps new people reading the code that the said classes are for js purposes only. Also, it helps the project work toward to uniform class naming.
I suggest that we document adding the `js-` prefix to classes for js purposes only (if this is the case for this project)
See merge request !3928
I'm not entirely sure if this project uses the `js-` prefix for
classes that are for js purposes only. But as I was working on a
feature, I noticed that these classes were those kind of classes.
Fixes issue with emoji comments not showing correct emoji image
Previously it would look for the unicode character inside the award menu. But this menu might not always be there.
Now, the unicode characters are loaded onto the page in an array which the award emoji that looks in to get the correct emoji unicode character
Fixes#15512
See merge request !3885
Add new shortcuts
Closes#14904
- On a project: `i` To navigate to New Issue page.
- On a issuable: `l` To open Label dropdown on a issuable.
- Global: Typing `?` multiple times now toggles the modal.
See merge request !3686
Previously it would look for the unicode character inside the award menu. But this menu might not always be there.
Now, the unicode characters are loaded onto the page in an array which the award emoji that looks in to get the correct emoji unicode character
Fixes#15512