Skip to content

Issue triage and priority

Jonathan Allard edited this page Apr 1, 2016 · 6 revisions

Selectize is maintained by volunteers and has a large amount of requests to handle. Here is how we can make it easier to manage.

Voting

We're going to start taking into account "positive reactions" (+1s that are the Github feature, not the comment) to assess need/support on issues and PRs. You can add your reactions to help us figure out the priority in which to processs the requests.

Priority

Issues and pull requests are treated in order of priority. It is assessed according to the following factors:

PR

  • (PR) Has tests?: [has tests], [drafting tests], (default) no tests
  • Complexity: [trivial], (default) medium, [complex]

To sum up, the perfect PR:

  • Has tests, and they pass
  • Has been tested and confirmed by someone else
  • Doesn't add options or expand scope without need
  • Has clear one-action commit(s), and is cleanly mergeable

Issues

  • Actionability: [code proposed], [cause known], [cause unknown], [question]

Pull requests are easiest to process, while cause-unknown issues and questions most difficult.

An issue can progress from cause unknown, to cause known after debugging, to a code snippet proposed, to a full-fledged PR.

  • Reproduceability: [failing test provided], [reproduction given], [no reproduction], [issue not understood]

To be able to fix the bug, we need to be able to reproduce it consistently. At best, the reporter will provide a test that shows Selectize to fail (we can then add the test with a fix to the code base).

A clear process to reproduce the issue is also good, under the form of an online demo (eg a Jsfiddle or Codepen) and steps to reproduce the issue. At worst, there will be no easy process given to reproduce the bug, or we won't even be able to understand what's the issue.

  • Brokkenness: [regression], [bug], [enhancement]
  • Scope: [refactor], (default) no change, [expands scope] (such as adding an option)
  • Support: [consensus], (default) no wide consensus yet, [needs thought]
  • Component: [dropdown], [input component], [documentation]

Triage

Triage is what allows us to assess the priority of a requests and thus to process the most important first. You can help with the triage and suggest tags by commenting with tags in bracket (eg. [has-tests][enhancement]). That will make the work of maintainers easier to triage and add the right tags.

Clone this wiki locally