gitlab-org--gitlab-foss/app
Fatih Acet 74c0e75866 Merge branch 'itchy-trigger-finger-on-issues-search' into 'master'
Make issues search less finicky

## What does this MR do?

1. Tracks issues search pristine-ness, to ignore non-mutating keyups.
2. Increase debounce wait on issues search execution from 500ms to 1000ms.
3. Ensures issues search retains focus after search execution

Note: Issues search is being overhauled (https://gitlab.com/gitlab-org/gitlab-ce/issues/21747), so most (if not all) of these changes will no longer be used. But given that the overhaul has been pushed back a release (8.14?), it makes sense to do some quick fixes to improve UX in the meantime.

## Are there points in the code the reviewer needs to double check?

Will adding autofocus to the search input create unforeseen problems?

## Why was this MR needed?

- At the moment, issues search is run on any keyup, even if search terms remain the same. This is an oversight that is both a tax on servers and an annoyance to users. 

- Searches are executed pretty quickly after a gap in keyups. It's too fast according to internal and enterprise customer feedback.

- Focus is lost when a search is conducted, so you have to either tab to (any sane person would not do this, given our tab order) or reach for the mouse and select the input again. 

These are all pretty heavily complained about issues that are, to quote community users, "rage-inducing" and "major accessibility issue[s]".

## 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] All builds are passing
- [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html)
- [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)

## What are the relevant issue numbers?

https://gitlab.com/gitlab-org/gitlab-ce/issues/21503
https://gitlab.com/gitlab-org/gitlab-ce/issues/21984
https://gitlab.com/gitlab-org/gitlab-ce/issues/21597

See merge request !6735
2016-10-25 18:34:52 +00:00
..
assets Merge branch 'itchy-trigger-finger-on-issues-search' into 'master' 2016-10-25 18:34:52 +00:00
controllers Merge branch 'security-fix-leaking-namespace-name' into 'security' 2016-10-24 15:49:05 +02:00
finders Merge branch 'sh-optimize-label-finder' into 'master' 2016-10-25 15:55:59 +00:00
helpers Stop unauthized users dragging on issue boards 2016-10-25 12:57:56 +01:00
mailers
models Merge branch 'show-commit-status-from-source-project' into 'master' 2016-10-25 10:57:51 +00:00
policies
services Merge branch 'barthc/gitlab-ce-prevent_authored_vote_from_notes' 2016-10-24 15:25:37 +02:00
uploaders
validators
views Merge branch 'show-commit-status-from-source-project' into 'master' 2016-10-25 10:57:51 +00:00
workers Don't schedule ProjectCacheWorker unless needed 2016-10-25 16:02:36 +02:00